woff 發表於 2008-8-21 17:43:25

在 Linux 上觀看數位電視

http://blog.t-times.net/ada/space/start/2007-06-05/1
http://www.spinics.net/lists/vfl/msg24353.html
http://linuxtv.org/
因為在 XDite 看到 http://blog.t-times.net/ada/theme/images/Icon-Extlink.png數位電視棒又來了,大家快搶 XD 這則訊息,所以在 http://blog.t-times.net/ada/theme/images/Icon-Extlink.png博客來 訂了一本用不到的 Windows Vista升級調校高手制霸技 一書,以及所附贈的數位電視棒乙隻。好了,現在的問題變成如何在 Linux 上看數位電視了。
驅動數位電視棒

其實 Linux 核心已經支援了不少的數位電視控制晶片,所以最簡單的作法就是將這些支援全部編成模組型式。方式有兩種:
[*]透過 linuxtv.org 上的 DVB 工具,可以參考 Ubuntu Wiki 的 http://blog.t-times.net/ada/theme/images/Icon-Extlink.png用Linux看數位電視。[*]直接由 Kernel 重新編譯:也就是勾選 Device Drivers --> Multimedia devices--> Digital Video Broadcasting Devices -->[*]DVB For Linux及所屬的模組後(當然 Video for Linux 支援也要開啟才行)重新 make; make modules_install 即可。完成驅動程式準備後即可將電視棒插入 USB 槽中,只要 kernel有支援的話應該就會出現類似以下的訊息,告知系統找到了什麼裝置(如 MSI Digivox Mini SL),還少了什麼東西(did notfound the firmware file ): usb 2-1: new high speed USB device using ehci_hcd and address 25usb 2-1: configuration #1 chosen from 1 choicedvb-usb: found a 'MSI Digivox Mini SL' in cold state, will try to load a firmwaredvb-usb: did not find the firmware file. ( dvb-usb-dibusb-6.0.0.8.fw ) Please see linux/Documentation/dvb/ for more details on firmware-problems. (-2)dvb_usb_dibusb_mc: probe of 2-1:1.0 failed with error -2usbcore: registered new interface driver dvb_usb_dibusb_mcusb 2-1: USB disconnect, address 25安裝 Firmware

Firmware 的問題比較簡單,因為第一次插入電視棒時系統便會主動告知,如上例的 dvb-usb-dibusb-6.0.0.8.fw 這個檔案,然後到 LinuxTV 的 http://blog.t-times.net/ada/theme/images/Icon-Extlink.pngFirmware 下載區 找到對應的檔案後下載並存放到 /lib/firmware 目錄下(可能必須自行建立)即可。不過如果系統無法明白告知所需的 Firmware 檔名的話只能請您結哀順便,等 kernel 改版後再試試看是否支援。
另外 Gentoo 的 portage 中已經提供了一整包 firmware 檔,安裝方式如下例:
# 若知道晶片組時可以指定 DVB_CARDS 變數限制安裝的 firmware,不然會全部安裝的。
$ emerge -v linuxtv-dvb-firmware
完成 firemware 檔案設定後即可重新拔插電視棒乙次,這次系統會自動載入 firmware 並回應初始化作業完成的訊息,如下例:
usb 2-1: new high speed USB device using ehci_hcd and address 27usb 2-1: configuration #1 chosen from 1 choicedvb-usb: found a 'MSI Digivox Mini SL' in warm state.**WARNING** I2C adapter driver forgot to specify physical device; fix it!dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.DVB: registering new adapter (MSI Digivox Mini SL).**WARNING** I2C adapter driver forgot to specify physical device; fix it!DVB: registering frontend 0 (DiBcom 3000MC/P)…MT2060: successfully identified (IF1 = 1220)input: IR-receiver inside an USB DVB receiver as /class/input/input7dvb-usb: schedule remote query interval to 150 msecs.dvb-usb: MSI Digivox Mini SL successfully initialized and connected.設定頻道資訊

因為各地頻率、信號強弱不同的關係,必須先進行頻道掃描後才能提供播放工具訊號源的參考資訊。頻道掃瞄工具由 http://blog.t-times.net/ada/theme/images/Icon-Extlink.pngLinux TV 提供,全名為 http://blog.t-times.net/ada/theme/images/Icon-Extlink.pnglinuxtv-dvb-apps 。Gentoo 使用者可以直接 emerge linuxtv-dvb-apps 即可完成安裝程序。
完成頻道掃瞄工具安裝之後即可進行頻道掃描,主要的目的是產生 channels.conf以提供各類播放工具參考使用。除了 http://blog.t-times.net/ada/theme/images/Icon-Extlink.png用Linux看數位電視 中的 http://blog.t-times.net/ada/theme/images/Icon-Extlink.pngTW.TXT 頻率參考表外,其實 Linux Kernel 也內建了一個頻率參考表 tw-Taipei(兩者不太一樣)可供參考,可以分別試試看是否可正常使用。
建立頻道列表必須透過頻率參考表進行,在 Gentoo 下(若非使用 Gentoo portage安裝相關套件者,請自行參考安裝說明內之執行檔名及路徑)可以透過 dvbscan 指令進行,如下例(使用系統內附之頻率參考表,因為我無法使用tw.txt 內的設定):
$ dvbscan /usr/share/dvb/scan/dvb-t/tw-Taipei > ~/.mplayer/channels.conf
※在掃描過程中若可以看的到頻道名稱,那應該有機會可以進行觀看。播放節目

若使用 mplayer 的話,只要指定訊號來源為 dvb 即可,如下例:
$ mplayer dvb://
不過因為訊號不佳的關係,目前還沒有機會看到節目內容。
其他參考資訊:
[*]VDR Wiki: http://blog.t-times.net/ada/theme/images/Icon-Extlink.pngGentoo DVB Driver※ 2007-06-12 補充 [*]做了一個小的,短距離的自製天線,規格沒有很正確,長度也不足以拉到窗戶邊,不過卻可以掃描到 TTV 的五個頻道。可惜掃的到並沒有用,在播放時除了要等很久之外還只能顯示出一大堆的雜亂區塊,以及搭配的噪音。[*]改善規劃:[*]找/買條更長的 Cable 線,讓天線有機會靠近窗戶上。[*]製作一正確規格之天線,甚至考慮做成http://blog.t-times.net/ada/theme/images/Icon-Extlink.png這樣。※ 2007-06-22 補充 [*]新的自製天線果然發揮了效果,果然天線還是要靠近窗邊才有用。不過這個天線蠻粗糙的,所以只能收到 12 個頻道。[*]播放實例 - 這是使用 MPlayer 進行播放,可以用 h 及 k 鍵換台:
http://blog.t-times.net/ada/space/start/2007-06-05/1/dvb-t.png

pjjyykrfgq 發表於 2013-11-7 01:14:54

謝謝分享

kfa88347 發表於 2013-11-7 01:14:54

暈死也不多加點分
頁: [1]
查看完整版本: 在 Linux 上觀看數位電視