|
|
|
@@ -36,21 +36,26 @@ file. Therefore, order is important, and you can have the same |
|
|
|
option on the command line multiple times. Each occurrence is |
|
|
|
then applied to the next input or output file. |
|
|
|
|
|
|
|
* To set the video bitrate of the output file to 64kbit/s: |
|
|
|
@itemize |
|
|
|
@item |
|
|
|
To set the video bitrate of the output file to 64kbit/s: |
|
|
|
@example |
|
|
|
ffmpeg -i input.avi -b 64k output.avi |
|
|
|
@end example |
|
|
|
|
|
|
|
* To force the frame rate of the output file to 24 fps: |
|
|
|
@item |
|
|
|
To force the frame rate of the output file to 24 fps: |
|
|
|
@example |
|
|
|
ffmpeg -i input.avi -r 24 output.avi |
|
|
|
@end example |
|
|
|
|
|
|
|
* To force the frame rate of the input file (valid for raw formats only) |
|
|
|
@item |
|
|
|
To force the frame rate of the input file (valid for raw formats only) |
|
|
|
to 1 fps and the frame rate of the output file to 24 fps: |
|
|
|
@example |
|
|
|
ffmpeg -r 1 -i input.m2v -r 24 output.avi |
|
|
|
@end example |
|
|
|
@end itemize |
|
|
|
|
|
|
|
The format option may be needed for raw input files. |
|
|
|
|
|
|
|
@@ -835,11 +840,12 @@ variable. 10 is the x-offset and 20 the y-offset for the grabbing. |
|
|
|
|
|
|
|
@section Video and Audio file format conversion |
|
|
|
|
|
|
|
* FFmpeg can use any supported file format and protocol as input: |
|
|
|
FFmpeg can use any supported file format and protocol as input: |
|
|
|
|
|
|
|
Examples: |
|
|
|
|
|
|
|
* You can use YUV files as input: |
|
|
|
@itemize |
|
|
|
@item |
|
|
|
You can use YUV files as input: |
|
|
|
|
|
|
|
@example |
|
|
|
ffmpeg -i /tmp/test%d.Y /tmp/out.mpg |
|
|
|
@@ -856,7 +862,8 @@ raw files, without header. They can be generated by all decent video |
|
|
|
decoders. You must specify the size of the image with the @option{-s} option |
|
|
|
if FFmpeg cannot guess it. |
|
|
|
|
|
|
|
* You can input from a raw YUV420P file: |
|
|
|
@item |
|
|
|
You can input from a raw YUV420P file: |
|
|
|
|
|
|
|
@example |
|
|
|
ffmpeg -i /tmp/test.yuv /tmp/out.avi |
|
|
|
@@ -866,13 +873,15 @@ test.yuv is a file containing raw YUV planar data. Each frame is composed |
|
|
|
of the Y plane followed by the U and V planes at half vertical and |
|
|
|
horizontal resolution. |
|
|
|
|
|
|
|
* You can output to a raw YUV420P file: |
|
|
|
@item |
|
|
|
You can output to a raw YUV420P file: |
|
|
|
|
|
|
|
@example |
|
|
|
ffmpeg -i mydivx.avi hugefile.yuv |
|
|
|
@end example |
|
|
|
|
|
|
|
* You can set several input files and output files: |
|
|
|
@item |
|
|
|
You can set several input files and output files: |
|
|
|
|
|
|
|
@example |
|
|
|
ffmpeg -i /tmp/a.wav -s 640x480 -i /tmp/a.yuv /tmp/a.mpg |
|
|
|
@@ -881,7 +890,8 @@ ffmpeg -i /tmp/a.wav -s 640x480 -i /tmp/a.yuv /tmp/a.mpg |
|
|
|
Converts the audio file a.wav and the raw YUV video file a.yuv |
|
|
|
to MPEG file a.mpg. |
|
|
|
|
|
|
|
* You can also do audio and video conversions at the same time: |
|
|
|
@item |
|
|
|
You can also do audio and video conversions at the same time: |
|
|
|
|
|
|
|
@example |
|
|
|
ffmpeg -i /tmp/a.wav -ar 22050 /tmp/a.mp2 |
|
|
|
@@ -889,7 +899,8 @@ ffmpeg -i /tmp/a.wav -ar 22050 /tmp/a.mp2 |
|
|
|
|
|
|
|
Converts a.wav to MPEG audio at 22050 Hz sample rate. |
|
|
|
|
|
|
|
* You can encode to several formats at the same time and define a |
|
|
|
@item |
|
|
|
You can encode to several formats at the same time and define a |
|
|
|
mapping from input stream to output streams: |
|
|
|
|
|
|
|
@example |
|
|
|
@@ -900,7 +911,8 @@ Converts a.wav to a.mp2 at 64 kbits and to b.mp2 at 128 kbits. '-map |
|
|
|
file:index' specifies which input stream is used for each output |
|
|
|
stream, in the order of the definition of output streams. |
|
|
|
|
|
|
|
* You can transcode decrypted VOBs: |
|
|
|
@item |
|
|
|
You can transcode decrypted VOBs: |
|
|
|
|
|
|
|
@example |
|
|
|
ffmpeg -i snatch_1.vob -f avi -vcodec mpeg4 -b 800k -g 300 -bf 2 -acodec libmp3lame -ab 128k snatch.avi |
|
|
|
@@ -917,7 +929,8 @@ to get the desired audio language. |
|
|
|
|
|
|
|
NOTE: To see the supported input formats, use @code{ffmpeg -formats}. |
|
|
|
|
|
|
|
* You can extract images from a video, or create a video from many images: |
|
|
|
@item |
|
|
|
You can extract images from a video, or create a video from many images: |
|
|
|
|
|
|
|
For extracting images from a video: |
|
|
|
@example |
|
|
|
@@ -942,7 +955,8 @@ composed of three digits padded with zeroes to express the sequence |
|
|
|
number. It is the same syntax supported by the C printf function, but |
|
|
|
only formats accepting a normal integer are suitable. |
|
|
|
|
|
|
|
* You can put many streams of the same type in the output: |
|
|
|
@item |
|
|
|
You can put many streams of the same type in the output: |
|
|
|
|
|
|
|
@example |
|
|
|
ffmpeg -i test1.avi -i test2.avi -vcodec copy -acodec copy -vcodec copy -acodec copy test12.avi -newvideo -newaudio |
|
|
|
@@ -955,6 +969,8 @@ and the second audio stream found in the input streams list. |
|
|
|
The @code{-newvideo}, @code{-newaudio} and @code{-newsubtitle} |
|
|
|
options have to be specified immediately after the name of the output |
|
|
|
file to which you want to add them. |
|
|
|
|
|
|
|
@end itemize |
|
|
|
@c man end EXAMPLES |
|
|
|
|
|
|
|
@include eval.texi |
|
|
|
|