ffmpeg常用命令

之前在处理监控视频时要对视频进行抽帧压缩,使得视频大小限制在10M左右,所以使用ffmpeg进行视频加工处理,因为这个工具确实很强大。下面是用到的相关命令,可以直接跳到最后一条命令,那个才是最终版。

实例:抽帧

代码:ffmpeg -i "D:\Video\pain3.avi" -r 30 -f image2 "D:\Video\pain3\shock"%05d.jpg


ffmpeg -i C:\Users\VKL\Desktop\res\B0_1.264 -r 2 -s 1280x720 -f image2 C:\Users\VKL\Desktop\res\b0\image-%05d.jpeg

2.ffmpeg截取视频中的一段视频命令为:

ffmpeg  -i test.avi -vcodec copy -acodec copy -ss 00:00:10 -to 00:00:50 test_cut.mp4 -y
1
上述命令会得到一个长为40秒的视频 test_cut.mp4

实例:剪部分视频

ffmpeg  -i "D:\Video\videos\2shock2.avi" -vcodec copy -acodec copy -ss 00:00:50 -to 00:01:10 "D:\Video\pain2.avi" -y

ffmpeg  -i "D:\Video\sss.avi" -vcodec copy -acodec copy -ss 00:00:09 -to 00:00:59 "D:\Video\normal.avi" -y

其中:
   -i 表示源视频文件
   -y 表示输出文件,如果已存在则覆盖

   -ss 表示从哪个时间点开始截取
   -to 表示从哪个时间点结束截取

   -vcodec copy 使用跟原视频相同的视频编解码器
   -acodec copy 使用跟原视频相同的音频编解码器
 

图片合成视频

ffmpeg -framerate 2 -i input\%05d.jpg -codec copy output.mkv

-----------说明-----------------
1. ffmpeg -i inputfile.avi -r 1 -s 320x240 -f image2 image-%05d.jpeg
-r 指定抽取的帧率,即从视频中每秒钟抽取图片的数量。1代表每秒抽取一帧。
-f 指定保存图片使用的格式,可忽略。
image-%05d.jpeg,指定文件的输出名字。
2.  ffmpeg -i inputfile.avi -r 1  -s 4cif -f image2 image-%05d.jpeg
4cif 代表帧的尺寸为705x576.其他可用尺寸如下。
3. ffmpeg -i inputfile.avi -r 1 -t 4 -f image2 image-%05d.jpeg
-t 代表持续时间,单位为秒。
4. ffmpeg -i inputfile.avi -r 1  -ss 01:30:14 -f image2 image-%05d.jpeg
-ss 指定起始时间
5.ffmpeg -i inputfile.avi -r 1  -ss 01:30:14 -vframes120 4cif -f image2 image-%05d.jpeg
-vframes 指定抽取的帧数
--------------------------------

压缩
ffmpeg -i C:\Users\VKL\Desktop\res\b0\output.mp4 -vcodec libx264 -preset slow -crf 36 -y C:\Users\VKL\Desktop\res\b0\out.mp4

抓图
C:\Users\VKL>ffmpeg -r 1 -ss 00:00:01 -t 1 -i E:\ffmtest\1002_03.264 -f image2 -y E:\capture%3d.jpg

dxva2硬件加速
ffmpeg -hwaccel dxva2 -i E:\sptest\test.mp4 -vcodec libx264 -preset slow -crf 36 -y E:\sptest\out.mp4

硬件NVIDIA加速(-cq 压缩质量 0-51,值越大size越小,质量越差 推荐35-38,默认是0;-r 指定输出视频帧率)
ffmpeg.exe -i input.avi -r 2 -c:v hevc_nvenc -preset:v fast -cq 0 output.mp4
ffmpeg.exe -i input.avi -r 2 -c:v h264_nvenc -preset:v fast -cq 0 output.mp4

非硬件加速(直接按帧输出并压缩)
ffmpeg -i E:\sptest\1.mp4 -r 2 -vcodec libx264 -preset:v fast -crf 36 E:\sptest\qwout.mp4

这个是最终版的抽帧压缩命令,比之前的快了10倍左右。至于是否有更好的方式,可以看看官网文档http://ffmpeg.org/ffmpeg.html
 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值