我不确定,但是以下命令似乎可以做到这一点。在这里,我得到了mp4文件的第一个音频流的持续时间:
ffprobe -v error -select_streams a:0 -show_entries stream=duration -of default=noprint_wrappers=1:nokey=1 -i input.mp4
但是,我正在寻找与ffmpeg等效的文件(如果存在)。如果不可能用ffmpeg
来做,那么您的答案同样有效。
答案 0 :(得分:1)
使用
ffmpeg -i input.mp4 -c copy -map 0:v:3 -f null - 2>&1 | tail -3 | grep -oP "(?<=time=).+?\s"
0:v:3
将选择第四个视频流。如果存在,则输出将是持续时间,例如00:02:57.64
如果不存在,则输出为空。
答案 1 :(得分:0)
。使用FFmpeg
来获取媒体文件的持续时间,您可以这样做:
ffmpeg -i inputfile -map 0:0 2>&1 | grep Duration | cut -d ' ' -f 4 | sed s/,//
进一步了解Map option.