7.10. ivtv 驅動程式

作者:Hans Verkuil <hverkuil@xs4all.nl>

這是一個用於 Conexant cx23415/6 MPEG 編碼器/解碼器的 v4l2 裝置驅動程式。cx23415 可以進行編碼和解碼,cx23416 只能進行 MPEG 編碼。目前唯一提供完整解碼支援的卡是 Hauppauge PVR-350。

注意

  1. 此驅動程式需要最新的編碼器韌體(版本 2.06.039,大小 376836 位元組)。請從此處獲取韌體:

    https://linuxtv.org/downloads/firmware/#conexant

  2. “普通”電視應用程式無法與此驅動程式配合使用,您需要能夠處理 MPEG 輸入的應用程式,例如 mplayer、xine、MythTV 等。

IVTV 專案的主要目標是為基於 iCompression iTVC15 或 Conexant CX23415/CX23416 MPEG 編解碼器的影片採集卡提供“潔淨室”Linux 開源驅動程式實現。

7.10.1. 功能

  • 透過調諧器或 S-Video/複合影片和音訊線路輸入,進行廣播影片(和聲音)的硬體 mpeg2 採集。

  • 在硬體支援的情況下,進行 FM 廣播的硬體 mpeg2 採集。

  • 支援 NTSC、PAL、SECAM 制式,帶立體聲。

  • 支援 SAP 和雙語傳輸。

  • 支援原始 VBI(隱藏字幕和圖文電視)。

  • 支援切片 VBI(隱藏字幕和圖文電視),並能夠將其插入到採集到的 MPEG 流中。

  • 支援原始 YUV 和 PCM 輸入。

7.10.2. PVR-350(基於 CX23415)的附加功能

  • 提供硬體 mpeg2 播放。

  • 提供全面的 OSD(螢幕顯示:即圖形疊加在影片訊號上)。

  • 提供幀緩衝(允許 X 應用程式出現在影片裝置上)。

  • 支援原始 YUV 輸出。

重要提示:如果遇到問題,請首先閱讀此頁面:

https://help.ubuntu.com/community/Install_IVTV_Troubleshooting

7.10.3. 另請參閱

https://linuxtv.org

7.10.4. IRC

irc://irc.freenode.net/#v4l


7.10.5. 裝置

目前最多允許 12 個 ivtv 板卡。

不具備影片輸出功能(即非 PVR350 卡)的卡缺少 vbi8、vbi16、video16 和 video48 裝置。它們也不支援用於 OSD 的幀緩衝裝置 /dev/fbx。

radio0 裝置可能存在也可能不存在,這取決於卡是否具有無線電調諧器。

以下是基本 v4l 裝置列表:

crw-rw----    1 root     video     81,   0 Jun 19 22:22 /dev/video0
crw-rw----    1 root     video     81,  16 Jun 19 22:22 /dev/video16
crw-rw----    1 root     video     81,  24 Jun 19 22:22 /dev/video24
crw-rw----    1 root     video     81,  32 Jun 19 22:22 /dev/video32
crw-rw----    1 root     video     81,  48 Jun 19 22:22 /dev/video48
crw-rw----    1 root     video     81,  64 Jun 19 22:22 /dev/radio0
crw-rw----    1 root     video     81, 224 Jun 19 22:22 /dev/vbi0
crw-rw----    1 root     video     81, 228 Jun 19 22:22 /dev/vbi8
crw-rw----    1 root     video     81, 232 Jun 19 22:22 /dev/vbi16

7.10.6. 基本裝置

每增加一塊卡,編號就會增加一。例如,/dev/video0 被列為“基本”編碼採集裝置,所以我們有:

  • /dev/video0 是第一張卡(卡 0)的編碼採集裝置

  • /dev/video1 是第二張卡(卡 1)的編碼採集裝置

  • /dev/video2 是第三張卡(卡 2)的編碼採集裝置

請注意,如果第一張卡沒有某個功能(例如沒有解碼器,因此沒有 video16),那麼第二張卡仍將使用 video17。簡單的規則是“將卡號新增到基本裝置號”。如果您有其他先被檢測到的採集卡(例如 WinTV PCI),那麼您必須告知 ivtv 模組,以便它從 1(或 2,或任何其他數字)開始計數。否則,裝置號可能會變得混亂。ivtv 的“ivtv_first_minor”模組選項可以用於此目的。

  • /dev/video0

    編碼採集裝置。

    只讀。

    從此裝置讀取可獲取 MPEG1/2 程式流。示例:

    cat /dev/video0 > my.mpg (you need to hit ctrl-c to exit)
    
  • /dev/video16

    解碼器輸出裝置

    只寫。僅當 MPEG 解碼器(即 CX23415)存在時才存在。

    傳送到此裝置的 mpeg2 流將出現在所選影片顯示器上,音訊將出現線上路輸出/音訊輸出上。它僅適用於支援影片輸出的卡。示例:

    cat my.mpg >/dev/video16
    
  • /dev/video24

    原始音訊採集裝置。

    只讀

    來自當前選定調諧器或音訊線路輸入的原始音訊 PCM 立體聲流。從此裝置讀取會導致原始(有符號 16 位小端,48000 Hz,立體聲 pcm)採集。此裝置僅採集音訊。將來應由 ALSA 裝置取代。請注意,沒有相應的原始音訊輸出裝置,解碼器韌體中不支援此功能。

  • /dev/video32

    原始影片採集裝置

    只讀

    來自當前影片輸入的原始 YUV 影片輸出。YUV 格式為 16x16 線性平鋪 NV12 格式 (V4L2_PIX_FMT_NV12_16L16)。

    請注意,YUV 和 PCM 流不同步,因此它們的用途有限。

  • /dev/video48

    原始影片顯示裝置

    只寫。僅當 MPEG 解碼器(即 CX23415)存在時才存在。

    向卡上的解碼器寫入 YUV 流。

  • /dev/radio0

    無線電調諧器裝置

    無法讀取或寫入。

    用於啟用無線電調諧器並調諧到某個頻率。您無法使用此裝置讀取或寫入音訊流。一旦您使用此裝置調諧無線電,請使用 /dev/video24 讀取原始 pcm 流,或使用 /dev/video0 獲取帶黑屏影片的 mpeg2 流。

  • /dev/vbi0

    “垂直消隱間隔”(圖文電視、CC、WSS 等)採集裝置

    只讀

    採集在垂直消隱間隔期間傳送的原始(或切片)影片資料。此資料用於編碼圖文電視、隱藏字幕、VPS、寬屏信令、電子節目指南資訊和其他服務。

  • /dev/vbi8

    處理後的 vbi 反饋裝置

    只讀。僅當 MPEG 解碼器(即 CX23415)存在時才存在。

    嵌入在 MPEG 流中的切片 VBI 資料將在此裝置上重現。因此,在 /dev/video16 上播放錄製內容時,您可以從 /dev/vbi8 讀取嵌入的 VBI 資料。

  • /dev/vbi16

    vbi “顯示”裝置

    只寫。僅當 MPEG 解碼器(即 CX23415)存在時才存在。

    可用於將切片 VBI 資料傳送到影片輸出聯結器。