【发布时间】:2023-03-31 08:53:02
【问题描述】:
我有一系列编码数据包,H.264 视频和 AAC 音频。当它们出现时,我正在使用 av_write_frame 将它们写入视频文件。
连续给定以下情况
- 10 秒视频,然后
- 10 秒的视频和音频,然后
- 10 秒的视频。
一切都很好,当通过 VLC 或 QuickTime 播放时,一切看起来都很好。如果我在 Windows Media Player 中播放,音频会立即播放。
好像我做错了什么,但是检查音频流数据包的PTS,它们根据音频流的时基设置为10秒。
【问题讨论】:
-
似乎在实际音频之前可能需要空的音频数据包。在使用 AVFoundation 的 Mac 端使用类似代码,生成的文件的初始音频 PTS 为 0,因此它预填充了空音频包。
-
您使用的是什么容器?一些复用器可能会以不同的方式处理此用例。
-
我试过 mov 和 mp4。两者都有同样的问题。