diff --git a/Documentation/source/plugins/fr.inria.openfx.WriteFFmpeg.rst b/Documentation/source/plugins/fr.inria.openfx.WriteFFmpeg.rst index 7f464edebd..0e2176fe07 100644 --- a/Documentation/source/plugins/fr.inria.openfx.WriteFFmpeg.rst +++ b/Documentation/source/plugins/fr.inria.openfx.WriteFFmpeg.rst @@ -42,6 +42,8 @@ To write videos intended for distribution (as media files or for streaming), the If the output video should be encoded with specific FFmpeg options, such as a given pixel format or encoding option, it is better to write the output as individual frames in an image format that has a sufficient bit depth, and to encode the set of individual frames to a video using the command-line ffmpeg tool. +The settings for the "Global Quality" and "Quality" parameters may have different meanings for different codecs. See http://slhck.info/video/2017/02/24/vbr-settings.html for a summary of recommended values. Using these settings should be preferred over constant bitrate-based encoding, as it usually gives a much better result. + Adding audio If synchronized audio is available as a separate file, encoded with the right codec, it can be easily added to the video using a command like: ffmpeg -i input.mp4 -i input.mp3 -c copy -map 0:0 -map 1:0 output.mp4 (in this example, input.mp4 contains the video, input.mp3 contains the audio, and output.mp4 co,ntains both tracks). @@ -209,7 +211,7 @@ Controls | Last Frame / ``lastFrame`` | Integer | 0 |   | +--------------------------------------------------+-----------+--------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Container / ``format`` | Choice | guess from filename | | Output format/container. | -| | | | | **AVI (Audio Video Interleaved) [avi]**: Compatible with ayuv, cinepak, ffv1, ffvhuff, flv, huffyuv, jpeg2000, jpegls, ljpeg, mjpeg, mpeg2video, mpeg4, msmpeg4v2, msmpeg4, png, svq1, targa, v308, v408, v410, vc2, libopenjpeg, libschroedinger, libtheora, libvpx, libvpx-vp9, libx264, libx264rgb, libxvid. | +| | | | | **AVI (Audio Video Interleaved) [avi]**: Compatible with ayuv, cinepak, ffv1, ffvhuff, flv, h263p, huffyuv, jpeg2000, jpegls, ljpeg, mjpeg, mpeg2video, mpeg4, msmpeg4v2, msmpeg4, png, svq1, targa, v308, v408, v410, vc2, libopenjpeg, libschroedinger, libtheora, libvpx, libvpx-vp9, libx264, libx264rgb, libxvid. | | | | | | **FLV (Flash Video) [flv]**: Compatible with flv, mpeg4, libx264, libx264rgb, libxvid. | | | | | | **Matroska [matroska]**: Compatible with prores\_ksap4h, prores\_ksapch, prores\_ksapcn, prores\_ksapcs, prores\_ksapco, mjpeg, mpeg2video, mpeg4, msmpeg4, vc2, libschroedinger, libtheora, libvpx, libvpx-vp9, libx264, libx264rgb, libx265, libxvid. | | | | | | **QuickTime / MOV [mov]**: Compatible with prores\_ksap4h, prores\_ksapch, prores\_ksapcn, prores\_ksapcs, prores\_ksapco, avrp, cinepak, dnxhd, jpeg2000, mjpeg, mpeg2video, mpeg4, msmpeg4, png, qtrle, svq1, targa, tiff, v308, v408, v410, vc2, libopenjpeg, libschroedinger, libvpx-vp9, libx264, libx264rgb, libx265, libxvid. | @@ -235,6 +237,7 @@ Controls | | | | | **FFV1 FFmpeg video codec #1 [ffv1]**: Compatible with avi. | | | | | | **FFVH Huffyuv FFmpeg variant [ffvhuff]**: Compatible with avi. | | | | | | **FLV1 FLV / Sorenson Spark / Sorenson H.263 (Flash Video) [flv]**: Compatible with avi, flv. | +| | | | | **H263 H.263+ / H.263-1998 / H.263 version 2 [h263p]**: Compatible with avi. | | | | | | **HFYU HuffYUV [huffyuv]**: Compatible with avi. | | | | | | **mjp2 JPEG 2000 [jpeg2000]**: Compatible with avi, mov, mp4. | | | | | | **MJLS JPEG-LS [jpegls]**: Compatible with avi. | @@ -316,10 +319,10 @@ Controls | | | | | **Ultra Fast**: Fast encoding, but larger file size. | | | | | | **Very Slow**: Slow encoding, but smaller file size. | +--------------------------------------------------+-----------+--------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| Global Quality / ``qscale`` | Double | -1 | | For lossy encoding, this controls image quality, from 0 to 100. For lossless encoding, this controls the effort and time spent at compressing more. -1 or negative value means to use the codec default or CBR (constant bit rate). Used for example by FLV1, mjp2, theo, jpeg, m2v1, mp4v MP42, 3IVD, codecs. | +| Global Quality / ``qscale`` | Double | -1 | | For lossy encoding, this controls image quality, from 0 to 100 (the lower, the better, 0 being near-lossless). For lossless encoding, this controls the effort and time spent at compressing more. -1 or negative value means to use the codec default or CBR (constant bit rate). Used for example by FLV1, mjp2, theo, jpeg, m2v1, mp4v MP42, 3IVD, codecs. | | | | | | Option -qscale in ffmpeg. | +--------------------------------------------------+-----------+--------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| Quality / ``quality`` | Integer | min: -1 max: -1 | | The quality range the codec is allowed to vary the image data quantiser between to attempt to hit the desired bitrate. Higher values mean increased image degradation is possible, but with the upside of lower bit rates. Only supported by certain codecs (e.g. VP80, VP90, avc1, but not hev1 or mp4v). | +| Quality / ``quality`` | Integer | min: -1 max: -1 | | The quality range the codec is allowed to vary the image data quantiser between to attempt to hit the desired bitrate. The lower, the better: higher values mean increased image degradation is possible, but with the upside of lower bit rates. Only supported by certain codecs (e.g. VP80, VP90, avc1, but not hev1 or mp4v). | | | | | | -1 means to use the codec default. | | | | | | Options -qmin and -qmax in ffmpeg. | +--------------------------------------------------+-----------+--------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+