计算用于在 ffmpeg 中编码新视频和音频的 PTS 和 DTS
Calculate PTS and DTS for encoding new video and audio in ffmpeg
我在 MP4 文件中对与音频混合的新 H.264 视频进行编码。
如何正确计算视频和音频的AVPacket和AVFrame的PTS和DTS?
我从我的来源生成了新的视频帧和新的音频。没有原始 PTS/DTS 信息。我知道我需要使用的帧速率 (time_base)。
假设你的帧速率是恒定的。并在正确设置流时基之后。从零 (0) 开始两个点。每帧音频点将增加'sample per frame'。这通常是 audio_sample_rate / frame_rate
(即 48000/60 = 800)。
对于视频来说,情况有所不同,而且更简单一些。视频点将每帧增加相同数量的 'Video frame duration'。使用此作弊 sheet 来计算持续时间:
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
是的,这些有点老套,但会起作用。
我在 MP4 文件中对与音频混合的新 H.264 视频进行编码。
如何正确计算视频和音频的AVPacket和AVFrame的PTS和DTS?
我从我的来源生成了新的视频帧和新的音频。没有原始 PTS/DTS 信息。我知道我需要使用的帧速率 (time_base)。
假设你的帧速率是恒定的。并在正确设置流时基之后。从零 (0) 开始两个点。每帧音频点将增加'sample per frame'。这通常是 audio_sample_rate / frame_rate
(即 48000/60 = 800)。
对于视频来说,情况有所不同,而且更简单一些。视频点将每帧增加相同数量的 'Video frame duration'。使用此作弊 sheet 来计算持续时间:
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
是的,这些有点老套,但会起作用。