5.3. 常見問題¶
注意
在數字電視中,單個物理頻道可能包含不同的內容。規範將每個內容稱為一項服務。這是電視使用者會稱之為“頻道”的東西。因此,為了避免混淆,在本常見問題解答中,我們將轉發器稱為物理頻道,將服務稱為邏輯頻道。
LinuxTV 社群維護了一些 Wiki 頁面,其中包含大量與媒體子系統相關的資訊。如果您在這裡找不到所需的答案,您很可能在那裡找到有用的資訊。它託管在
一些關於 Linux 數字電視支援的常見問題
調諧後幾秒鐘訊號似乎就消失了。
這不是一個 bug,而是一個特性。因為前端有顯著的功耗(因此會變得很熱),所以如果它們不使用(即前端裝置關閉),它們就會斷電。
dvb-core模組引數dvb_shutdown_timeout允許您更改超時時間(預設 5 秒)。將超時設定為 0 會停用此超時功能。我如何觀看電視?
與 Linux 核心一起,數字電視開發人員支援一些簡單的工具,主要用於測試和演示 DVB API 的工作方式。這些被稱為 DVB v5 工具,並與
v4l-utilsgit 倉庫放在一起。您可以在 LinuxTV wiki 上找到更多資訊:
第一步是獲取已傳輸的服務列表。
這可以透過使用幾個現有工具來完成。例如,您可以使用
dvbv5-scan工具。您可以在以下網址找到更多資訊:還有一些其他應用程式,例如
w_scan[1],可以進行盲掃,努力尋找所有可能的頻道,但這些程式執行起來會消耗大量時間。此外,一些應用程式(例如
kaffeine)有自己的程式碼來掃描服務。因此,您不需要使用外部應用程式來獲取此列表。大多數此類工具需要一個檔案,其中包含您所在地區可用的頻道轉發器列表。因此,LinuxTV 開發人員維護數字電影片道轉發器表,並接收社群的補丁以保持其更新。
此列表託管在
並在多個發行版中打包。
Kaffeine 對某些地面標準具有盲掃支援。它也依賴 DTV 掃描表,儘管它內部包含一份副本(並且,如果使用者請求,它將下載更新版本)。
如果您很幸運,可以直接使用提供的頻道轉發器之一。如果不行,您可能需要在網際網路上查詢此類資訊並建立一個新檔案。有幾個網站包含物理頻道列表。對於有線電視和衛星電視,通常只需知道如何調諧到單個頻道,掃描工具就能識別其他頻道。在某些地方,這也適用於地面傳輸。
一旦您有了轉發器列表,您需要使用像
dvbv5-scan這樣的工具生成服務列表。幾乎所有現代數字電視卡都沒有內建硬體 MPEG 解碼器。因此,應用程式需要獲取板卡提供的 MPEG-TS 流,將其分離成音訊、影片和其他資料並進行解碼。
有哪些數字電視應用程式?
有多種媒體播放器應用程式能夠調諧到數字電影片道,包括 Kaffeine、Vlc、mplayer 和 MythTV。
Kaffeine 致力於做到非常使用者友好,並且由一位核心驅動程式開發人員維護。
這些以及其他應用程式的完整列表可以在以下網址找到:
一些最受歡迎的如下連結:
- https://kde.org/applications/multimedia/org.kde.kaffeine
KDE 媒體播放器,專注於數字電視支援
- https://www.linuxtv.org/vdrwiki/index.php/Main_Page
Klaus Schmidinger 的影片磁碟錄影機
- https://linuxtv.org/downloads 和 https://git.linuxtv.org/
數字電視及其他媒體相關應用程式和核心驅動程式。那裡的
v4l-utils包包含多個用於數字電視的多功能工具。- http://sourceforge.net/projects/dvbtools/
Dave Chapman 的 dvbtools 軟體包,包括 dvbstream 和 dvbtune
- http://www.dbox2.info/
dBox2 上的 LinuxDVB
- http://www.tuxbox.org/
TuxBox CVS 許多有趣的 DVB 應用程式和 dBox2 DVB 原始碼
- http://www.nenie.org/misc/mpsys/
MPSYS:一個 MPEG2 系統庫和工具
- https://www.videolan.org/vlc/index.pt.html
Vlc
- http://mplayerhq.hu/
MPlayer
- http://xine.sourceforge.net/ 和 http://xinehq.de/
Xine
- http://www.mythtv.org/
MythTV - 模擬電視和數字電視 PVR
- http://dvbsnoop.sourceforge.net/
DVB 嗅探程式,用於監控、分析、除錯、轉儲或檢視 dvb/mpeg/dsm-cc/mhp 流資訊(TS、PES、SECTION)
無法正確調諧訊號
這可能是由許多問題引起的。根據我的個人經驗,通常電視卡比電視機需要更強的訊號,並且對噪聲更敏感。所以,也許您只需要更好的天線或佈線。然而,也可能是硬體或驅動程式問題。
例如,如果您正在使用*沒有*模擬模組的 Technotrend/Hauppauge DVB-C 卡,您可能需要使用模組引數 adac=-1 (dvb-ttpci.o)。
請參閱 linuxtv.org 上的常見問題解答頁面,因為它可能包含一些有價值的資訊:
如果這不起作用,請查閱 linux-media 郵件列表檔案,看看其他人是否遇到過與您的硬體和/或數字電視服務提供商類似的問題:
如果這些都不奏效,您可以嘗試向 linux-media 郵件列表傳送電子郵件,看看是否有人能提供一些啟發。電子郵件地址是 linux-media AT vger.kernel.org。
dvb_net 裝置根本沒有給我任何資料包
在
dvb0_0介面上執行tcpdump。這會將介面設定為混雜模式,因此它接受您使用dvbnet工具配置的 PID 的任何資料包。檢查是否有任何資料包的 IP 地址和 MAC 地址與您透過ifconfig或ip addr配置的相符。如果
tcpdump沒有給出任何輸出,檢查ifconfig或netstat -ni的輸出統計資訊。(注意:如果 MAC 地址錯誤,dvb_net將不會收到任何輸入;因此您必須在檢查統計資訊之前執行tcpdump。)如果根本沒有資料包,那麼 PID 可能錯誤。如果存在錯誤資料包,那麼 PID 要麼錯誤,要麼流不符合 MPE 標準(EN 301 192,http://www.etsi.org/)。例如,您可以使用dvbsnoop進行除錯。dvb_net裝置沒有給我任何多播資料包檢查您的路由是否包含多播地址範圍。此外,請確保“透過反向路徑查詢進行源驗證”已停用。
$ "echo 0 > /proc/sys/net/ipv4/conf/dvb0/rp_filter"
所有這些需要載入的模組是什麼?
為了使其更靈活並支援不同的硬體組合,媒體子系統以模組化方式編寫。
因此,除了主晶片組的數字電視硬體模組外,它還需要載入前端驅動程式,以及數字電視核心。如果板卡還有遙控器,它還需要遙控器核心和遙控器表。如果板卡支援模擬電視,也會發生同樣的情況:需要載入 video4linux 的核心支援。
實際的模組名稱是 Linux 核心版本特定的,因為,為了使媒體支援更靈活,事物會不時發生變化。