Feature Request: Linear timecode input and output
Feature Request:
- Input: Advene should take a linear timecode as input and forcefully synchronice the video playback to it in realtime.
- Output: Advene should output the videos current playback timecode as linear timecode on a separate audio device.
Background: I just started tinkering with Advene. As warning: I'm greatly misusing the software for different purposes, but so far it is the best solution I've found.
So I'm a lighting technician and use Advene to go through videos that will be played live on stage and add annotations for light scenes to it. The timeline is a great visual tool to help me know at which point the current running live show is and what kind of ques or manual trigger come up next.
I can imagine that such a feature could be useful in other applications as well, when synchronization with other tools in required.
There are no misuses of the software, just unanticipated uses, and I am very interested in them. Your requests are actually very doable in Advene:
- for the time input, the time source it the main video player. In addition to the gstreamer player component, there are 2 other available video players, which can be selected through Player/Select Player (or -p option). One is
gstrecorderwhich actually records a video instead of playing it, this allows live annotation of live video stream. The other one isdummywhich is just a time source (used for debugging or just checking things). You can use the latter (https://github.com/oaubert/advene/blob/master/lib/advene/player/dummy.py) as a reference to use a different time source, providing no real video output, and then using additional video players (controlled by the main source, see http://advene.org/screencasts.html#use-multiple-video-players-100 ) to display the video. - outputting the timecode on a separate audio device could not be done constantly, you need to have some sort of segmentation. Using Advene dynamic views, you can create a view that is triggered at the beginning of every annotation and pronounce the annotation begin timecode (with the expression
${annotation/fragment/formatted/begin}