7.9. 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.9.1. 功能¶
通过调谐器或 S-Video/复合视频和音频线路输入进行广播视频(和声音)的硬件 mpeg2 捕获。
在存在硬件支持的情况下,硬件捕获 FM 收音机的 mpeg2
支持具有立体声的 NTSC、PAL、SECAM
支持 SAP 和双语传输。
支持原始 VBI(隐藏字幕和图文电视)。
支持切片 VBI(隐藏字幕和图文电视),并且能够将其插入捕获的 MPEG 流中。
支持原始 YUV 和 PCM 输入。
7.9.2. PVR-350(基于 CX23415)的其他功能¶
提供硬件 mpeg2 回放
提供全面的 OSD(屏幕显示:即覆盖在视频信号上的图形)
提供帧缓冲区(允许 X 应用程序显示在视频设备上)
支持原始 YUV 输出。
- 重要提示:如果出现问题,请先阅读此页面
https://help.ubuntu.com/community/Install_IVTV_Troubleshooting
7.9.3. 另请参阅¶
7.9.4. IRC¶
7.9.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.9.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 数据发送到视频输出连接器。