ffmpeg命令行笔记

ffmpeg官方文档:ffmpeg Documentation

将视频与音频融合

ffmpeg -i 01.mp4 -i hai.mp3 output.mp4

注意事项:

a.在不指定编解码格式时视频文件默认转为h264,音频文件默认转为acc,因此会花费更多的时间,可以使用-acodec copy -vcodec copy参数保持音频编码格式,但是如果源编码格式是mp3在合成视频后音频在Mac和iphone上播放不出来,因此还是建议使用acc编码格式:

ffmpeg -i 01.mp4 -i hai.mp3 -acodec acc -vcodec copy output.mp4

b.在不指定音频参数时有时会出现卡住的情况,报错信息:[aac @ 0x20d1320] Too many bits per frame requested, clamping to max.解决方案:设置音频参数:

ffmpeg -i input.avi -i input.mp3 -acodec aac -vcodec copy -ab 32k -ar 48k -ac 2 -strict -2 mix.mp4 -y

其中ab 为码率,ar 为采样率,ac为声道。

测试结果:至少设置一个参数即可修复卡住的错误,具体原因不明。

将音频过滤掉,只留视频

ffmpeg -i orig.mp4 -an output.mp4

将一张图片生成视频

ffmpeg -r 25 -loop 1 -i 50.png -pix_fmt yuv420p -vcodec libx264 -b:v 600k -r:v 25 -preset medium -crf 30 -s 50x50 -vframes 250 -r 25 -t 10 ~/a.mp4

其中-loop 1循环读取图片,-r 25帧率为25,-t 10生成视频时间为10s。

字幕

ffmpeg -i 1227.mp4 -lavfi "subtitles=1227.srt:force_style='Alignment=0,OutlineColour=&H100000000,BorderStyle=3,Outline=1,Shadow=0,Fontsize=18,MarginL=5,MarginV=25'" out.mp4

在使用字幕时最好使用ass字幕文件,在文件中可以设置相关参数,适配型较强。

将视频解码为图片

ffmpeg -i input -r fps img/%6d.jpg

截取视频 

ffmpeg -i input.mp4 -vcodec copy -acodec copy -ss 00:00:05 -to 00:01:03 output.mp4 -y

rtsp采集数据

ffmpeg -rtsp_transport tcp -i "rtsp://admin:[email protected]:554/cam/realmonitor?channel=1&subtype=0" -c:v copy -an -t 00:00:20 -r 15 -s 1920x1080 -b:v 1500k out.mp4

-rtsp_transport tcp使用tcp协议获取视频流数据

视频分辨率转换

ffmpeg -i input.mp4 -vf scale=720:1280 out.mp4

视频比特率转换

ffmpeg -i 720.mp4 -b:v 1500k 1500.mp4

猜你喜欢

转载自blog.csdn.net/SecretGirl/article/details/122837562
今日推荐