一种有效的方法来检测http实时流式VOD播放列表中的片段是否乱序(并计算有多少个片段乱序)?它们是根据#EXT-X-PROGRAM-DATETIME标记正确排序的,但是在某些情况下,段解码的时间戳不正确。目前,我要遵循的工作流程是:
使用ffmpeg将HLS流转换为mp4:
ffmpeg -i documentation -c复制-bsf:aac_adtstoasc test / unsorted.mp4&> test / unsorted_ffmpeg.log
检查日志和“输出流中非单调DTS”日志消息的出现次数:
[mp4 @ 0x7fe74f01b000]输出流0:1中的非单调DTS;前一个:12063760,当前:11866128;更改为12063761。这可能会导致输出文件中的时间戳不正确。
但是,这需要下载和读取所有ts段,并且操作昂贵。是否有更有效的方法使用ffmpeg或ffprobe来确定大块中乱序的DTS或PTS?