| @@ -258,6 +258,90 @@ each of the YUV420P components. To read or write this image file format, | |||
| specify the name of the '.Y' file. The muxer will automatically open the | |||
| '.U' and '.V' files as required. | |||
| @section matroska | |||
| Matroska container muxer. | |||
| This muxer implements the matroska and webm container specs. | |||
| The recognized metadata settings in this muxer are: | |||
| @table @option | |||
| @item title=@var{title name} | |||
| Name provided to a single track | |||
| @end table | |||
| @table @option | |||
| @item language=@var{language name} | |||
| Specifies the language of the track in the Matroska languages form | |||
| @end table | |||
| @table @option | |||
| @item stereo_mode=@var{mode} | |||
| Stereo 3D video layout of two views in a single video track | |||
| @table @option | |||
| @item mono | |||
| video is not stereo | |||
| @item left_right | |||
| Both views are arranged side by side, Left-eye view is on the left | |||
| @item bottom_top | |||
| Both views are arranged in top-bottom orientation, Left-eye view is at bottom | |||
| @item top_bottom | |||
| Both views are arranged in top-bottom orientation, Left-eye view is on top | |||
| @item checkerboard_rl | |||
| Each view is arranged in a checkerboard interleaved pattern, Left-eye view being first | |||
| @item checkerboard_lr | |||
| Each view is arranged in a checkerboard interleaved pattern, Right-eye view being first | |||
| @item row_interleaved_rl | |||
| Each view is constituted by a row based interleaving, Right-eye view is first row | |||
| @item row_interleaved_lr | |||
| Each view is constituted by a row based interleaving, Left-eye view is first row | |||
| @item col_interleaved_rl | |||
| Both views are arranged in a column based interleaving manner, Right-eye view is first column | |||
| @item col_interleaved_lr | |||
| Both views are arranged in a column based interleaving manner, Left-eye view is first column | |||
| @item anaglyph_cyan_red | |||
| All frames are in anaglyph format viewable through red-cyan filters | |||
| @item right_left | |||
| Both views are arranged side by side, Right-eye view is on the left | |||
| @item anaglyph_green_magenta | |||
| All frames are in anaglyph format viewable through green-magenta filters | |||
| @item block_lr | |||
| Both eyes laced in one Block, Left-eye view is first | |||
| @item block_rl | |||
| Both eyes laced in one Block, Right-eye view is first | |||
| @end table | |||
| @end table | |||
| For example a 3D WebM clip can be created using the following command line: | |||
| @example | |||
| ffmpeg -i sample_left_right_clip.mpg -an -c:v libvpx -metadata stereo_mode=left_right -y stereo_clip.webm | |||
| @end example | |||
| This muxer supports the following options: | |||
| @table @option | |||
| @item reserve_index_space | |||
| By default, this muxer writes the index for seeking (called cues in Matroska | |||
| terms) at the end of the file, because it cannot know in advance how much space | |||
| to leave for the index at the beginning of the file. However for some use cases | |||
| -- e.g. streaming where seeking is possible but slow -- it is useful to put the | |||
| index at the beginning of the file. | |||
| If this option is set to a non-zero value, the muxer will reserve a given amount | |||
| of space in the file header and then try to write the cues there when the muxing | |||
| finishes. If the available space does not suffice, muxing will fail. A safe size | |||
| for most use cases should be about 50kB per hour of video. | |||
| Note that cues are only written if the output is seekable and this option will | |||
| have no effect if it is not. | |||
| @end table | |||
| @anchor{md5} | |||
| @section md5 | |||
| @@ -363,6 +447,42 @@ point on IIS with this muxer. Example: | |||
| ffmpeg -re @var{<normal input/transcoding options>} -movflags isml+frag_keyframe -f ismv http://server/publishingpoint.isml/Streams(Encoder1) | |||
| @end example | |||
| @section mp3 | |||
| The MP3 muxer writes a raw MP3 stream with an ID3v2 header at the beginning and | |||
| optionally an ID3v1 tag at the end. ID3v2.3 and ID3v2.4 are supported, the | |||
| @code{id3v2_version} option controls which one is used. The legacy ID3v1 tag is | |||
| not written by default, but may be enabled with the @code{write_id3v1} option. | |||
| For seekable output the muxer also writes a Xing frame at the beginning, which | |||
| contains the number of frames in the file. It is useful for computing duration | |||
| of VBR files. | |||
| The muxer supports writing ID3v2 attached pictures (APIC frames). The pictures | |||
| are supplied to the muxer in form of a video stream with a single packet. There | |||
| can be any number of those streams, each will correspond to a single APIC frame. | |||
| The stream metadata tags @var{title} and @var{comment} map to APIC | |||
| @var{description} and @var{picture type} respectively. See | |||
| @url{http://id3.org/id3v2.4.0-frames} for allowed picture types. | |||
| Note that the APIC frames must be written at the beginning, so the muxer will | |||
| buffer the audio frames until it gets all the pictures. It is therefore advised | |||
| to provide the pictures as soon as possible to avoid excessive buffering. | |||
| Examples: | |||
| Write an mp3 with an ID3v2.3 header and an ID3v1 footer: | |||
| @example | |||
| ffmpeg -i INPUT -id3v2_version 3 -write_id3v1 1 out.mp3 | |||
| @end example | |||
| To attach a picture to an mp3 file select both the audio and the picture stream | |||
| with @code{map}: | |||
| @example | |||
| ffmpeg -i input.mp3 -i cover.png -c copy -map 0 -map 1 | |||
| -metadata:s:v title="Album cover" -metadata:s:v comment="Cover (Front)" out.mp3 | |||
| @end example | |||
| @section mpegts | |||
| MPEG transport stream muxer. | |||
| @@ -426,88 +546,19 @@ Alternatively you can write the command as: | |||
| ffmpeg -benchmark -i INPUT -f null - | |||
| @end example | |||
| @section matroska | |||
| Matroska container muxer. | |||
| This muxer implements the matroska and webm container specs. | |||
| The recognized metadata settings in this muxer are: | |||
| @table @option | |||
| @item title=@var{title name} | |||
| Name provided to a single track | |||
| @end table | |||
| @table @option | |||
| @item language=@var{language name} | |||
| Specifies the language of the track in the Matroska languages form | |||
| @end table | |||
| @table @option | |||
| @item stereo_mode=@var{mode} | |||
| Stereo 3D video layout of two views in a single video track | |||
| @table @option | |||
| @item mono | |||
| video is not stereo | |||
| @item left_right | |||
| Both views are arranged side by side, Left-eye view is on the left | |||
| @item bottom_top | |||
| Both views are arranged in top-bottom orientation, Left-eye view is at bottom | |||
| @item top_bottom | |||
| Both views are arranged in top-bottom orientation, Left-eye view is on top | |||
| @item checkerboard_rl | |||
| Each view is arranged in a checkerboard interleaved pattern, Left-eye view being first | |||
| @item checkerboard_lr | |||
| Each view is arranged in a checkerboard interleaved pattern, Right-eye view being first | |||
| @item row_interleaved_rl | |||
| Each view is constituted by a row based interleaving, Right-eye view is first row | |||
| @item row_interleaved_lr | |||
| Each view is constituted by a row based interleaving, Left-eye view is first row | |||
| @item col_interleaved_rl | |||
| Both views are arranged in a column based interleaving manner, Right-eye view is first column | |||
| @item col_interleaved_lr | |||
| Both views are arranged in a column based interleaving manner, Left-eye view is first column | |||
| @item anaglyph_cyan_red | |||
| All frames are in anaglyph format viewable through red-cyan filters | |||
| @item right_left | |||
| Both views are arranged side by side, Right-eye view is on the left | |||
| @item anaglyph_green_magenta | |||
| All frames are in anaglyph format viewable through green-magenta filters | |||
| @item block_lr | |||
| Both eyes laced in one Block, Left-eye view is first | |||
| @item block_rl | |||
| Both eyes laced in one Block, Right-eye view is first | |||
| @end table | |||
| @end table | |||
| For example a 3D WebM clip can be created using the following command line: | |||
| @example | |||
| ffmpeg -i sample_left_right_clip.mpg -an -c:v libvpx -metadata stereo_mode=left_right -y stereo_clip.webm | |||
| @end example | |||
| @section ogg | |||
| This muxer supports the following options: | |||
| Ogg container muxer. | |||
| @table @option | |||
| @item reserve_index_space | |||
| By default, this muxer writes the index for seeking (called cues in Matroska | |||
| terms) at the end of the file, because it cannot know in advance how much space | |||
| to leave for the index at the beginning of the file. However for some use cases | |||
| index at the beginning of the file. | |||
| If this option is set to a non-zero value, the muxer will reserve a given amount | |||
| of space in the file header and then try to write the cues there when the muxing | |||
| finishes. If the available space does not suffice, muxing will fail. A safe size | |||
| for most use cases should be about 50kB per hour of video. | |||
| Note that cues are only written if the output is seekable and this option will | |||
| have no effect if it is not. | |||
| @item -page_duration @var{duration} | |||
| Preferred page duration, in microseconds. The muxer will attempt to create | |||
| pages that are approximately @var{duration} microseconds long. This allows the | |||
| user to compromise between seek granularity and container overhead. The default | |||
| is 1 second. A value of 0 will fill all segments, making pages as large as | |||
| possible. A value of 1 will effectively use 1 packet-per-page in most | |||
| situations, giving a small seek granularity at the cost of additional container | |||
| overhead. | |||
| @end table | |||
| @section segment, stream_segment, ssegment | |||
| @@ -728,57 +779,6 @@ ffmpeg -re -i in.mkv -codec copy -map 0 -f segment -segment_list playlist.m3u8 \ | |||
| @end example | |||
| @end itemize | |||
| @section mp3 | |||
| The MP3 muxer writes a raw MP3 stream with an ID3v2 header at the beginning and | |||
| optionally an ID3v1 tag at the end. ID3v2.3 and ID3v2.4 are supported, the | |||
| @code{id3v2_version} option controls which one is used. The legacy ID3v1 tag is | |||
| not written by default, but may be enabled with the @code{write_id3v1} option. | |||
| For seekable output the muxer also writes a Xing frame at the beginning, which | |||
| contains the number of frames in the file. It is useful for computing duration | |||
| of VBR files. | |||
| The muxer supports writing ID3v2 attached pictures (APIC frames). The pictures | |||
| are supplied to the muxer in form of a video stream with a single packet. There | |||
| can be any number of those streams, each will correspond to a single APIC frame. | |||
| The stream metadata tags @var{title} and @var{comment} map to APIC | |||
| @var{description} and @var{picture type} respectively. See | |||
| @url{http://id3.org/id3v2.4.0-frames} for allowed picture types. | |||
| Note that the APIC frames must be written at the beginning, so the muxer will | |||
| buffer the audio frames until it gets all the pictures. It is therefore advised | |||
| to provide the pictures as soon as possible to avoid excessive buffering. | |||
| Examples: | |||
| Write an mp3 with an ID3v2.3 header and an ID3v1 footer: | |||
| @example | |||
| ffmpeg -i INPUT -id3v2_version 3 -write_id3v1 1 out.mp3 | |||
| @end example | |||
| To attach a picture to an mp3 file select both the audio and the picture stream | |||
| with @code{map}: | |||
| @example | |||
| ffmpeg -i input.mp3 -i cover.png -c copy -map 0 -map 1 | |||
| -metadata:s:v title="Album cover" -metadata:s:v comment="Cover (Front)" out.mp3 | |||
| @end example | |||
| @section ogg | |||
| Ogg container muxer. | |||
| @table @option | |||
| @item -page_duration @var{duration} | |||
| Preferred page duration, in microseconds. The muxer will attempt to create | |||
| pages that are approximately @var{duration} microseconds long. This allows the | |||
| user to compromise between seek granularity and container overhead. The default | |||
| is 1 second. A value of 0 will fill all segments, making pages as large as | |||
| possible. A value of 1 will effectively use 1 packet-per-page in most | |||
| situations, giving a small seek granularity at the cost of additional container | |||
| overhead. | |||
| @end table | |||
| @section tee | |||
| The tee muxer can be used to write the same data to several files or any | |||