我正在开发一种工具,它从网络接收h.264实时流(发送方是硬件编码器),缓冲最后x分钟并在触发时创建最后x分钟的视频文件。我的工具能够接收实时流,还可以使用boost::serialization缓冲AVPackets。此外,我能够加载缓冲的AVPackets。但是当我尝试使用加载的AV数据包创建/混合视频文件(mp4)时,mp4文件或mp4header中出现错误。我能够创建一个mp4文件,还可以使用av_interleaved_write_frame()将数据包写入该文件。mp4文件也有合理的大小。因此,AVPackets似乎已写入文件。但是当我尝试用像vlc这样的播放器打开mp4文