7.10. ivtv 驱动程序¶
作者:Hans Verkuil <hverkuil@xs4all.nl>
这是一个用于 Conexant cx23415/6 MPEG 编码器/解码器的 v4l2 设备驱动程序。cx23415 可以进行编码和解码,cx23416 只能进行 MPEG 编码。目前唯一提供完整解码支持的卡是 Hauppauge PVR-350。
注意
此驱动程序需要最新的编码器固件(版本 2.06.039,大小 376836 字节)。请从此处获取固件:
“普通”电视应用程序无法与此驱动程序配合使用,您需要能够处理 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. 另请参阅¶
7.10.4. IRC¶
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 数据发送到视频输出连接器。