FFmpeg: Difference between revisions
No edit summary |
No edit summary |
||
Line 6: | Line 6: | ||
Basic usage is as follows: | Basic usage is as follows: | ||
<pre> | <pre> | ||
ffmpeg -i input_file [-s resolution] [-b bitrate] [-ss start_second] [-t time] output.mp4 | ffmpeg -i input_file [-s resolution] [-b bitrate] [-ss start_second] [-t time] [-r output_framerate] output.mp4 | ||
</pre> | </pre> | ||
Line 17: | Line 17: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
ffmpeg -i input.mp4 -c:v libx264 -profile:v high -pix_fmt yuv420p output.mp4 | ffmpeg -i input.mp4 -c:v libx264 -profile:v high -pix_fmt yuv420p output.mp4 | ||
</syntaxhighlight> | |||
===Images to Video=== | |||
[https://en.wikibooks.org/wiki/FFMPEG_An_Intermediate_Guide/image_sequence Reference]<br> | |||
Assuming 60 images per second and you want a 30 fps video. | |||
<syntaxhighlight lang="bash"> | |||
ffmpeg -framerate 60 -i image-%03d.png -r 30 video.mp4 | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Revision as of 18:42, 18 September 2019
FFmpeg is a library for encoding and decoding multimedia. You can interact with FFmpeg using their command-line interface or using their C API. I find it useful for converting videos to gifs. You can also extract videos into a sequence of images or vice-versa.
CLI
Basic usage is as follows:
ffmpeg -i input_file [-s resolution] [-b bitrate] [-ss start_second] [-t time] [-r output_framerate] output.mp4
x264
x264 is a software h264 decoder and encoder.
[1]
Changing Pixel Format
Encode to h264 with YUV420p pixel format
ffmpeg -i input.mp4 -c:v libx264 -profile:v high -pix_fmt yuv420p output.mp4
Images to Video
Reference
Assuming 60 images per second and you want a 30 fps video.
ffmpeg -framerate 60 -i image-%03d.png -r 30 video.mp4
C API
A doxygen reference manual for their C api is available at [2].