如何获得具有FFMPEG的MP4容器的任何流的持续时间



我不确定,但是以下命令似乎只是这样做。在这里,我得到了MP4文件的第一个音频流的持续时间:

ffprobe -v error -select_streams a:0 -show_entries stream=duration -of default=noprint_wrappers=1:nokey=1 -i input.mp4

但是,我正在寻找与FFMPEG的同等产品(如果存在的话)。如果不可能使用ffmpeg进行此操作,您的答案同样有效。

使用

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

如果不存在,输出将为空。

。使用FFmpeg获取媒体文件持续时间,您可以执行此操作:

ffmpeg -i inputfile -map 0:0 2>&1 | grep Duration | cut -d ' ' -f 4 | sed s/,//

用于进一步阅读地图选项。

来源。

最新更新