IPTV Q&A

来自IPTV爱好者
跳转至: 导航搜索
Q: 如何进入机顶盒设置管理界面?
A: 按遥控器上的“设置”按钮,屏幕上显示密码输入框,中兴机顶盒的管理密码为:6321,同洲机顶盒的管理密码为:123456。
Q: 机顶盒中的DHCP鉴权是什么意思?
A: 局端为了限制用户端的接入,对DHCP协议进行了扩展,增加了Option 60,其中包含了用户账号和密码,具体协议以后详细
   讨论。PC机的DHCP协议不支持DHCP鉴权,所以就无法获取IP地址,不过可以按照电信的协议文档改写DHCP客户端。
   IPTV承载网络DHCP接入技术规范
Q: IPTV 2.0平台的鉴权方式与1.0平台的区别在哪里?
A: IPTV 1.0平台鉴权时发送用户名和密码的明文,2.0平台做了改进,无法通过抓包获取用户名和密码。
Q: 能不能把IPTV上的节目录下来?
A: 可以通过修改live555,实现把IPTV的节目录下来,格式为H.264 TS,在PC机上播放。具体实现方法稍后讨论。
Q: 如何用串口连接机顶盒?
A: 机顶盒主板上有一个双排8 Pin插座,B600V4的丝印编号为X11,B600V4A的丝印编号为X3。
   拿起机顶盒主板,输出接口对着自己,插座左上角的针为1号、右上角的针为2号,依次类推。
   1号针是VCC,电压为3.3V,如果使用TTL转EIA电平模块,则需要接该针供电;
   2号针是GND;5号针是RX,TTL电平;6号针是TX,TTL电平。
   最方便的办法是使用USB转TTL模块,俗称刷机线,淘宝上能买到。只需要接GND、RX和TX三根线。
   串口通信参数为:115200 8N1
Q: 如何用Telnet登录机顶盒?
A: 缺省情况下,机顶盒不支持Telnet登录,但可以通过修改机顶盒内的配置文件打开Telnet服务。解决方法有两种,
   1. 用串口线连接计算机和机顶盒,通过超级终端或minicom登录机顶盒,修改 /etc/rc.d/rcS 文件,
      将其中的一行:#/usr/sbin/telnetd -l /bin/sh 前面的“#”删除;
   2. 通过升级修改过的升级包,在cramfs分区的 bin/start 文件中添加一行:/usr/sbin/telnetd -l /bin/sh
Q: 如何搭建自己的升级服务器?
A: 在自己的PC上安装Web服务器,可以安装微软的IIS或开源的Apache。Apache Web服务器可在http://httpd.apache.org/download.cgi下载。
   先找到Web服务器的根目录,IIS的根目录通常是C:\InetPub\wwwroot,Apache的根目录通常是安装目录下的htdocs目录。
   然后在根目录下创建一个B600子目录,把升级文件拷贝到该目录中。
   找出PC机的IP地址,例如: 192.168.1.100,那么在机顶盒里设置的升级服务器地址应为:http://192.168.1.100/B600/
Q: 如何通过升级配置文件的方式修改机顶盒的配置参数?
A: 首先要搭建一个用于升级的Web服务器(详见专门的Q&A),然后准备升级服务器的相关配置文件。
   zteSTBVer.cfg为升级服务器的配置文件,机顶盒每次开机时先从升级服务器上下载改文件,根据机顶盒的硬件版本找对对应的升级配置项,如:
     [Model=ZXB600V4A(STBSD-ST5205-000)]
     AppName=safe Version=402021 Location="safe_40232407.jpg" Destination="/dev/mtd2" Rules={Y(!402021)}
     AppName=logo Version=402025 Location="logo_402025.jpg" Destination="/dev/mtd5" Rules={Y(!402025)}
     AppName=StbCfgInfo Version=324072 Location="stb_32407.cfg" Destination="/etc/stb.cfg" Rules={Y(!324072)}
     AppName=allmtd Version=40232407 Location="allmtd_40232407.jpg" Destination="/dev/mtd6" Rules={Y(!40232407)} 
   上面有四个升级项目:safe是安全模式内核和根文件、logo是开机画面、StbCfgInfo是机顶盒配置参数、allmtd是机顶盒的工作内核、文件系统。
   如果要让机顶盒升级新的配置文件,则需要修改版本号,如:
     AppName=StbCfgInfo Version=324082 Location="stb_32408.cfg" Destination="/etc/stb.cfg" Rules={Y(!324082)}
   stb_32408.cfg为新的配置参数文件,内容除了Copy原来的内容外,需要把第一行的版本信息修改。
     #stb.cfg file for jiangsuB600,Version=32408
     [Common]
     HomePage     	=http://58.223.251.139:8298/auth
     VersionServer	=http://192.168.3.111/32207/
     MacAddr		=1A:2B:3C:4D:5E:6F
   
   通过修改配置参数文件,能修改机顶盒的几乎所有配置参数。
Q: 如何修改机顶盒的EPG服务器、序列号、MAC地址等参数?
A: 首先要设法登录机顶盒,然后用vi编辑器修改 /etc/stb.cfg 文件,该文件包含了机顶盒的所有配置项。
   stb.cfg文件修改保存后,运行cfginit命令,将配置项写入Flash。
Q: 为什么把机顶盒接在路由器后面会出现IP绑定错误?
A: 由于IPTV承载网络和Internet网是分开的,虽然鉴权服务器能从Internet访问,
   但它能从机顶盒提交的参数中发现机顶盒不是从IPTV专用网络访问。要解决这个问题,
   一是让电信帮你把帐号改成可以从Internet访问,这恐怕有点难度;
   二是自己想办法解决,例如通过自己架设的代理服务器,让机顶盒通过代理服务器访问鉴权服务器。
   代理服务器修改机顶盒提交的参数,然后转发到鉴权服务器,这样就能骗过鉴权服务器。
Q: 一直有人问能不能两台IPTV机顶盒同时看?
A: 首先你家的网络带宽要够,一路IPTV需要3M带宽,如果你家里的ADSL是4M+3M,那么具备了两台机顶盒同时看的条件。
   下一步就是要解决网络接入的问题,IPTV承载网有PPPoE和DHCP两种方式,PPPoE的用户名是ADSL帐号后加@iptv,如果Radius
   服务器只允许一个PPPoE连接,那么第二连接时可能的结果是:出现鉴权错误或第一个连接断开。要解决这个问题,第二个机
   顶盒得使用Internet连接。但是,机顶盒通过鉴权后得到的EPG服务器地址只能从IPTV承载网访问,不能从Internet访问。
   解决方案是:使用代理服务器,处理局端平台返回的数据,把EPG服务器换成能从Internet访问的服务器。据我所知,电信部
   署了几台能从Internet访问的EPG服务器,直播节目是用单播方式传输的。
Q: 如何让中兴IPTV机顶盒运行自己写的程序?
A: 搭建开发环境:在VMware虚拟机中安装Linux(CentOS, Fedora, Ubuntu均可),下载STLinux-2.3-sh4_uclibc-03-11-07.iso,安装STLinux。 
   可以用C或C++开发应用程序,例如: hello.c 的内容为:
       #include <stdio.h>
       int main() {
           printf("Hello, world!\n");
           return 0;
       }
   编译、连接命令为:sh4-linux-uclibc-gcc -o hello hello.c
   生成可执行文件hello,设法上传到机顶盒中,然后通过 chmod a+x hello 修改可执行权限,./hello 运行该程序。
Q: 怎样让自己写的程序在机顶盒开机时自动运行?
A: 机顶盒开机启动时将执行脚本文件 /etc/rc.d/rcS,把自己程序的运行代码加到该文件中即可。如果需要在后台运行,记得在命令后加&。
Q: 如何在机顶盒网卡上绑定一个内网IP地址?
A: 机顶盒网卡的工作方式和IP地址是在机顶盒的配置界面里选择的,可以是PPPoE拨号方式或DHCP方式,
   通过获取的IP地址都是电信自动分配的公网IP地址。在某些场合,我们需要在机顶盒的网卡上绑定一
   个家里内网的IP地址,前提条件是机顶盒的网卡与家里的路由器的LAN口是同一VLAN。登录机顶盒,
   修改/etc/rc.d/rcS文件中的一行:ifconfig eth0 192.168.1.12,改成:
       ifconfig eth0:0 192.168.15.100
   这里的192.168.15.100是与内网IP同一网段的某个地址。
Q: 如何修改IPTV平台送过来的EPG内容?
A: 要动态修改EPG内容,有一个可行的方法:使用代理服务器。具体思路是:
   先把机顶盒里的鉴权服务器地址改为:http://127.0.0.1/_/58.223.251.139:8298/auth ,然后自己写一个代理服务器程序,
   该代理服务器运行在机顶盒内,并设置为开机自动运行。代理服务器根据GET或POST URL里的真实IP地址,把请求转发到
   EPG服务器,然后把EPG服务器返回的内容再转给机顶盒,在转给机顶盒之前可以修改其中的内容。例如把首页里的视频窗口
   清除掉,防止机顶盒只要开着就占用带宽。代理服务器示例代码