【问题标题】:Changing resolution while recording with GDCL MP4 Muxer使用 GDCL MP4 Muxer 录制时更改分辨率
【发布时间】:2012-02-10 15:33:37
【问题描述】:

我只需使用我的 RTSP 源过滤器获取 RTSP 流,然后使用 GDCL MP4 Muxer 将它们写入文件。[www.gdcl.co.uk]

RTSP Source Filter[H264] --> GDCL MP4 Muxer --> FileWriter

当我更改分辨率时,GDCL MP4 Muxer MuxInput::Receive 方法不会再次调用。

我可能会做错什么?

更新一:

我修改了 GDCL Muxer 以便它自己写入文件。所以根据我的标准[时间或长度]它关闭旧文件并写入新文件而不开始停止整个图

RTSP 源过滤器[H264] --> GDCL MP4 Muxer --> NullRenderer [ 做 没有]

【问题讨论】:

  • 您如何想象MP4 文件的分辨率发生变化?
  • 我没想到。当我得到新的分辨率时,我想把它写到新文件中。但是没有调用 muxer 接收方法。

标签: video directshow mp4


【解决方案1】:

为了在获得新视频分辨率时启动新文件,您需要停止图表,重新连接具有新媒体类型的引脚,然后重新启动图表。文件编写器不应该在没有通过停止状态转换的情况下更改文件。

实现此功能的方法之一是通过检查/解析源过滤器中的 NAL 单元来检查视频分辨率,如果分辨率发生变化,您将向图形所有者发送一条消息,请求重建图形。到那时,新图表将已经使用您的源过滤器知道的更新媒体类型。重新启动图也可以启动新的 MP4 文件。

【讨论】:

  • 检查我的更新一。我不需要为了写入新文件而重新创建图表。
  • 有了这个改变,你就脱离了所谓的 muxer/writer 操作的轨道,所以你自己来让它工作。
  • 说清楚 - 这意味着您已经以自己的方式进行了更改。这是可行的,但更不可能有人走近你的路。
猜你喜欢
  • 2011-12-11
  • 2021-10-14
  • 2015-03-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多