DVB录制频道

时间:2011-03-26 12:11:47

标签: directshow

我正在尝试使用DVB-T调谐器录制DVB频道。 我已经对这个主题做了很多研究,但我没有得到真正的“信息”做什么。

基本上我已经能够使用默认的GraphEdit创建自己的图表,发出调优请求并观看频道。使用DirectShowLib或C ++将图形转换为C#代码对我来说不是一个大问题。

但我不知道,录制电影的正确方法是什么。 (不用解码到mpeg / avi等等。)

1 个答案:

答案 0 :(得分:0)

图中最重要的部分是一些与调谐相关的滤波器,它们连接到多路分解器(demux),而demux将输出视频和音频流。

获取mpeg流的最简单方法是在demux之前放置一个过滤器。例如,一个samplegrabber。在那里,您将收到广播时的完整传输流。但通常包含multiple programs,它们在同一频率上复用。如果您只需要一个程序,则需要从流中过滤掉其他程序。

如果您只需要一个程序,则可能更容易将来自多路分解器的音频和视频流直接连接到多路复用器,并将其输出写入文件。您需要确保demux和多路复用器之间没有解码器或任何其他过滤器。问题是你需要找到一个directshow多路复用器,因为windows不包含标准的多路复用器。我不知道任何免费的多路复用器。

您还可以将音频和视频直接写入文件。 (再次没有解码,或其他任何东西)。然后使用例如ffmpeg将音频和视频加入单个文件。

C:\> ffmpeg -i input.m2v -i input.mp2 -vcodec copy -acodec copy output.mpg

您可能还需要延迟音频或视频流以使其同步。

当然,您还可以使用ffmpeg将convert多程序传输流用于单个程序流。