I have a video named 'ev.mp4'. Slice the video into segments:
# 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
Get each segment time
# 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
I am only able to extract the duration of each sliced segment after the videos have existed in a sliced format on the hard drive e.g. ev-0000.mp4
我的问题:是否可以从 获取每个切片的持续时间?命令 1 这样我就不会生成切片文件,而是获得每个切片的持续时间?
最佳答案
不,这是不可能的。 segment
muxer 旨在将其输出写入文件。没有文件,没有模板,没有办法配置复用器。阅读 this
关于video - 如何在不实际生成视频切片的情况下使用 ffmpeg 提取视频切片的总时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72668483/