当持续时间未明确定义时,如何获取 webm 视频文件的持续时间

当持续时间未明确定义时,如何获取 webm 视频文件的持续时间

我有一个带有不完整标题的 webm 文件片段,我想通过从文件开头剪掉 x 秒来将此片段缩短到 10 秒,但是我无法使用标签,-sseof因为文件的结尾未定义。我发现,如果我要求 ffmpeg 从文件中提取音频或视频,它会响应一些数据,这些数据行显示size= 212kB time=00:00:13.32 bitrate= 130.2kbits/s speed=1.79e+03x video:0kB audio:210kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.991311%文件中有 13.32 秒的数据,但是如果我使用 ffprobe 来获取文件长度,它会回复N/A。有没有办法在不对 webm 文件进行编码的情况下自行获取 13.32 值?

答案1

跑步

ffprobe -v 0 -hide_banner -of compact=p=0:nk=1 -show_entries packet=pts_time -read_intervals 99999%+#1000 input.webm | tail -1

假设文件不超过 99999 秒,这将打印文件中最后一个媒体包的时间戳。

相关内容