X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=video.rst;h=ed565f8d746b6ff82bbf17527e391d39073c56ba;hb=f2fb154081bf8d73aa8b750132fb17ba0fda12a9;hp=d42fce3dfc13404d5e4a237712a4cffd3a616b01;hpb=ccd1fe6b09e618e1c3c9d69068f5212c2b72a432;p=nageru-docs diff --git a/video.rst b/video.rst index d42fce3..ed565f8 100644 --- a/video.rst +++ b/video.rst @@ -9,10 +9,14 @@ flexible and can be used also for other things. Before reading trying to use video inputs, you should read and understand how themes work in general (see :doc:`theme`). Video inputs are available from -Nageru 1.6.0 onwards. There is currently no support for audio from video inputs; -all videos are silent. (This may change in the future.) If a file contains -multiple video streams, like different angles or resolutions, only the first -will be used. +Nageru 1.6.0 onwards, and from Nageru 1.7.2, you can get audio from video inputs +like any other input. (Be advised, though, that making a general video player +that can maintain A/V sync on all kinds of video files is a hard problem, +so there may still be bugs in this support.) + +If a file contains multiple video streams, like different +angles or resolutions, only the first will be used. Similarly, only the first +audio stream is used, and it's always converted to 48 kHz stereo. Basic video inputs @@ -88,14 +92,24 @@ 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. Be aware that once you've set a rate, the player -will wait for the next frame before considering any other commands, -so if you set your rate to e.g. 0.001 to nearly stop it, you will indeed -need to wait 16.67 seconds (assuming 60 fps video) before you can speed it -up again. This restriction may be lifted in the future. +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. Be aware that changing the rate may +make the audio behave unpredictably; there are no attempts to do time +stretching or change the pitch accordingly. + +Finally, if you want to forcibly abort the playing of a video, +even one that is blocking on I/O, you can use (since Nageru 1.7.2):: + + video:disconnect() + +This is particularly useful when dealing with network streams, as FFmpeg does not +always properly detect if the connection has been lost. See :ref:`menus` +for a way to expose such functionality to the operator. Integration with CasparCG ------------------------- -TODO +This section has been removed, as since 1.7.0, Nageru has :doc:`native support for HTML5 inputs `, +obsoleting CasparCG integration.