如何使WriteStreamSample永远不丢弃数据包?

时间:2011-06-20 06:37:09

标签: video wmv asf windows-media-encoder windows-media-format-sdk

我正在使用Windows Media Format 11 SDK通过读取和写入压缩样本来复制视频文件(即不进行任何解码/编码 - 只需复制原始样本)。

我的问题是作者正在丢弃数据包!这是次优的,因为我想保留原始文件中的所有数据包。如果输入文件中的比特率定义错误,则问题尤为严重(毕竟,各种各样的怪异文件都会浮动)。

是否有一些配置设置我可以用来完全禁用丢包?到目前为止我还没有找到这样的东西。我尝试设置一个非常高的比特率和缓冲区窗口,但是在将流添加到编写器配置文件时,这只是给了我一个无法提供的错误。

我目前唯一的替代方案似乎是自己重新实现所有ASF解析代码,以真正进行低级复制操作。但是,这将浪费很多时间。

我有什么遗漏的吗?我能以某种方式告诉作者永远不丢弃数据包吗?

编辑:当视频使用WMV2(Windows Media Video 8)编解码器时,问题似乎最严重。当我使用VC-1时,输出视频是正常的(或者至少接近正常,我没有详细检查文件内容,但在视觉上它看起来很好)。也许WMV2的实现在某种程度上被媒体格式SDK打破了?好吧,我现在必须没有WMV2支持。

0 个答案:

没有答案