X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=video.rst;h=c41099d6e8aa2db0f4eb38d621acf35dae0c807a;hb=8e3c22eaf1cc06eaedaa7442d67c59dc1ad0e0ca;hp=cdef8f194674cc3343258fe2cd95ca5e73eed7b7;hpb=13db96a6eb86f974daa621580ee1779a728e61af;p=nageru-docs diff --git a/video.rst b/video.rst index cdef8f1..c41099d 100644 --- a/video.rst +++ b/video.rst @@ -61,11 +61,37 @@ moving the new file atomically into place, you could end up corrupting the file Nageru is playing from, causing it to automatically rewind before the end of the segment. +Videos are assigned an arbitrary signal number when loaded. Whenever you need +to refer to this signal number (say, to get its width or height for display), +you should use *video:get_signal_num()*. Like any other signal, videos have +a width and height, an interlaced flag (currently always false), a frame rate +(which can vary during playback) and has_signal/is_connected member functions. +The former is always true, but the former will be false if the video isn't +currently playing for whatever reason (e.g., the file is corrupted, or a network +stream is broken and hasn't reconnected yet). + Controlling video playback -------------------------- -TODO +Themes have some programmatic control over video playback. In particular, +if you want to make a video start from the beginning, you can do:: + + video:rewind() + +which will instantly make it start from the first frame again. This can be +useful if you e.g. want the video to start when you're switching to it, +or if you're not really using it to loop (e.g. as a transition marker). + +You can also change its rate, e.g. by:: + + video:change_rate(2.0) + +This will make it play at twice its usual speed. Your rate should not be +negative nor exactly zero. You can set a rate to e.g. 1e-6 if you want to +in practice stop the video; once you change it back to normal speed, +the next frame will resume playing. + Integration with CasparCG -------------------------