剪视频用pr?某些时候ffmpeg更好用

需求:有一些很长很长的视频需要掐头去尾,怎么做?

先说结论

1
ffmpeg -ss 00:00:01 -to 01:37:37 -i long_video.mp4 -c copy output.mp4

其中-ss和-to是视频起止时间。注意不是-t,-t是持续时间

-c copy 不重新编码,直接拷贝视频流,不用重新编码。(几乎瞬间吧)

然后开始讲故事

还不是这该死的打杂工作。需要把某迅会议的云录制视频掐头去尾,给其他的人的看。但是视频有个特点就是,很长,但是文件本身不算特别大(3个视频,共计4小时,500多M,也不知道腾讯会议的录制是怎么做的,而且清晰度也是有保证的)

我一想,这简单啊!我脑补了一下流程👇

  1. 视频丢进adobe pr
  2. 创建三个序列,分别掐头去尾
  3. 发送到media encoder转

咋一看,没问题是吧,合情合理的操作嘛!

但是实施起来就遇到了点问题。

这tm转码出来文件大了很多,而且清晰度也得不到保证。问题在哪儿呢?待老夫瞅瞅原视频

哦呦!牛了个B

时长 宽高 数据速率 总比特率 帧速率 音频比特率 音频采样频率
02:15:27 2560*1440 190kbps 316kbps 30.30fps 126kbps 32kHz
01:40:10 2160*1080 83kbps 210kbps 15.00fps 126kbps 32kHz
01:11:13 2160*1080 121kbps 248kbps 30.03fps 126kbps 32kHz

确实牛逼,第二行视频,视频平均比特率只有83kbps,他妈的比音频还小。虽然录屏内容几乎全是静态的ppt,但是在保证质量的同时,能做到这种程度也已经很厉害了……何止厉害,简直无敌好吧!

我自己用media encoder转出来,比特率1M,文件又大,画面也糊。

而且这三个视频如果用可变比特率两次重采样,要一个小时左右。用的是rtx4070 + i5 13600k

咋办嘛……所以就需要有一种不转码剪辑的方法。

好耶!ffmpeg读研时候视频抠图导出帧处理的记忆开始攻击我,正是在下!

如开头所说,加 -c copy 就可以实现。速度快,效果好(毕竟不用转码,无损嘛)完结

还可以优化吗?

是的,还可以优化,我可以把音频比特率再降低到64kbps甚至32kbps(反正我用我的垃圾耳机也听不出来)👇

1
2
# 只重新编码音频为 128kbps 的 AAC,视频部分保持不变。
ffmpeg -i input.mp4 -c:v copy -c:a aac -b:a 32k output.mp4

那么,以表格中第二条视频为例,总比特率会降低到118kbps,时长1小时37分钟,文件大小85.6M,而且图像质量有保障。nb。

腾讯会议,nb!