将DVB-T流捕获到电影文件 [英] Capture a DVB-T Stream to a movie-file

查看:78
本文介绍了将DVB-T流捕获到电影文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个带有电视信号实时视图的表格(来自dvb-t棒)。我从 http://directshownet.sourceforge.net/about.html。
现在我尝试通过单击按钮将流捕获到电影文件中,但是如何?
我使用C#和DirectShow.NET。

I have a form with a liveview of the tv-signal (from dvb-t stick). I've the sampleproject "DTViewer" from http://directshownet.sourceforge.net/about.html. Now I try to capture the stream to a movie-file by clicking a button, but how? I use C# and DirectShow.NET.

我尝试搜索许多sampleprojcets,但这些都是为视频输入而不是带有BDA的dvb-t棒(

I tried to search in many sampleprojcets but these are made for videoinputs not a dvb-t stick with a BDA (Broadcast Driver Architecture) interface.

帮助!

推荐答案

Don'我真的不知道您所说的电影文件到底是什么意思,但是我可以告诉您如何捕获整个MUX(传输流)。

使用 Microsoft DVBT Network Provider创建图形 You_Name_It BDA DVBT调谐器 You_Name_It BDA Digital Capture MPEG-2多路分离器过滤器。
连接它们之后,列举 MPEG-2多路分解器上的所有输出引脚并进行渲染。调整您选择的频率(put_TuneRequest)。

此时,一切就绪,可以运行该图,但不要运行它。
枚举图中的所有过滤器。断开除 Microsoft DVBT Network Provider You_Name_It BDA DVBT Tuner You_Name_It BDA Digital Capture 之外的所有过滤器。

删除所有断开连接的过滤器除了 MPEG-2多路分解器(它没有连接,它必须在图中)之外,从图中过滤掉。添加 Sample Grabber 过滤器和 NULL Renderer 过滤器。将 Digital Capture 过滤器连接到 Sample Grabber ,将 Sample Grabber 连接到 NULL Renderer 。您现在可以运行图形。通过Sample Grabber过滤器中的回调,您将收到整个MUX。当然,仍然有一些工作需要对数据进行多路分解,但是一旦完成,您就可以一次捕获一个MUX中的所有电视节目。最简单的方法是以TS格式捕获它,因为正在广播TS(188字节长的数据包)。

Don’t really know what exactly do you mean by a "movie-file", but I can tell you how to capture the entire MUX (transport stream).

Create a graph with a Microsoft DVBT Network Provider, You_Name_It BDA DVBT Tuner, You_Name_It BDA Digital Capture and MPEG-2 Demultiplexer filters.
Once you connect them, enumerate all output pins on the MPEG-2 Demultiplexer and render them. Tune the frequency of your choice (put_TuneRequest).

At this point everything is ready to run the graph, but don’t run it!
Enumerate all filters in the graph. Disconnect all filters except Microsoft DVBT Network Provider, You_Name_It BDA DVBT Tuner and You_Name_It BDA Digital Capture.

Remove all these disconnected filters from the graph except the MPEG-2 Demultiplexer (it has to be in the graph although it is not connected). Add Sample Grabber filter and NULL Renderer filter. Connect Digital Capture filter to Sample Grabber and Sample Grabber to NULL Renderer. You can run the graph now. Through the callback in Sample Grabber filter you will receive the entire MUX. Of course, there is still some work to demux the data, but once you do that, you can capture all TV programs in one MUX at once. The easiest way is to capture it in a TS format because the TS is being broadcasted (188 bytes long packets).

这篇关于将DVB-T流捕获到电影文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆