ffmpeg命令
01. 视频分割
ffmpeg -ss 00:00:00 -i input.mp4 -c copy -t 60 output.mp4
-ss 表示视频分割的起始时间,-t 表示分割时长,同时也可以用 00:01:00表示
注意-ss 要放在 -i 之前
02. 视频区域裁剪:
ffmpeg -i 3.mkv -filter_complex crop=1024:50:0:550 -y 4.mkv
03. 视频预览
ffplay 3.mkv -vf crop=1024:50:0:550
04. 视频放大,缩小
ffmpeg -i 2.mp4 -vf "scale=1280:64" 4.mp4
scale =w:h 表示放大后的大小
05. 列出所有format
list all pix format
ffmpeg -pix_fmts
06. 图片转换
ffmpeg -itemp.jpg-s1024x680-pix_fmtyuvj420p9.yuv
ffmpeg.exe -i agf-dog-1280x960.jpg -vf scale=1920:1080 agf-dog-1920x1080.jpg
07. 视频format转换
YUV -> RGB
ffmpeg -s 360x270 -pix_fmt yuv420p -i 2_test_360x270_50.yuv -pix_fmt rgb24 aaaa.rgb
ffmpeg -s 640x480 -pix_fmt nv12 -i 640x480_1.jpg -vf scale=640:480,setsar=1:1 640x480_1_nv12.yuv -hide_banner
08. 视频叠加
ffmpeg -i input1 -i input2 -filter_complex overlay=x:youtput
09. 视频旋转
mp4向左旋转90度
ffmpeg -i input.mp4 -metadata:s:v rotate="90" -codec copy outut.mp4
mp4向右旋转90度
ffmpeg -i input.mp4 -metadata:s:v rotate="-90" -codec copy outut.mp4
10. 视频镜像
mp4左右镜像翻转
ffmpeg -i input.mp4 -vf "hflip" outut.mp4
mp4上下镜像翻转
ffmpeg -i input.mp4 -vf "vflip" outut.mp4
11. mp4转raw data
ffmpeg -i video.mp4 -c:v rawvideo -pix_fmt yuv420p out.yuv
ffmpeg -i input.mp4 -vf "format=nv12" -c:v rawvideo -an output.nv12
ffmpeg -i input.mp4 -pix_fmt nv21 -f rawvideo output.nv21
12. 图片旋转
图片向右旋转90度
ffmpeg -i input.png -vf rotate='90*PI/180' -y rotate60.png
图片向右旋转90度
ffmpeg -i input.png -vf rotate='-90*PI/180' -y rotate_90.png
图片像左旋转90度
ffmpeg -i input.png -vf transpose=2 -y transpose2.png
图片像右旋转90度
ffmpeg -i input.png -vf transpose=1 -y transpose2.png
逆时针(向左)旋转90°,然后垂直(上下)翻转
ffmpeg -i input.png -vf transpose=0 -y transpose0.png
13. 图片镜像
图片左右镜像翻转
ffmpeg -i input.png -vf hflip -y hflip.png
图片上下镜像翻转
ffmpeg -i input.png -vf vflip -y vflip.png
yuv数据左右镜像翻转
ffmpeg -s 1920x1080 -pix_fmt nv12 -i nv12_1.yuv -vf hflip -y hflip_nv12.yuv
播放左右翻转后的yuv数据
ffplay -video_size 1920x1080 -pixel_format nv12 hflip_nv12.yuv
14. 音频音量调节大小
音量翻倍,写在滤镜里
ffmpeg -i input.wav -af volume=2 -y output.wav
音量翻倍,不写在滤镜中
ffmpeg -i input.wav -vol 2000 -y output.wav
15. 调节播放速度
ffmpeg -i test1.mp4 -vf "setpts=0.25*PTS" test2.mp4
四倍慢速:
ffmpeg -i test1.mp4 -vf "setpts=4*PTS" test2.mp4