asf作家的问题

时间:2010-12-28 10:51:41

标签: directshow asf writer

我尝试使用directshow中的asf writer过滤器将原始数据(视频帧和音频样本)编码为.asf文件。 我的过滤器图形结构: raw_send_filter - > asf写入过滤器 raw_send_filter实现了CBaseFilter和CBaseOutputPin。它扮演源过滤器的角色,获取原始数据,然后将它们传递给ASF编写器过滤器。该过程遵循以下步骤:

  1. 使用函数CBaseOutputPin::GetDeliveryBuffer
  2. 获取交付缓冲区(返回“样本”)
  3. 样品 - > GetPointer(安培;缓冲液);
  4. 设置时间戳(帧速率= 30 fps)
  5. 提供样本
  6. 问题是编码一些原始数据后,我无法再提供。

    我可以使用Avi mux过滤器以这种方式编码.avi文件。你可以告诉我为什么在编码之后我无法提供样品吗?

    感谢。

1 个答案:

答案 0 :(得分:0)

ASF多路复用器可能正在等待更多数据。检查您是否以相同的速率发送音频和视频。