X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=video.rst;h=40dfd5ad102e6f63cffbd00c1cb965bb1a040eab;hb=HEAD;hp=ee2c1b59a85f73e7d66153fe7cde8443a984ce30;hpb=cc4c801be4c5a44d3639261a0f16b8b2c2786c14;p=nageru-docs diff --git a/video.rst b/video.rst index ee2c1b5..40dfd5a 100644 --- a/video.rst +++ b/video.rst @@ -8,8 +8,7 @@ they also carry video). The most obvious example would be a video file on disk 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, and from Nageru 1.7.2, you can get audio from video inputs +themes work in general (see :doc:`theme`). 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.) @@ -26,7 +25,9 @@ Adding video to an existing chain happens in two phases; first, the video must be *loaded*, giving it an identifier, and then that video can be used as inputs in a chain, much like :ref:`images ` or regular live inputs. Anything FFmpeg accepts, including network streams, can be used (probably even -V4L input cards, although this is untested). +V4L input cards, although this is untested). Video hardware acceleration is used +if available, although the decoded data currently takes a round trip through +the GPU. When loading a video, you need to decide what format to use; Y'CbCr or BGRA. (Whatever you choose, if you get a mismatch with what the video actually is in, @@ -49,8 +50,6 @@ It can then be display on an input like usual:: input:display(video) Note that interlaced video is currently not supported, not even with deinterlacing. -(Before Nageru 1.9.0, video inputs were distinct from live inputs, and had to -be created differently, but this is no longer the case.) Videos run in the correct frame rate and on their own timer (generally the system clock in the computer), and loop when they get to the end or whenever an @@ -94,7 +93,7 @@ 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):: +even one that is blocking on I/O, you can use:: video:disconnect() @@ -107,8 +106,7 @@ for a way to expose such functionality to the operator. Ingesting subtitles ------------------- -Video streams can contain separate subtitle tracks. Since Nageru 1.8.1, -you can read these streams. This is particularly useful when using Nageru +Video streams can contain separate subtitle tracks. This is particularly useful when using Nageru and Futatabi together (see :ref:`talkback`). To get the last subtitle given before the current video frame, call @@ -118,10 +116,3 @@ a subtitle, or else the raw subtitle. Note that if the video frame and the subtitle occur on the exact same timestamp, and the video frame is muxed before the subtitle packet, the subtitle will not make it in time. (Futatabi puts the subtitle slightly ahead of the video frame to avoid this.) - - -Integration with CasparCG -------------------------- - -This section has been removed, as since 1.7.0, Nageru has :doc:`native support for HTML5 inputs `, -obsoleting CasparCG integration.