ffmpeg [global_options] -i input_file [input_options] output_file [output_options]
ffmpeg -i input.jpg -pix_fmt yuv420p output.yuv
-i input.jpg
: 指定输入文件 input.jpg
。-pix_fmt yuv420p
: 指定输出文件的像素格式为 YUV420p。output.yuv
: 指定输出文件名为 output.yuv
。ffmpeg -i input.mp4 -vf "select=eq(n\,100)" -pix_fmt yuv420p -vsync vfr frame_100.yuv
-i input.mp4
: 指定输入视频文件 input.mp4
。-vf "select=eq(n\,100)"
: 使用滤镜选取第 100 帧。-pix_fmt yuv420p
: 指定输出文件的像素格式为 YUV420p。-vsync vfr
: 使用可变帧率模式。frame_100.yuv
: 指定输出文件名为 frame_100.yuv
。ffmpeg -s 1920x1080 -pix_fmt yuv420p -i input.yuv output.png
-s 1920x1080
: 指定输入文件的分辨率。-pix_fmt yuv420p
: 指定输入文件的像素格式为 YUV420p。-i input.yuv
: 指定输入文件 input.yuv
。output.png
: 指定输出文件名为 output.png
。ffmpeg -i input.mp4 -vf "fps=1" -pix_fmt yuv420p frame_%04d.yuv
-i input.mp4
: 指定输入视频文件 input.mp4
。-vf "fps=1"
: 每秒提取一帧。-pix_fmt yuv420p
: 指定输出文件的像素格式为 YUV420p。frame_%04d.yuv
: 指定输出文件名格式(如 frame_0001.yuv
, frame_0002.yuv
)。ffmpeg -f rawvideo -pix_fmt yuv420p -s 1920x1080 -r 30 -i frame_%04d.yuv -c:v libx264 output.mp4
-f rawvideo
: 指定输入文件格式为原始视频。-pix_fmt yuv420p
: 指定输入文件的像素格式为 YUV420p。-s 1920x1080
: 指定输入文件的分辨率。-r 30
: 指定帧率为 30 fps。-i frame_%04d.yuv
: 指定输入文件名格式。-c:v libx264
: 指定视频编解码器为 H.264。output.mp4
: 指定输出文件名为 output.mp4
。将 YUV420p 图片从 1920x1080 缩放到 1280x720:
ffmpeg -s 1920x1080 -pix_fmt yuv420p -i input.yuv -vf scale=1280:720 -pix_fmt yuv420p output.yuv
-s 1920x1080
: 指定输入文件的分辨率。-pix_fmt yuv420p
: 指定输入文件的像素格式为 YUV420p。-i input.yuv
: 指定输入文件 input.yuv
。-vf scale=1280:720
: 使用缩放滤镜将分辨率调整为 1280x720。output.yuv
: 指定输出文件名为 output.yuv
。ffmpeg -s 1920x1080 -pix_fmt yuv420p -i input.yuv -vf "crop=1280:720" -pix_fmt yuv420p output.yuv
-s 1920x1080
: 指定输入文件的分辨率。-pix_fmt yuv420p
: 指定输入文件的像素格式为 YUV420p。-i input.yuv
: 指定输入文件 input.yuv
。-vf "crop=1280:720"
: 使用裁剪滤镜裁剪到 1280x720 的区域。output.yuv
: 指定输出文件名为 output.yuv
。ffplay [options] input_file
指定分辨率和像素格式:
ffplay -f rawvideo -pixel_format yuv420p -video_size 1920x1080 input.yuv
-f rawvideo
: 指定输入文件格式为原始视频。-pixel_format yuv420p
: 指定输入文件的像素格式为 YUV420p。-video_size 1920x1080
: 指定输入文件的分辨率。input.yuv
: 指定输入文件 input.yuv
。将 YUV420p 图片缩放到 1366x768:
ffplay -f rawvideo -pixel_format yuv420p -video_size 1920x1080 -vf scale=1366:768 input.yuv
-f rawvideo
: 指定输入文件格式为原始视频。-pixel_format yuv420p
: 指定输入文件的像素格式为 YUV420p。-video_size 1920x1080
: 指定输入文件的分辨率。-vf scale=1366:768
: 使用缩放滤镜将分辨率调整为 1366x768。input.yuv
: 指定输入文件 input.yuv
。ffplay -loop 0 -f rawvideo -pixel_format yuv420p -video_size 1920x1080 input.yuv
-loop 0
: 无限循环播放输入文件。-f rawvideo
: 指定输入文件格式为原始视频。-pixel_format yuv420p
: 指定输入文件的像素格式为 YUV420p。-video_size 1920x1080
: 指定输入文件的分辨率。input.yuv
: 指定输入文件 input.yuv
。播放以 frame_0001.yuv
, frame_0002.yuv
等命名的图片序列:
ffplay -f rawvideo -pixel_format yuv420p -video_size 1920x1080 -i frame_%04d.yuv
-f rawvideo
: 指定输入文件格式为原始视频。-pixel_format yuv420p
: 指定输入文件的像素格式为 YUV420p。-video_size 1920x1080
: 指定输入文件的分辨率。-i frame_%04d.yuv
: 指定输入文件名格式。将播放窗口调整为 800x600:
ffplay -f rawvideo -pixel_format yuv420p -video_size 1920x1080 -window_size 800x600 input.yuv
-f rawvideo
: 指定输入文件格式为原始视频。-pixel_format yuv420p
: 指定输入文件的像素格式为 YUV420p。_size 1920x1080`: 指定输入文件的分辨率。
-window_size 800x600
: 指定播放窗口的大小。input.yuv
: 指定输入文件 input.yuv
。在 YUV420p 图片中添加 PNG 格式的水印:
ffmpeg -s 1920x1080 -pix_fmt yuv420p -i input.yuv -i watermark.png -filter_complex "overlay=10:10" -pix_fmt yuv420p output.yuv
-s 1920x1080
: 指定输入文件的分辨率。-pix_fmt yuv420p
: 指定输入文件的像素格式为 YUV420p。-i input.yuv
: 指定输入文件 input.yuv
。-i watermark.png
: 指定水印图片 watermark.png
。-filter_complex "overlay=10:10"
: 使用复杂滤镜,在坐标 (10,10) 处添加水印。output.yuv
: 指定输出文件名为 output.yuv
。调整 YUV420p 图片的亮度和对比度:
ffmpeg -s 1920x1080 -pix_fmt yuv420p -i input.yuv -vf eq=brightness=0.06:contrast=1.5 -pix_fmt yuv420p output.yuv
-s 1920x1080
: 指定输入文件的分辨率。-pix_fmt yuv420p
: 指定输入文件的像素格式为 YUV420p。-i input.yuv
: 指定输入文件 input.yuv
。-vf eq=brightness=0.06:contrast=1.5
: 使用 eq 滤镜调整亮度和对比度。output.yuv
: 指定输出文件名为 output.yuv
。ffplay -f rawvideo -pixel_format yuv420p -video_size 1920x1080 -vf eq=brightness=0.06:contrast=1.5 input.yuv
-f rawvideo
: 指定输入文件格式为原始视频。-pixel_format yuv420p
: 指定输入文件的像素格式为 YUV420p。-video_size 1920x1080
: 指定输入文件的分辨率。-vf eq=brightness=0.06:contrast=1.5
: 使用 eq 滤镜调整亮度和对比度。input.yuv
: 指定输入文件 input.yuv
。在播放 YUV420p 图片时添加字幕(字幕文件为 subtitles.srt
):
ffplay -f rawvideo -pixel_format yuv420p -video_size 1920x1080 -vf subtitles=subtitles.srt input.yuv
-f rawvideo
: 指定输入文件格式为原始视频。-pixel_format yuv420p
: 指定输入文件的像素格式为 YUV420p。-video_size 1920x1080
: 指定输入文件的分辨率。-vf subtitles=subtitles.srt
: 使用 subtitles 滤镜添加字幕。input.yuv
: 指定输入文件 input.yuv
。确保指定了正确的分辨率和像素格式:
ffplay -f rawvideo -pixel_format yuv420p -video_size 1920x1080 input.yuv
使用 -vf scale
选项调整图像大小以适应屏幕分辨率:
ffplay -f rawvideo -pixel_format yuv420p -video_size 1920x1080 -vf scale=1366:768 input.yuv
调整视频或图片的比特率或使用更高质量的编码器:
ffmpeg -i input.mp4 -b:v 2000k output.mp4