在Ubuntu下观看DVB数字电视

CPU/显卡/打印机/USB设备等硬件问题
回复
ylon
帖子: 20
注册时间: 2006-02-01 11:14
来自: http://www.ithoter.com/
联系:

在Ubuntu下观看DVB数字电视

#1

帖子 ylon » 2008-11-27 21:21

现在,数字电视逐渐走入我们的生活,很多城市都有了数字电视的信号。弄一张数字电视卡,在计算机上观看数字电视也成为了很方便的事。Windows下我们可以用 DvbViewer、altdvb等软件来方便的观看电视节目。可是在linux下怎么做才能看呢?本文以Ubuntu 8.04 为操作系统蓝本,进行说明。

首先,解说一下基础知识:
DVB-C、DVB-T、DVB-S、ATSC:
DVB-S用于卫星数字电视广播
DVB-C用于有线(同轴电缆)数字电视广播的
DVB-T用于地面数字电视广播的
其中DVB-S标准已为全球所认同(现在很多卫星都使用这种标准传输视频);DVB-C为欧洲,澳大利亚,北美,南美等一些国家接受(我国一些城市也是采用这种标准,比如上海市,听说就可以收到不少标清和高清频道);DVB-T则用于地面无线数字电视。
ATSC:ATSC是美国的数字电视国家标准,深圳似乎有这个信号
#其实在无线数字电视领域,最广泛的还是国内的几个标准:清华大学的dmb-t、上海交大 adtb-t,以及针对手机电视的cmmb,与本文涉及不大,感兴趣的童鞋请自行去查阅。
===================================
概述:
整个过程大概是 驱动->安装dvb软件->频率列表->频道文件->看电视
===================================
下面开始正文:
因为我人在哈尔滨,使用的linux系统是Ubuntu 8.04,所以都以这些为基本条件。请灵活一些,不要生搬硬套
电视卡是 FlyDVB-T Hybrid CardBus工包,没有遥控器,所以关于遥控的部分也没有
1.驱动:
接上电视卡,如果系统能够自动识别并配置好,那么恭喜你,直接跳过本部分即可(由于电视卡的多重多样,很多人没有这么幸运)如果不是,请继续
输入命令
$ sudo lspci -vvv

能看到电视卡的信息,根据这个找驱动,我用的的卡是这样的(由于我这个卡同时支持模拟和dvb-t信号,仅供参考):

* ①到下面这几个网址去看电视卡列表,这里面包括了电视卡的驱动信息,也就是要找电视卡对应的序号(也不用都看,如果能确认电视卡的芯片,比如philips芯片只要看第三个就可以),如果你的电视卡幸好在这几个列表之中,那么同样恭喜你,可以很容易的解决驱动问题

http://linuxtv.org/hg/v4l-dvb?cmd=file; ... style=/raw
http://linuxtv.org/hg/v4l-dvb?cmd=file; ... ;style=raw
http://linuxtv.org/hg/v4l-dvb?cmd=file; ... ;style=raw
②高频头型号(自己想办法找到自己用的高频头型号,然后到下面的地址去找):
http://linuxtv.org/hg/v4l-dvb?cmd=file; ... ;style=raw
③到 http://linuxtv.org/downloads/firmware/ 下载 firmware ,并复制到 /lib/firmware/ 目录下
如果你不知道下载哪些文件,那就都下载下来吧反正也占用不了多少空间

我的电视卡芯片是philips saa7131e,型号是 FlyDVB-T Hybrid CardBus在型号列表中正好有,是第序号94的那个 高频头是TDA8275a 序号是54
我就在提示符下这样写:
$ modprobe saa7134 card=94 tuner=54
这样驱动就安装好了

$ dmesg

可以看到安装成功与否的相关信息

#假如没有驱动成功,可能是电视卡型号比较偏门,到http://linuxtv.org/ 去找一下相关信息吧。应该能够解决绝大部分问题。

2.安装软件
①安装 dvb-utils
$ sudo apt-get install dvb-utils
②然后就可以尝试搜寻可用的电视台
建立一个文件
如果您和我一样在哈尔滨 内容就可以这样(只有一行):
T 618000000 8MHz 2/3 AUTO QAM16 8k 1/8 NONE
保存文件名为 haerb

扫描:
$ scan haerb > ~/channels.conf
这样,在用户目录里channels.conf 就保存了相关的频道参数,可能有乱码情况,请自己修改一下
(我的内容如下,已经经过修改了 哈尔滨的朋友可以直接拿来用,三个标清频道,记住是DVB-T信号)

a001f:618000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_AUTO:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:111:112:31
a0020:618000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_AUTO:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:121:122:32
a0021:618000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_AUTO:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:131:132:33

如果你安装了mplayer,这时候就可以把 channels.conf 拷贝到 你用户目录中的 .mplayer 里面(mplayer前面有个点)
$ cp channels.conf .mplayer
输入下面的命令就可以看数字电视了 键盘 h 和 l 换频道
$ mplayer dvb://
===============================

注意:这里面有个两个关键,就是我的那个haerb文件 和channels.conf 文件

① 如果您可以在 /usr/share/doc/dvb-utils/examples/scan/dvb-t/ 目录里保存了很多城市的接收参数

能在里面找到你的城市 就最好了 扫描的时候就可以这样(我看了,没有中国大陆的,就以中国台北为例了)
$ scan /usr/share/doc/dvb-utils/examples/scan/dvb-t/tw-Taipei ~/channels.conf
如果没有,就只能自己写一个,不过这就需要知道频道所在频率等等信息,简单的办法就是去windows下把频道扫描了,然后记录下来频率
如果是标清的信号,用你所在地的dvb-t频道频率 直接替换haerb的频率应该就可以 也就是替换掉 618000000
然后按照上面所说的操作即可

如你果成功了,请把频道列表和扫描频道的频率信息文件内容发给我,留言就可以,我汇总一下,这样就可以给更多人打开方便之门

② 关于channels.conf,由于 一个频率能传输好几套标清信号,比如哈尔滨在618000000有6个频道,但是只有3个频道是有节目信号的,所以还需要手动的编辑一下,给频道改个名称(最好是英文的,而且不要带 [ 和 ] )。

至于怎么判断有没有信号,可以每个频道都录制几秒钟,看录制下来的文件大小就很容易判别。
===============================

我安装了一个叫me-tv的小软件,把channels.conf 拷贝到 ~/.me-tv目录里,就可以很方便用了
作者在这里
如果您嫌功能不够 那还有mythtv 这个非常好的软件, 功能非常强大

如果感兴趣的人多,我有空写一个mythtv 的使用说明(其实搜索一下就有很多,我写的也不一定比得上)

===============================

到这里,基本上就完结了,我用的是dvb-t,但是对于dvb-s dvb-c atsc 也应该是适用的,只是扫描频率用的文件和频道等等有些不同(个人更期待有用锅接收卫星dvb-s的朋友,这样节目就会很丰富了)。

还有一些应用,比如把接收到的电视节目,用网络广播出去等等还没有时间去搞。抛砖引玉,有不当之处还请提出,我会尽快修改。

还有,成功之后,请不要忘记把频道列表和扫描频道的频率信息文件贴出来,我会整理出来 帮助更多的人。
ccqqwheat
帖子: 81
注册时间: 2007-10-04 18:46

Re: 在Ubuntu下观看DVB数字电视

#2

帖子 ccqqwheat » 2008-12-29 16:48

顶了,非常好哦楼主
头像
大宝
帖子: 3050
注册时间: 2008-06-30 22:32
联系:

Re: 在Ubuntu下观看DVB数字电视

#3

帖子 大宝 » 2009-01-04 23:27

尽管我没用这东东,不过见到好经验,一定要顶起
:em56
hua19900322
帖子: 21
注册时间: 2012-06-09 19:50

Re: 在Ubuntu下观看DVB数字电视

#4

帖子 hua19900322 » 2012-09-04 10:47

顶起 最近在研究这个 只是弄错了 我收上的时国标DMB-TH 的 ,我一直当成是DVB-T的在研究 搞了好几天 结果发现弄错了 不过还是学到点东西了
我用DVB-T的频道范围去扫描DMB-TH的 结果失败 。。。。
目前还没弄清楚DMB-TH 的那个频道范围的文件怎么写 继续研究
希望哪位大侠路过的时候看一下我发的这个贴 谢谢啦
viewtopic.php?f=74&t=385916
hua19900322
帖子: 21
注册时间: 2012-06-09 19:50

Re: 在Ubuntu下观看DVB数字电视

#5

帖子 hua19900322 » 2012-09-04 13:28

顶起 好东西 最近也在研究这方面的东西 不过时国标DMB-TH的 之前一直以为是DVB-T 的 ,在ubuntu11.10下scan了好久(/usr/share/dvb/dvb-t/ch-All 这个是中国)
就是失败 可怜的 不知要scan DMB-TH 的话 应该怎么弄呢?ubuntu下 这个文件的格式应该如何写 scan也不知到是不是支持DMB-TH
还望路过的高手指点一二啊?/usr/share/目录下没有DMB相关的目录 是不是只能自己写一个文件 告诉scan 要搜索那些频率范围?
我发的帖子如下
viewtopic.php?f=74&t=385916
xiaole51
帖子: 2
注册时间: 2016-10-18 21:55
系统: ubuntu

Re: 在Ubuntu下观看DVB数字电视

#6

帖子 xiaole51 » 2016-12-13 10:03

有驱动就好办事.
安卓机器上安装ubuntu后想驱动自带的dvb-c.
驱动找不到,
芯片型号.mxl241sf
回复