1

我正在开发一个基于 directshow 的应用程序,该应用程序必须将 AVI 源文件转换为可以使用 Quicktime 播放的 mp4 文件。

由于 3ivx,根据我的网络研究,完成这项任务的最流行的方式已经商业化(而且我的预算非常有限),我决定使用基于 ffdshow 的解决方案。

我在 graphedit 中创建了一个简单的图形,使用 LAME 进行音频编码,使用 GDCL MPEG 4 Multiplexor 进行复用,但是每次我尝试使用 Quicktime 播放电影时,我都会收到一个错误,指示错误的“示例描述”。使用 Windows Media Player 播放正常,但没有声音。

我的猜测是复用器有问题,因为每次我尝试添加音频编码时,graphedit 都会在编码单元之后自动添加一个解码器(参见图片链接)。

http://imageshack.us/photo/my-images/39/graphjrgr.png/

任何关于如何以更好的方式集成 ffdshow 的想法、替代 mp4 多路复用器的提示或完全不同的方法都值得赞赏!

4

1 回答 1

0

GDCL 多路复用器支持的音频格式数量有限,可能您应该检查多路复用器的源代码以查看您使用的格式是否确实受支持。基本上,您需要选择一个多路复用器识别为有效的音频编码器。可以使用 GraphEdit 为编码器过滤器选择不同的属性,以使事情更好地工作。

我在 Monogram x264(视频)和 AAC(音频)编码器上遇到了一些运气。见http://blog.monogram.sk/janos/directshow-filters/

最后,尝试 GDCL mp4 muxer 的调试版本。

此外,您必须了解 x264 的 MPEG-4 LA 许可要求http://www.mpegla.com/main/programs/AVC/Pages/FAQ.aspx

于 2012-06-20T17:31:11.263 回答