视频片段的两个ffmpeg命令比较
Comparison of two ffmpeg commands for video segment
我有两个命令可以在 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 输出路径
我都试过了,发现第一个命令比第二个命令非常非常快
由于我是 ffmpeg 的新手,我真的不知道这些命令中每个参数的含义
谁能解释一下为什么第一个命令更好,它会不会在以后导致任何错误
在命令 #1 中,您正在使用 -vcodec copy
为视频启用 stream copy 模式。这会复制视频而不是对视频进行编码。流复制比编码快得多。
缺点是segment muxer在使用流复制时默认只能剪切关键帧。所以-segment_time
使用流复制的时候可能不准确
如果准确性非常重要,请按照命令 #2 删除 -vcodec copy
。这将对视频进行编码而不是流式复制视频:速度慢得多但剪辑准确。
我有两个命令可以在 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 输出路径
我都试过了,发现第一个命令比第二个命令非常非常快
由于我是 ffmpeg 的新手,我真的不知道这些命令中每个参数的含义
谁能解释一下为什么第一个命令更好,它会不会在以后导致任何错误
在命令 #1 中,您正在使用 -vcodec copy
为视频启用 stream copy 模式。这会复制视频而不是对视频进行编码。流复制比编码快得多。
缺点是segment muxer在使用流复制时默认只能剪切关键帧。所以-segment_time
使用流复制的时候可能不准确
如果准确性非常重要,请按照命令 #2 删除 -vcodec copy
。这将对视频进行编码而不是流式复制视频:速度慢得多但剪辑准确。