如何从 Windows 接收 MPEG-TS 多播
目前,我们拥有一个将实时视频编码为 MPEG-TS 多播流的系统,由带有 STB 的电视接收。 除了电视之外,我们还希望将视频嵌入到我们的 Windows 应用程序中。
我知道 VLC 将接收流,但更喜欢一种可以嵌入现有应用程序而无需玩窗口移动游戏的解决方案,以及一种没有许可问题的解决方案。 我意识到这可能意味着我没有在寻找免费的解决方案,这很好,在合理范围内。
有人知道这方面有什么好的产品吗? 要么是一些易于使用的东西,要么是 WMP 的插件。
We currently have a system with live video encoded to an MPEG-TS multicast stream, being received by televisions with STBs. In addition to televisions we'd like to embed the video in our Windows application.
I know that VLC will receive the stream, but would prefer both a solution that I can embed in an existing application without playing window moving games, and one without licensing problem. I realize that likely means that I'm not looking at a free solution, that's fine, within reason.
Anyone know of a good product for this? Either something easy to use, or a plug-in for WMP.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您需要开发一个简单的 DirectShow 过滤器,用于侦听给定端口并仅传递它收到的每个数据包。
我手边没有示例,但它非常简单,只有几百行代码。
然后,您只需将此过滤器连接到能够解码
传输流
的MPEG2 解复用器
即可。首先想到的是
NVidia
和Elecard
,尽管前一个在调试器下无法连接。然后,将
多路分解器
连接到解码器
,最后连接到渲染器
。解复用器和解码器可以很好地处理实时流问题,您只需捕获 UDP 数据包并将其发送给它们即可。
由于许可问题,
MPEG2
解码器无法免费(ffmpeg
和VLC
违反了许可),因此您必须购买解码器。访问 http://elecard.com,他们有一系列不错的
MPEG2
产品。You'll need to develop a simple
DirectShow
filter that listens on a given port and just passes down every packet it had received.I don't have a sample handy, but it's really simple, several hundreds lines of code.
Then you just connect this filter to an
MPEG2 Demultiplexer
capable of decodingtransport stream
.NVidia
andElecard
come to mind first, though the former one does not connect under debugger.Then you connect the
demultiplexer
to thedecoder
and finally to therenderer
.The demultiplexers and decoders handle the live stream issues well, you just capture the
UDP
packets and send down to them.Due to licensing issues,
MPEG2
decoders cannot be free (ffmpeg
andVLC
violate the license), so you'll have to buy the decoder.Visit http://elecard.com, they have a nice range of
MPEG2
products.扩展 Quassnoi 的答案...
您可以查看 Haali Media Splitter 来充当“MPEG2 解复用器。” 这是一个过滤器,只是将压缩的视频和声音从传输流中提取出来,所以我猜它不存在任何许可问题。 大多数配备 DVD 播放器的 PC 都已经安装了经过许可的 DirectShow MPEG2 解码器,因此您可以只使用已安装的解码器(或者如果您确实想安全的话,可以从 elecard 等地方购买许可证)。
当您开发 DirectShow 应用程序时,您可能会发现 Monogram GraphStudio设计过滤器链的有用工具。
Expanding on Quassnoi's answer...
You might check out the Haali Media Splitter to act as a "MPEG2 Demultiplexer." This is a filter that just pulls the compressed video and sound out of the transport stream, so I'm guessing it doesn't have any licensing issues. Most PCs with a DVD player on them already have a licensed DirectShow MPEG2 decoder, so you can probably just use one that's already installed (or purchase a license from a place like elecard if you really want to be safe).
As you are developing your DirectShow application, you might find Monogram GraphStudio to be a helpful tool in designing the filter chains.