繁体   English   中英

如何在不实际生成视频切片的情况下使用 ffmpeg 提取视频切片的总时间?

[英]How do I use ffmpeg to extract the total time of a video slice without actually producing the video slice?

我有一个名为“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

我的问题:是否可以从COMMAND 1获取每个切片的持续时间,这样我就可以获取每个切片的持续时间,而不是生成切片文件?

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM