asf编写器的问题
我尝试使用 directshow 中的 asf writer 过滤器将原始数据(视频帧和音频样本)编码到 .asf 文件中。 我的过滤器图结构: raw_send_filter ->; ASF 编写器过滤器 raw_send_filter 实现了 CBaseFilter 和 CBaseOutputPin。它充当源过滤器,获取原始数据,然后将它们传递给 ASF writer 过滤器。该过程遵循以下步骤:
- 使用函数 CBaseOutputPin::GetDeliveryBuffer
- 样本->GetPointer(&buffer);
- 设置时间戳(帧速率 = 30 fps)
- 交付样本
问题是在对一些原始数据进行编码后,我无法再交付了。
我可以使用 Avi mux 过滤器以这种方式编码 .avi 文件。你能告诉我为什么我在编码后无法交付样本吗?
谢谢。
Im trying to encode raw data(both video frame and audio sample) into .asf file, using asf writer filter in directshow.
my filter graph structure:
raw_send_filter -> asf writer filter
raw_send_filter implements CBaseFilter and CBaseOutputPin. It plays a role as source filter which get raw data, then deliver them to ASF writer filter. The process follows these steps:
- Get deliver buffer (return into "sample") , using the function CBaseOutputPin::GetDeliveryBuffer
- sample->GetPointer(&buffer);
- Set time stamp (with frame rate = 30 fps)
- deliver sample
The problem is after encode some raw data, I can not deliver any more.
I can encode .avi file with this way, using Avi mux filter. Can u tell me why I can not deliver samples after encoding some?
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
ASF 多路复用器可能正在等待更多数据。检查您是否以相同的速率发送音频和视频。
Possibly the ASF multiplexer is waiting for more data. Check if you send audio and video in the same rate.