FFMPEG学习笔记-----常用命令行

1. 常用的帮助命令
可用的bit流 :ffmpeg –bsfs
可用的编解码器:ffmpeg –codecs
可用的解码器:ffmpeg –decoders
可用的编码器:ffmpeg –encoders
可用的过滤器:ffmpeg –filters
可用的视频格式:ffmpeg –formats
可用的声道布局:ffmpeg –layouts
可用的license:ffmpeg –L
可用的像素格式:ffmpeg –pix_fmts
可用的协议:ffmpeg -protocals

2. 获取视频信息
ffprobe -i input.mp4
或者使用第三方工具软件 mediainfo 查看视频信息

3. 单独提取出视频和音频
ffmpeg -i input.mp4 -an output.mp4 #提取视频
ffmpeg -i input.mp4 -vn output.mp3 #提取音频
另外:
当使用ffmpeg -i input.mp4 -acodec copy -vn output.mp3应该注意原始的input.mp4中音频的编码格式,如果audio codec是acc ,则该命令运行失败。

4. 视频文件格式转换
ffmpeg -i input.mp4 output.avi
ffmpeg -i input.mkv output.mov

5. 视频编码格式转换
ffmpeg -i input.mp4 -vcodec h264 output.mp4#将input.mp4的编码格式转换为H.264
ffmpeg -i input.mp4 -vcodec mpeg4 output.mp4#将input.mp4的编码格式转换为MPEG4
另外:
当H264编码格式转换为MPEG4编码格式时,会使码率降低,画质变差,文件变小,因此,当转换编码格式时,若要求码率不变,则在转换中写出特定的码率:
ffmpeg -i input.mp4 -vcodec mpeg4 -b:v 1490k optput.mp4

6. 视频剪切
ffmpeg -i input.mp4 -ss 00:00:03 -t 22 -vcodec copy -acodec copy output.mp4 #起始时间为视频的第03秒,截取的时间长度为22秒。
ffmpeg -i input.mp4 -ss 00:00:03 -t 00:00:22 -vcodec copy -acodec copy output.mp4#表示#起始时间为视频的第03秒,截取的时间长度为22秒。
ffmpeg -i input.mp4 -ss 00:00:03 -to 00:00:22 -vcodec copy -acodec copy output.mp4#表示#起始时间为视频的第03秒,剪切到视频的第22秒,则截取的时间长度为19秒。

7. 视频截图
ffmpeg -i input.mp4 -f mjpeg -ss 8 -t 1 output.jpg
ffmpeg -i input.mp4 -f image2 -ss 8 -vframes 1 output.jpg
上面两条命令得到的图像相同。

8. 从视频中连续取图
ffmpeg -i input.mp4 -r 1 -s 1280*720 -f image2 picture-%03d.jpeg#将input.mp4每秒生成一张图片,图片大小为1280*720,图片名按照picture-001.jpeg,picture-002.jpeg…

9. 将图片变成视频
ffmpeg -f image2 -framerate 1 -i picture-%03d.jpeg output.mp4#将picture-001.jpeg,picture-002.jpeg…等图片以每秒一张图的速度生成视频播放。

10. 视频码率控制
转换后的视频码率可以高于转换前,但是画质不会改变;
也可以通过命令将原码率降低,但画质会变差。
ffmpeg -i input.mp4 -b:v 1500k -bufsize 1500k -minrate 1400k -maxrate 2500k output.mp4 # 将原视频的码率转换为1.5Mbps,控制在1.4Mbps至2.5Mbps之间,码率控制缓冲器为1.5Mbps。

11. 添加logo
ffmpeg -i input.mp4 -i logo.png -filter_complex overlay=0:0 output.mp4 # 在左上角添加logo
其他位置:
overlay=W-w #右上角
overlay=0:H-h #左下角
overlay=W-w:H-h # 右下角

12. 去除logo
语法:-vf delogo=x:y:w:h:t:show
x:y logo离左上角的坐标
w:h logo的宽和高
show 设置一个矩形 默认为0
ffmpeg -i input.mp4 -vf delogo=1:1:80:80:0 delogo.mp4

13.视频分辨率,方向改变
ffmpeg -i input.mp4 -vf scale=1280*720 output.mp4
ffmpeg -i input.mp4 -s 1282*720 output.mp4 #将原视频图像大小改为1280*720

ffmpeg -i input.mp4 -vf "transpose=1" output.mp4 #顺时针旋转90°
"transpose=2" #逆时针旋转90°;
"transpose=3" #顺时针旋转90°后再水平翻转;
"transpose=0" #逆时针旋转90°后再水平翻转;
ffmpeg -i input.mp4 -vf hflip out.mp4 #水平翻转视频画面;
ffmpeg -i input.mp4 -vf vflip out.mp4 #垂直翻转视频画面。

参考链接以及补充链接:https://www.jianshu.com/p/3c8c4a892f3c

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值