我将新的H.264视频编码为与音频混合的MP4文件。
如何正确计算AVPacket和视频和音频的AVFrame的PTS和DTS?
我从源中生成新的视频帧和新的音频。没有原始的PTS / DTS信息。我知道我需要使用的帧速率(time_base)。
答案 0 :(得分:0)
假设您的帧速率是恒定的。并且在正确设置流时基之后。从零(0)开始两个点。每帧音频点数将增加“每帧样本数”。通常是audio_sample_rate / frame_rate
(即48000/60 = 800)。
对于视频来说,情况有所不同,并且更加简单。视频点数将增加每帧相同数量的“视频帧持续时间”。使用此备忘单来计算持续时间:
FPS Frame duration
23.98 2002
24.00 2000
25.00 2000
29.97 2002
30.00 2000
50.00 1000
59.94 1001
60.00 1000
是的,这些有点怪异,但可以使用。