The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

video-bookmarks - Wrapper script for passing seek offsets to video-players

SYNOPSIS

  video-bookmarks [options] video-file

DESCRIPTIONS

This script assumes that you are familiar with the proposed "video-bookmarks notation standard", which enables you to attach annotations or descriptions at specific timecode offsets to a video file; in its filename, stored in extended file attributes or in generic metadata facilities. This script assumes you want to start playback at these markers, thus parses attached timecode offsets and presents a list selection GUI widget (via zenity) to the user. Upon click, it starts a video-player with an adequate seek command.

The script is best used via a file-manager like Nautilus, where you can define user actions to be fired on right-click. This way you can trigger the video-bookmarks script on any media file as a wrapper, prior to playback for example.

Please read the attached README file for an explanation of the syntax, basic assumptions and storage of video-bookmarks.

This script is considered a demo or even a bridging script that will become obsolete (fingers crossed) once video-players adopt the proposed video-bookmarks standard or similar means to attach seek hints to video-files.

OPTIONS

--player

Optional. Tell video-bookmarks which video-player should be used for playback. Defaults to mplayer. Other values: avplay (working), smplayer (not working).

--play-sole-one

Flag. Optional. If there's only one video-bookmark found on a file, this one is played back without prompting the user for a selection. The select/or-cancel dialog will return after exiting the player the first time.

--once

Flag. Optional. Tell video-bookmarks to cycle only once through "select bookmark and play video", then exits.

--set-interactive

Flag. Optional. Enter an interactive editing mode: the script will prompt you to enter a timecode and a description and will then set a video-bookmark on the given file. One bookmark at a time. If you want to set more than one video bookmark as a batch, use --edit.

--set-from-file

Optional. The script will read timecodes and descriptions from a text file where each line containing a timecode in the form 00:00:00 will be treated as a time offset and all text on this line will end up as description. Extracted video-bookmarks will then be set on the given file.

--edit

Flag. Optional. Works for bookmarks from/in xattr only. Edits are done in shell mode, non GUI. The script will dump currently set bookmarks from extended attributes into a temporary text file (or create an empty file) and then opens nano for the user to set, edit and/or delete bookmarks. After exiting the editor, the script will parse the edited text blob and set video bookmarks accordingly.

--help, -h

Flag. Print usage info.

DEPENDENCIES

This script relies on Zenity for GUI dialogs and plays files with media players typically found on *nix.

AUTHOR

Clipland GmbH http://www.clipland.com/

COPYRIGHT & LICENSE

Copyright 2015-2017 Clipland GmbH. All rights reserved.

This script is free software, dual-licensed under GPLv3/AL2. You can redistribute it and/or modify it under the same terms as Perl itself.