Tengo una tarjeta sintonizadora analógica/digital Hauppauge WinTV-HVR-1110 (un poco vieja ahora, pero que aún funciona). No lo he usado durante años, pero recuerdo que en Ubuntu 10.04 funcionaba bien en Linux. Recientemente lo desenterré y quiero usarlo para grabar algunos casetes VHS a través de mi vieja videograbadora.
Encontre unguía del HVR-1110 en el sitio de LinuxTV. Pero fue escrito para 14.04 y dice ejecutar (entre otros comandos):
sudo apt-get install linux-firmware-nonfree
Lo cual no me funciona el 16.04. Ya no hay ningún paquete linux-firmware-nonfree
. Parece que fue eliminado de los repositorios.
¿Cómo puedo instalar y ejecutar la tarjeta sintonizadora en 16.04?
Respuesta1
Descubrí esto, principalmente basándome en elenlace anterior a la página de LinuxTVpero con algunos pasos modificados.
Nota: Esto es específicamente para la tarjeta HVR-1110, pero probablemente pueda aplicarse a otros tipos similares de tarjetas sintonizadoras.
1. Instale físicamente la tarjeta
Obviamente, la tarjeta debe instalarse en la ranura PCI de su máquina. Asegúrate de apagarlo antes de hacer esto.
También me gusta apagar la fuente de alimentación en su interruptor, pero dejar el cable enchufado. En teoría, esto debería significar que la tierra todavía está conectada pero la energía no puede encenderse. Querrías que la tierra estuviera conectada para reducir la posibilidad de freír algo con carga estática.
2. Pruebe el controlador saa7134
El controlador saa7134 debería cargarse automáticamente, puedes comprobarlo con:
$ sudo modprobe -r saa7134
Que debería devolver:
modprobe: FATAL: Module saa7134 is in use.
Este mensaje de error indica que el módulo ya se ha cargado (y no se puede volver a cargar), lo que indica que el módulo está disponible.
Emita el siguiente comando para validar que la tarjeta WinTV HVR-1110 se haya registrado como dispositivo:
$ sudo dmesg | grep "saa"
Lo que debería dar algo similar a
[ 4.061052] saa7134: saa7130/34: v4l2 driver version 0, 2, 17 loaded
...
[ 4.061175] saa7134: saa7133[0]: subsystem: 0070:6700, board: Hauppauge WinTV-HVR1110 DVB-T/Hybrid [card=104,autodetected]
...
[ 8.890761] saa7134 0000:06:01.0: DVB: registering adapter 0 frontend 0 (Philips TDA10046H DVB-T)...
[ 14.099329] saa7134 0000:06:01.0: Direct firmware load for dvb-fe-tda10046.fw failed with error -2
[ 14.099338] saa7134 0000:06:01.0: Direct firmware load for dvb-fe-tda10045.fw failed with error -2
Aquí podemos ver que el sistema está buscando el dvb-fe-tda10046.fw
archivo, pero no lo encuentra.
Si está utilizando una tarjeta ligeramente diferente, el resultado anterior podría darle una pista sobre el archivo que necesita. Puede modificar el siguiente paso para obtener el archivo que necesita en lugar del del HVR-1110.
3. Descargue el paquete linux-firmware-nonfree
El linux-firmware-nonfree
paquete ya no está en los repositorios, no estoy muy seguro de por qué, pero leí algo que sugiere que podría ser incompatible con versiones más recientes del kernel. Por lo tanto, probablemente no queramos instalar el paquete completo. Afortunadamente, solo necesitamos un único archivo de firmware, para poder instalarlo.
Obtengamos el paquete de un archivo de Launchpad y extraigamos el dvb-fe-tda10046.fw
archivo.
cd ~/Downloads
wget http://launchpadlibrarian.net/182181877/linux-firmware-nonfree_1.16_all.deb
ar p linux-firmware-nonfree_1.16_all.deb data.tar.xz | unxz | tar x ./lib/firmware/dvb-fe-tda10046.fw --strip-components=3
Ahora copiemos el archivo de firmware a donde debe estar:
sudo cp dvb-fe-tda10046.fw /lib/firmware
Ahora podemos eliminarlo de nuestra carpeta de descargas.
rm dvb-fe-tda10046.fw
4. Reiniciar
Deberá reiniciar en este punto.
Después de realizar la copia de seguridad, deberías poder ejecutar esto y ver que el firmware se ha cargado:
$ sudo dmesg | grep "tda1004x"
[ 9.134105] tda1004x: setting up plls for 48MHz sampling clock
[ 11.534099] tda1004x: timeout waiting for DSP ready
[ 11.594099] tda1004x: found firmware revision 0 -- invalid
[ 11.594100] tda1004x: trying to boot from eeprom
[ 13.982081] tda1004x: timeout waiting for DSP ready
[ 14.082077] tda1004x: found firmware revision 0 -- invalid
[ 14.082079] tda1004x: waiting for firmware upload...
[ 33.314053] tda1004x: found firmware revision 29 -- ok
¡Éxito! Esto debería ser ahora todo lo que necesita para instalar la tarjeta. Ahora puedes usar cualquier herramienta DVB que desees para escanear y sintonizar transmisiones de TV. No repetiré las muchas guías disponibles para esto, peropodría empezar aquí.
Bono: grabación analógica
Específicamente quería grabar desde la entrada analógica. Me tomó un poco de tiempo entender esto finalmente, así que compartiré el comando que funcionó para mí con el HVR-1110.
En primer lugar, TVTime fue realmente útil para ver la entrada analógica del sintonizador, así que instálalo con:
sudo apt install tvtime
Luego puede ejecutar TVTime desde el tablero, debería poder seleccionar "Compuesto1" como entrada.
Para grabar, probé algunas cosas pero descubrí que esto funcionó bastante bien:
sudo nice --10 mencoder tv:// -v -tv driver=v4l2:norm=PAL:width=720:height=576:outfmt=uyvy:device=/dev/video0:input=1:fps=25:buffersize=500:alsa:amode=1:forcechan=2:audiorate=48000:adevice=plughw.SAA7134:forceaudio:immediatemode=0 -ovc raw -vf format=uyvy -aspect 4:3 -noautoexpand -oac pcm -o /home/sean/Videos/VCR4.avi
Necesitarás mencoder
instalarlo.
Esto volcará un archivo de vídeo uyvy sin formato, que se podrá reproducir en VLC pero no se comprimirá. Ocupará mucho espacio en disco (el mío usaba aproximadamente 1 GB por minuto). Luego tendrás que usar el códec que elijas para comprimirlo, puedes hacerlo con ffmpeg. También sería posible codificar directamente con mencoder si lo prefiere.