我如何使用ffmpeg来提取视频片的总时间,而不实际产生视频片?



我有一个名为'ev.mp4'的视频。将视频分成几段:

# COMMAND 1
ffmpeg -i "ev.mp4" -c copy -map 0 -segment_time 15 -g 9 
-sc_threshold 0 -force_key_frames "expr:gte(t,n_forced*9)" 
-reset_timestamps 1 -f segment ev-%04d.mp4
ev-0000.mp4
ev-0001.mp4
ev-0002.mp4

获取每段时间

# COMMAND 2
for f in ev-*.mp4;
do
echo $f == $(ffprobe -v error -show_entries 
format=duration -of default=noprint_wrappers=1:nokey=1 $f);
done;
ev-0000.mp4 == 17.251000
ev-0001.mp4 == 17.918000
ev-0002.mp4 == 10.444000

我只能在视频以切片格式存在于硬盘驱动器上后提取每个切片段的持续时间,例如ev-0000.mp4

我的问题:是否有可能从命令1获得每个切片的持续时间这样,我将得到每个切片的持续时间,而不是生成切片文件。

不,不可能。segment复用器旨在将其输出写入文件。没有文件,没有模板,没有办法配置muxer。读

最新更新