ffmpeg
From Noah.org
Revision as of 06:18, 28 April 2019 by Root (talk | contribs) (→Create video from a sequence of images)
MJPEG
You can check if your video is in MJPEG format using ffprobe. You should get the output codec_name=mjpeg.
ffprobe -v error -select_streams v:0 -show_entries stream=codec_name -of default=nw=1 input.mov
You can extract lossless individual JPEG images from an MJPEG file. Note the two form of syntax that may be required depending on the version of ffmpeg being used.
ffmpeg -i input.mov -codec:v copy -bsf:v mjpeg2jpeg frame-%04d.jpg
Alternate syntax:
ffmpeg -i input.mov -vcodec copy frame-%04d.jpg
Extract best quality of still images from a video
Note, if your video is in MJPEG format then see #MJPEG for even best quality still image extraction.
See the options -qscale:v or the alias -q:v for ffmpeg.
ffmpeg -i input.mp4 -qscale:v 1 frame-%04d.jpg # or the alias: ffmpeg -i input.mp4 -q:v 1 frame-%04d.jpg
Note that some people say to use 1 for the quality value, but others say to use 2. I found that 1 seemed to work.
ffmpeg -i input.mp4 -qscale:v 2 frame-%04d.jpg
Create video from a sequence of images
If there is no format to the images you want to convert then you must use the pattern_type option:
ffmpeg -pattern_type glob -i "image-*.jpg" video.mov
ffmpeg -framerate 10 -pattern_type glob -i "*.jpg" -c:v libx264 -pix_fmt yuv420p -crf 23 output.mov