我们目前有一个系统,将实时视频编码为 MPEG-TS 多播流,由带有 STB 的电视接收。除了电视之外,我们还希望将视频嵌入到我们的 Windows 应用程序中。
我知道 VLC 将接收流,但更喜欢我可以嵌入现有应用程序而不玩窗口移动游戏的解决方案,以及没有许可问题的解决方案。我意识到这可能意味着我不是在寻找免费的解决方案,这很好,在合理范围内。
有人知道这方面的好产品吗?无论是易于使用的东西,还是 WMP 的插件。
您需要开发一个简单的DirectShow
过滤器来侦听给定的端口并传递它收到的每个数据包。
我手边没有示例,但它真的很简单,几百行代码。
然后,您只需将此过滤器连接到MPEG2 Demultiplexer
能够解码的transport stream
.
NVidia
Elecard
首先想到的是,尽管前者在调试器下没有连接。
然后将 连接demultiplexer
到decoder
,最后连接到renderer
。
解复用器和解码器可以很好地处理实时流问题,您只需捕获UDP
数据包并将其发送给它们。
由于许可问题,MPEG2
解码器不能免费(ffmpeg
并且VLC
违反许可),因此您必须购买解码器。
访问http://elecard.com,他们的MPEG2
产品范围很广。
扩展Quassnoi的答案......
您可以查看Haali Media Splitter以充当“MPEG2 解复用器”。这是一个过滤器,它只是将压缩的视频和声音从传输流中提取出来,所以我猜它没有任何许可问题。大多数带有 DVD 播放器的 PC 已经有一个获得许可的 DirectShow MPEG2 解码器,因此您可能只使用已经安装的一个(或者如果您真的想安全的话,可以从 elecard 之类的地方购买许可证)。
在开发 DirectShow 应用程序时,您可能会发现Monogram GraphStudio是设计过滤器链的有用工具。