问题描述
我有两个命令可以在 android ffmpeg 中制作视频片段
- -ss startTime -i inputVideo -f segment -segment_time segmentDuration -reset_timestamps 1 -vcodec copy -b:v2 097152 -b: a 48000 -ac 2 -ar 22050 outputPath
- -ss startTime -i inputVideo -f segment -segment_time segmentDuration -reset_timestamps 1 outputPath
我已经尝试了它们,并注意到第一个命令比第二个命令非常快
由于我是 ffmpeg 的新手,我真的不知道这些命令中每个参数的含义
解决方法
在命令 #1 中,您使用 -vcodec copy
为视频启用 stream copy 模式。这会复制视频而不是对视频进行编码。流复制比编码快得多。
缺点是默认情况下 segment muxer 只能在使用流复制时剪切关键帧。因此,使用流复制时 -segment_time
可能不准确。
如果准确性非常重要,那么删除 -vcodec copy
就像在命令 #2 中一样。这将对视频进行编码,而不是流式复制视频:速度慢得多,但剪切准确。