我对MP4文件中带有音频复用的新H.264视频进行编码。
如何正确计算AVPacket的PTS和DTS,以及视频和音频的AVFrame?
我从我的源生成新的视频帧和新的音频。没有原始的PTS/DTS信息。我知道我需要使用的帧速率(time_base(。
假设您的帧速率是恒定的。并在正确设置流时基后。从零 (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
是的,这些有点笨拙,但会起作用。