Closed yigu-cao closed 1 week ago
【问题描述】 demux mp4时,发现存在片源和ffmpeg 的 pts, dts 不一致,导致同步问题,排查发现:
mov_apply_elst API,media_time 时间单位为mdhd.timescale,转换为dts单位,因进行如下运算,不应直接赋值 track->samples[0].dts = track->elst[i].segment_duration * track->mdhd.timescale / 1000;
mov_apply_elst_tfdt API,亦是如此;
【片源】
https://github.com/user-attachments/assets/f9de5568-5db9-4e93-8a52-0c2a5a4b9d8b
【ffprobe pts】 ffprobe -select_streams v:0 -show_entries frame=pts_time,pkt_size -of csv=p=0 C:\Users***\Desktop\h265test.mp4 > h265test.csv
感谢指正!
【问题描述】 demux mp4时,发现存在片源和ffmpeg 的 pts, dts 不一致,导致同步问题,排查发现:
mov_apply_elst API,media_time 时间单位为mdhd.timescale,转换为dts单位,因进行如下运算,不应直接赋值 track->samples[0].dts = track->elst[i].segment_duration * track->mdhd.timescale / 1000;
mov_apply_elst_tfdt API,亦是如此;
【片源】
https://github.com/user-attachments/assets/f9de5568-5db9-4e93-8a52-0c2a5a4b9d8b