asf编写器的问题

发布于 2024-10-09 14:01:08 字数 581 浏览 10 评论 0原文

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

  1. 使用函数 CBaseOutputPin::GetDeliveryBuffer
  2. 样本->GetPointer(&buffer);
  3. 设置时间戳(帧速率 = 30 fps)
  4. 交付样本

问题是在对一些原始数据进行编码后,我无法再交付了。

我可以使用 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:

  1. Get deliver buffer (return into "sample") , using the function CBaseOutputPin::GetDeliveryBuffer
  2. sample->GetPointer(&buffer);
  3. Set time stamp (with frame rate = 30 fps)
  4. 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

小巷里的女流氓 2024-10-16 14:01:08

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

Possibly the ASF multiplexer is waiting for more data. Check if you send audio and video in the same rate.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文