热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

卫星电视卡在linux下的应用

卫星电视卡在linux下的应用--Linux通用技术-Linux技术与应用信息,下面是详情阅读。
硬件环境:
cpu AMD2500+
显卡:铭宣ti4200
硬盘:希捷120G
RAM:kingmax512 * 2
DVB-S卡 TwinHan VP-1020A (双汉1020卡 红版)
中卫60cm的偏馈锅
ask 11300单本振高频头 收Agials146E (接在四切一的lnb1)
百昌 9750 10600 双本振高频头 收ApStar-1(接在四切一的lnb2)
佳讯四切一

软件环境:
系统:FC3
内核:2.6.16.15.kis
所需的软件:
linux-2.6.16.15.tar.bz2
linuxtv-dvb-apps-1.1.0.tar.tar
xine-lib-cvs-20060319194500.tar.tar
xine-ui-cvs-20060319194500.tar.tar
vdr-1.3.38.tar.bz2
vdr-xine-0.7.9.tgz
vdr-femon-0.9.6.tgz(可选)
vdr-sc-0.5.6.tar.gz (可选)
streamdev.tar(可选)
VDRMediaClient.0.0.0.7beta.zip(windows的卫星电视客户端)

一:重新编译内核使它支持DVB-S卡
下载新内核
wget http://www.kernel.org/pub/linux/ ... x-2.6.16.15.tar.bz2
mv linux-2.6.15.4.tar.bz2 /usr/src
cd /usr/src
tar -jxvf linux-2.6.16.15.tar.bz2
cd linux-2.6.16.15
make xconfig
配置内核
Device Drivers-->Multimedia devices-->Video For Linux -->BT848 Video For Linux (模块)
Device Drivers-->Digital Video Broadcasting Devices -->DVB For Linux -->DVB Core Support(模块)
Device Drivers-->Digital Video Broadcasting Devices -->DVB For Linux -->BT8xx based PCI cards(模块)
保存退出
make
make modules_install
make install
reboot

选择新内核进系统

二:1020卡模块的加载设备权限的设置
modprobe bttv i2c_hw=1 card=0x71 (如果是蓝版1020卡用0X68)
modprobe dvb-bt8xx
modprobe dst
less /var/log/messages
加载模块后可以看到有以下输出信息
May 16 19:48:20 kis kernel: bttv: driver version 0.9.16 loaded
May 16 19:48:20 kis kernel: bttv: using 8 buffers with 2080k (520 pages) each for capture
May 16 19:48:20 kis kernel: bttv: Bt8xx card found (0).
May 16 19:48:20 kis kernel: bttv0: Bt878 (rev 17) at 0000:01:0a.0, irq: 11, latency: 32, mmio: 0xd8000000
May 16 19:48:20 kis kernel: bttv0: detected: Twinhan VisionPlus DVB [card=113], PCI subsystem ID is 1822:0001
May 16 19:48:20 kis kernel: bttv0: using: Twinhan DST + clones [card=113,insmod option]
May 16 19:48:20 kis kernel: input: i2c IR (Hauppauge) as /class/input/input4
May 16 19:48:20 kis kernel: ir-kbd-i2c: i2c IR (Hauppauge) detected at i2c-1/1-001a/ir0 [bt878 #0 [hw]]
May 16 19:48:20 kis kernel: bttv0: using tuner=4
May 16 19:48:20 kis kernel: bttv0: add subdevice "dvb0"
May 16 19:48:20 kis kernel: bt878: AUDIO driver version 0.0.0 loaded
May 16 19:48:20 kis kernel: bt878: Bt878 AUDIO function found (0).
May 16 19:48:20 kis kernel: bt878_probe: card id=[0x11822],[ Twinhan VisionPlus DVB ] has DVB functions.
May 16 19:48:20 kis kernel: bt878(0): Bt878 (rev 17) at 01:0a.1, irq: 11, latency: 32, memory: 0xd8001000
May 16 19:48:20 kis kernel: DVB: registering new adapter (bttv0).
May 16 19:48:20 kis kernel: dst_get_device_id: Recognise [DST-03T]
May 16 19:48:20 kis kernel:
May 16 19:48:21 kis kernel: DST type flags : 0x2 ts204 0x4 symdiv 0x10 firmware version = 2
May 16 19:48:21 kis kernel: dst_get_mac: MAC Address=[00:08:ca:68:03:00]
May 16 19:48:21 kis kernel: DVB: registering frontend 0 (DST DVB-S)...

当正确加载了模块后会在/dev/下出现
/dev/dvb0.demux0
/dev/dvb0.dvr0
/dev/dvb0.frontend0
/dev/dvb0.net0
以上四个设备文件。
但是vdr和linuxtv-dvb-apps软件里默认的设备文件路径是
/dev/dvb/adapter0/demux0
/dev/dvb/adapter0/dvr0
/dev/dvb/adapter0/frontend0
/dev/dvb/adapter0/net0
为了使上述两个软件正常工作所以我们要做一个软连接
mkdir -P /dev/dvb/adapter0
cd vb/adapter0
ln -s /dev/dvb0.frontend0 /dev/dvb/adapter0/frontend0
ln -s /dev/dvb0.demux0 /dev/dvb/adapter0/demux0
ln -s /dev/dvb0.dvr0 /dev/dvb/adapter0/dvr0
ln -s /dev/dvb0.net0 /dev/dvb/adapter0/net0
修改设备的访问权限使普通用户也可以访问。
chmod -R 666 /dev/dvb0.*
chmod -R 666 /dev/dvb

三:准备好卫星频道参数和扫描节目。
cd /usr/local
wget http://www.linuxtv.org/download/ ... -apps-1.1.0.tar.bz2
tar -jxvf linuxtv-dvb-apps-1.1.0.tar.bz2
cd linuxtv-dvb-apps-1.1.0
make
cd util/scan/dvb-s
touch Agials146E
touch ApStar-1
gedit Agials146E
编辑Agials146E文件加入以下卫星频道参数:卫星频道参数可以到http://www.asiatvro.com/channel/index.asp这个网站查询。注意以下参数是针对ku高频头的。c头的请自己修改。
S 12301000 H 25600000 5/6
S 12501000 H 30000000 5/6
S 12540000 H 25600000 5/6
S 12541000 V 26000000 5/6
S 12581000 H 25600000 5/6
S 12661000 H 25600000 5/6
然后保存退出。
gedit ApStar-1
编辑ApStar-1文件加入以下卫星频道参数:卫星频道参数可以到http://www.asiatvro.com/channel/index.asp这个网站查询。注意以下参数是针对ku高频头的。c头的请自己修改。
S 12302000 V 30000000 5/6
S 12354000 V 43000000 3/4
S 12396000 V 14320000 5/6
S 12425000 V 30000000 5/6
S 12490000 V 21600000 3/4
S 12538000 V 41248000 1/2
然后保存退出。
cd ..
./scan -l 11300 -x 0 -s 0 dvb-s/Agials146E > /home/kis/channels.conf (如果设置正确可以听到1020卡的继电器“的”声响)
##-l参数是高频头的类型,可以用./scan -l help查看,因为我的高频头的单本振的11300,所以-l 11300。
cd /home/kis
cp channels.conf ./.xine
cd /usr/local/linuxtv-dvb-apps-1.1.0/util/szap
./szap -l 11300 -c /home/kis/channels.conf "JCTV" -r (锁定频道,JCTV是channels.conf里的频道名字)
xine stdin://mpeg2 或则
gmplayer /dev/dvb0.dvr0
如果可以看得到电视就表示1020卡可以正常使用。

四:安装vdr软件
cd /
mkdir video
chmod 777 video
cd /usr/local/src
wget http://home.vrweb.de/~rnissl/xine-lib-cvs-20060319194500.tar.bz2
wget http://home.vrweb.de/~rnissl/xine-ui-cvs-20060319194500.tar.bz2
wget http://home.vrweb.de/~rnissl/vdr-xine-0.7.9.tgz
wget ftp://ftp.cadsoft.de/vdr/Developer/vdr-1.3.38.tar.bz2
wget http://vdr.bluox.org/download/vdr-sc/vdr-sc-0.5.6.tar.gz
wget http://vdr.bluox.org/download/vdr-femon/vdr-femon-0.9.6.tgz
wget http://vdr.bluox.org/download/vdr-streamdev/streamdev.tar
tar -jxvf vdr-1.3.38.tar.bz2
tar -zxvf vdr-sc-0.5.6.tar.gz
tar -zxvf vdr-xine-0.7.9.tgz
tar -zxvf vdr-femon-0.9.6.tgz
tar -xvf streamdev.tar
tar -jxvf xine-lib-cvs-20060319194500.tar.bz2
tar -jxvf xine-ui-cvs-20060319194500.tar.bz2
mv sc-0.5.6 vdr-1.3.38/PLUGINS/src
mv xine-0.7.9 vdr-1.3.38/PLUGINS/src
mv femon-0.9.6 vdr-1.3.38/PLUGINS/src
mv streamdev vdr-1.3.38/PLUGINS/src
cd vdr-1.3.38/PLUGINS/src
mv vdr-sc-0.5.6 sc
mv xine-0.7.9 xine
mv femon-0.9.6 femon
cd ../../
patch -p1 <./PLUGINS/src/sc/patches/vdr-1.3.38-ffdecsa-0.1.3.diff
patch -p1 <./PLUGINS/src/sc/patches/vdr-1.3.38-sc.diff
gedit recording.h 修改#define FRAMESPERSEC 25,把25改30,保存退出,让它支持NTSC。
cd ..
patch -d. -p0 cd vdr-1.3.38
make --vfat --lirc
make plugins IRDETO=1 SECA=1 VIACCESS=1 NAGRA=1 CARDCLIENT=1 SHL=1 COnAX=1 DBG=1
make install
cd ../xine-lib
./autogen.sh
make
make install
cd ../xine-ui
./autogen.sh --enable-vdr-keys
make
make install

五:配置vdr参数
cd /video
mkdir -p plugins/xine
mkdir Plugins/nagra
cd /usr/local/src/vdr-1.3.38
cp *.conf /video
cp /usr/local/src/vdr-1.3.38/PLUGINS/src/xine/data/noSignal.mpg /video/plugins/xine/noSignal.mpg
cd /video
gedit sources.conf
加入你正在接收的卫星
S138E ApStar-1
S146E Agials 2
保存退出

LNB与Diseqc设置文件 - diseqc.conf

[E0 10 38 C0] 代表diseqc的第1个端口 也可以用 [E0 10 38 F0] [E0 10 38 F1] [E0 10 38 F2] [E0 10 38 F3]
[E0 10 38 C4] 代表diseqc的第2个端口 也可以用 [E0 10 38 F4] [E0 10 38 F5] [E0 10 38 F6] [E0 10 38 F7]
[E0 10 38 C8] 代表diseqc的第3个端口 也可以用 [E0 10 38 F8] [E0 10 38 F9] [E0 10 38 FA] [E0 10 38 FB]
[E0 10 38 CC] 代表diseqc的第4个端口 也可以用 [E0 10 38 FC] [E0 10 38 FD] [E0 10 38 FE] [E0 10 38 FF]

下面的参数是双本振 9750-10600的范本 下面是单本振 11300的范本
#SAT765 -765 -Port 1 #SAT765 -765 -Port 1
S76.5E 11700 V 9750 t v W15 [E0 10 38 C0] t S76.5E 99999 V 11300 t v W15 [E0 10 38 C0] T
S76.5E 99999 V 10600 t v W15 [E0 10 38 C0] T S76.5E 99999 H 11300 t V W15 [E0 10 38 C0] T
S76.5E 11700 H 9750 t V W15 [E0 10 38 C0] t
S76.5E 99999 H 10600 t V W15 [E0 10 38 C0] T

#SAT146 -146 -Port 2 #SAT146 -146 -Port 2
S146E 11700 V 9750 t v W15 [E0 10 38 C4] t S146E 99999 V 11300 t v W15 [E0 10 38 C4] T
S146E 99999 V 10600 t v W15 [E0 10 38 C4] T S146E 99999 H 11300 t V W15 [E0 10 38 C4] T
S146E 11700 H 9750 t V W15 [E0 10 38 C4] t
S146E 99999 H 10600 t V W15 [E0 10 38 C4] T

#SAT138 -138 -Port 3 #SAT138 -138 -Port 3
S138E 11700 V 9750 t v W15 [E0 10 38 C8] t S138E 99999 V 11300 t v W15 [E0 10 38 C8] T
S138E 99999 V 10600 t v W15 [E0 10 38 C8] T S138E 99999 H 11300 t V W15 [E0 10 38 C8] T
S138E 11700 H 9750 t V W15 [E0 10 38 C8] t
S138E 99999 H 10600 t V W15 [E0 10 38 C8] T

#SAT122 -122 -Port 4 #SAT122 -122 -Port 4
S122E 11700 V 9750 t v W15 [E0 10 38 CC] t S122E 99999 V 11300 t v W15 [E0 10 38 CC] T
S122E 99999 V 10600 t v W15 [E0 10 38 CC] T S122E 99999 H 11300 t V W15 [E0 10 38 CC] T
S122E 11700 H 9750 t V W15 [E0 10 38 CC] t
S122E 99999 H 10600 t V W15 [E0 10 38 CC] T

参数说明:
V 垂直极化 H 水平极化
t 22K 关 T 22K 开
v 13V V 18V
A mini A B mini B
Wnn 等待nn毫秒 [xx ...] hex码命令队列

修改四切一的设置文件
gedit diseqc.conf (四切一的设置文件,具体内容参照上面修改)
S146E 99999 V 11300 t v W15 [E0 10 38 C0] T
S146E 99999 H 11300 t V W15 [E0 10 38 C0] T

S138E 11700 V 9750 t v W15 [E0 10 38 C4] t
S138E 99999 V 10600 t v W15 [E0 10 38 C4] T
S138E 11700 H 9750 t V W15 [E0 10 38 C4] t
S138E 99999 H 10600 t V W15 [E0 10 38 C4] T
保存退出

gedit setup.conf (注意四切一和lnb的设置)
ChannelInfoPos = 1
CurrentChannel = 10101
CurrentVolume = 255
DefaultLifetime = 99
DefaultPriority = 50
DiSEqC=1 (DiSEqC=0时,表示不使用Diseqc开关 DiSEqC=1时,则表示使用Diseqc开关)
EPGBugfixLevel = 2
EPGLanguages =
EPGLinger = 0
EPGScanTimeout = 5
InstantRecordTime = 180
LnbFrequHi = 11300 #lnb的型号
LnbFrequLo = 11300 #lnb的型号
LnbSLOF = 0
MarginStart = 2
MarginStop = 2
MarkInstantRecord = 1
MaxVideoFileSize = 2000
MenuScrollPage = 0
MinEventTimeout = 30
MinUserInactivity = 120
MultiSpeedMode = 1
NameInstantRecord = TITLE EPISODE
OSDHeight = 410
OSDLanguage = 0
OSDLeft = 55
OSDMessageTime = 1
OSDSkin = classic
OSDTheme = default
OSDTop = 30
OSDWidth = 608
PauseLifetime = 1
PausePriority = 10
PrimaryDVB = 1
PrimaryLimit = 0
RecordDolbyDigital = 1
RecordingDirs = 1
ResumeID = 0
SetSystemTime = 0
ShowInfoOnChSwitch= 1
ShowReplayMode = 1
SortTimers = 1
SplitEditedFiles = 1
SVDRPTimeout = 300
TimeTranspOnder= 412632
UpdateChannels = 3
UseSmallFOnt= 0
UseSubtitle = 1
UseVps = 0
VideoFormat = 0
VpsMargin = 120
ZapTimeout = 3
sc.LoggerActive = 1
sc.LoggerTimeout = 0
sc.Nagra.MinEcmTime = 400
sc.ScCaps = 1 2
保存退出

六:测试vdr
扫描vdr格式的频道文件
cd /usr/local/src/linuxtv-dvb-apps-1.1.0/uitl/scan
./scan -l 11300 -x 0 -o vdr -s 0 dvb-s/Agials146E > /video/channels.conf
在卫星节目扫描后,检查节目表中的卫星名称会和sources.conf 及diseqc.conf一不一致,请手动修改确保一致,否则无法接收节目
Star Chinese:12541:v:S146E:26600:164:96:0:1:29:0:0:0
TVBS-N;D-Sky:12302:v:S138E:30000:102:103:0:500:1:1:100:0
用xine测试vdr
xine
cd /usr/local/src/vdr-1.3.38
./vdr -Psc -P'xine -r' -Pfemon -P streamdev-server
在xine的控制面板里有一个VDR的按纽,在启动./vdr后点击在xine中VDR的按纽
刚开始先设置键盘控制,设置好后就可以使用了。
更多的设置请查看各插件里的文挡

七:windows客户端的设置
解压缩VDRMediaClient.0.0.0.7beta.zip
复制/video下的channels.conf 到VDRMediaClient.0.0.0.7beta目录下
修改VDRMediaClient.ini
streamdev=0.3.3b
IP= 192.168.0.200 (修改为linux vdr的ip)
video0=\\192.168.0.200\video (linux下samba共享vdr的录制目录,客户端口播发录制的节目)

vdr可以通过插件实现非常强大的功能。更强大的功能大家自己去体会。
推荐阅读
  • 服务器上的操作系统有哪些,如何选择适合的操作系统?
    本文介绍了服务器上常见的操作系统,包括系统盘镜像、数据盘镜像和整机镜像的数量。同时,还介绍了共享镜像的限制和使用方法。此外,还提供了关于华为云服务的帮助中心,其中包括产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题和视频帮助等技术文档。对于裸金属服务器的远程登录,本文介绍了使用密钥对登录的方法,并提供了部分操作系统配置示例。最后,还提到了SUSE云耀云服务器的特点和快速搭建方法。 ... [详细]
  • Skywalking系列博客1安装单机版 Skywalking的快速安装方法
    本文介绍了如何快速安装单机版的Skywalking,包括下载、环境需求和端口检查等步骤。同时提供了百度盘下载地址和查询端口是否被占用的命令。 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • YOLOv7基于自己的数据集从零构建模型完整训练、推理计算超详细教程
    本文介绍了关于人工智能、神经网络和深度学习的知识点,并提供了YOLOv7基于自己的数据集从零构建模型完整训练、推理计算的详细教程。文章还提到了郑州最低生活保障的话题。对于从事目标检测任务的人来说,YOLO是一个熟悉的模型。文章还提到了yolov4和yolov6的相关内容,以及选择模型的优化思路。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • Webmin远程命令执行漏洞复现及防护方法
    本文介绍了Webmin远程命令执行漏洞CVE-2019-15107的漏洞详情和复现方法,同时提供了防护方法。漏洞存在于Webmin的找回密码页面中,攻击者无需权限即可注入命令并执行任意系统命令。文章还提供了相关参考链接和搭建靶场的步骤。此外,还指出了参考链接中的数据包不准确的问题,并解释了漏洞触发的条件。最后,给出了防护方法以避免受到该漏洞的攻击。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 本文讨论了在数据库打开和关闭状态下,重新命名或移动数据文件和日志文件的情况。针对性能和维护原因,需要将数据库文件移动到不同的磁盘上或重新分配到新的磁盘上的情况,以及在操作系统级别移动或重命名数据文件但未在数据库层进行重命名导致报错的情况。通过三个方面进行讨论。 ... [详细]
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
author-avatar
yangcong
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有