Actualización 2008-03-28:Funciona en
Debian configurando el comando
sudo como
aquí se menciona o ejecutando todo lo referente a
sudo como
root. También debes tener configurado el repositorio de
archivos de multimedia para Debian.
Dada la variedad de tarjetas para sintonizar programas de TV, no será posible describir una instalación estandar para configurar dichas tarjetas y, por consiguiente, este artículo no describirá la configuración de una tarjeta sintonizadora de TV.
Si cuentan con una tarjeta de TV
MSI TV VOX 8609 Video USB 2.0 pueden ver como configurarla en
este artículo.
Si ya cuentan con su tarjeta de TV configurada en
GNU/Linux, instalaremos los programas que vamos a usar para grabar los programas de TV que deseemos.
En este caso vamos a instalar los programas en
Ubuntu, para lo cual vamos a usar los paquetes que se encuentran en los repositorios e instalar los paquetes
mplayer,
mencoder y audacity (este último lo instalo para configurar el audio para la tarjeta de TV mencionada arriba, además que es un excelente software para editar archivos de audio). Recomiendo instalar los gstreamer's, codec's y paquetes mencionados en los siguientes artículos antes de seguir con la instalación.
Activar la opción de extraer audio a formato MP3 en Sound Juicer de Ubuntu 7.10Reproducir DVD's con Ubuntu 7.10 (Gutsy Gibbon)Instalar codec's w32codecs para UbuntuAhora instalaremos los paquetes.
$ sudo apt-get install mplayer mencoder audacity
Confirmaremos la instalación presionando
"S" y
"Enter" cuando se nos solicite.
Si no se tiene conectada la tarjeta de TV, será necesario conectarla para realizar una prueba de grabación.
En el caso de la tarjeta
MSI VOX la forma de grabar el audio será conectando con un cable la televisión desde su salida de audiofonos y conectarla a la entrada del micrófono de la computadora.
Ahora deberán abrir el
control de volumen, que es una opción si le dan con botón derecho a la bocina del panel principal de
Ubuntu. Ahora deberán darle en
Archivo -> Cambiar dispositivo y ver el dispositivo que tiene seleccionado, éste nos será de utilidad en
audacity para asignar el mismo dispositivo. Ahora deberán abrir
audacity e ir a
Editar -> Preferencias -> Audio E/S y en la sección
Reproducción en la opción
Dispositivo elegiremos el dispositivo que vimos en el
control de volumen y lo mismo deberemos hacer para la sección
Grabando, presionaremos
"Aceptar", deberemos seleccionar la opción
Line, está opción aparece en la barra de herramienta en una lista desplegable donde también aparece la opción
Mic y en algunos dispositivos pueden aparecer
Capture y
Digital (todas estas opciones puede estar seguidas de un número 0). Ahora presionaremos el botón con círculo rojo para grabar el audio que viene de la televisión. Deberemos ver como va haciendo la grabación y va cambiando la linea de la pista y podremos presionar el botón con el cuadro amarillo para detener la grabación, y si queremos escuchar lo que se grabó, deberemos presionar el botón con la flecha verde.
Si se complica mucho usar
audacity, como otra alternativa, pueden usar la aplicación
Grabador de sonido que se encuentra en
Aplicaciones -> Sonido y vídeo -> Grabador de sonido y jugar con la opción
"Grabar de la entrada" y presionando el botón
"Grabar" hasta que nos grabe el audio. Con este programa fue con el que pude ajustar la grabación del audio para
Debian.
Si todo ésto funcionó correctamente, ya podrá grabarse el video junto con el audio.
Ya que se encuentra todo listo, ejecutaremos el siguiente comando.
mencoder tv://3 -tv driver=v4l2:input=2:norm=NTSC:width=720:height=480:amode=1:device=/dev/video0 -ovc lavc -lavcopts vcodec=mpeg4:autoaspect=1:vrc_buf_size=1024:vrc_maxrate=9799:vbitrate=4000 -oac lavc -lavcopts acodec=mp2:abitrate=64 -rawaudio channels=2 -vf scale=720:480,pp=hb/vb/dr/al/lb -srate 48000 -o video.avi -af lavcresample=48000 -ofps 30
Iniciará la grabación, veremos como nos aparecen mensajes como éstos:
MEncoder 2:1.0~rc1-0ubuntu13.1 (C) 2000-2006 MPlayer Team
CPU: Genuine Intel(R) CPU T2400 @ 1.83GHz (Family: 6, Model: 14, Stepping: 8)
CPUflags: Type: 6 MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1
Compiled with runtime CPU detection.
success: format: 9 data: 0x0 - 0x0
TV file format detected.
Selected driver: v4l2
name: Video 4 Linux 2 input
author: Martin Olschewski
comment: first try, more to come ;-)
Selected device: MSI VOX USB 2.0
Tuner cap:
Tuner rxs:
Capabilites: video capture tuner audio read/write streaming
supported norms: 0 = PAL-BG; 1 = PAL-DK; 2 = PAL-I; 3 = PAL-M; 4 = NTSC;
inputs: 0 = Television; 1 = Composite1; 2 = S-Video;
Current input: 2
Current format: YUYV
v4l2: current audio mode is : STEREO
Audio block size too low, setting to 16384!
v4l2: ioctl query control failed: Invalid argument
[V] filefmt:9 fourcc:0x32595559 size:720x480 fps:29.97 ftime:=0.0334
==========================================================================
Opening audio decoder: [pcm] Uncompressed PCM audio decoder
AUDIO: 44100 Hz, 2 ch, s16le, 1411.2 kbit/100.00% (ratio: 176400->176400)
Selected audio codec: [pcm] afm: pcm (Uncompressed PCM)
==========================================================================
Opening video filter: [expand osd=1]
Expand: -1 x -1, -1 ; -1, osd: 1, aspect: 0.000000, round: 1
Opening video filter: [pp=hb/vb/dr/al/lb]
Opening video filter: [scale w=720 h=480]
==========================================================================
Opening video decoder: [raw] RAW Uncompressed Video
VDec: vo config request - 720 x 480 (preferred colorspace: Packed YUY2)
[PP] Using external postprocessing filter, max q = 6.
VDec: using Packed YUY2 as output csp (no 0)
Movie-Aspect is undefined - no prescaling applied.
SwScaler: reducing / aligning filtersize 1 -> 4
SwScaler: reducing / aligning filtersize 1 -> 4
SwScaler: reducing / aligning filtersize 1 -> 1
SwScaler: reducing / aligning filtersize 9 -> 8
SwScaler: BICUBIC scaler, from yuyv422 to yuv420p using MMX2
SwScaler: using 4-tap MMX scaler for horizontal luminance scaling
SwScaler: using 4-tap MMX scaler for horizontal chrominance scaling
SwScaler: using 1-tap MMX "scaler" for vertical scaling (YV12 like)
SwScaler: 720x480 -> 720x480
videocodec: libavcodec (720x480 fourcc=34504d46 [FMP4])
Selected video codec: [rawyuy2] vfm: raw (RAW YUY2)
==========================================================================
Forcing audio preload to 0, max pts correction to 0.
Writing header...1f ( 0%) 0.00fps Trem: 0min 0mb A-V:0.000 [0:0]
ODML: vprp aspect is 16384:10922.
Writing header...
ODML: vprp aspect is 16384:10922.
1 duplicate frame(s)!
Pos: 0.1s 3f ( 0%) 0.00fps Trem: 0min 0mb A-V:0.000 [0:0]
1 duplicate frame(s)!
Pos: 0.2s 5f ( 0%) 0.00fps Trem: 0min 0mb A-V:0.000 [0:0]
1 duplicate frame(s)!
Pos: 0.3s 6f ( 0%) 0.00fps Trem: 0min 0mb A-V:0.000 [0:0]
1 duplicate frame(s)!
Pos: 0.4s 8f ( 0%) 0.00fps Trem: 0min 0mb A-V:0.000 [0:0]
1 duplicate frame(s)!Para detener la grabación presionaremos las teclas
Ctrl+C.
Ahora explicaré algunas opciones del comando anterior.
- tv://3: le decimos que va a sintonizar el canal 3.
- driver: el driver que usaremos dummy, v4l, v4l2, bsdbt848.
- input: tipo de entrada tv (0), composite1(1) o S-Video(2) (yo uso la grabación por medio de una conexión de supervideo).
- norm: en mi caso uso la norma NTSC que es la que se usa en méxico y en europa se usa más la PAL.
- width: pixeles de largo (en el caso de aquí se usan 720, pero pueden ajustarse al tamaño que queramos el video).
- height: pixeles de ancho (en el caso de aquí se usan 480, pero pueden ajustarse al tamaño que queramos el video).
- amode: tipo de audio (1) que equivale a stereo.
- device: dispositivo de la tarjeta de video, por default es el /dev/video0.
- vcodec: codec de video a usar.
- acode: codec de audio a usar (mp2, mp3, ac3, adpcm_ima_wav, sonic).
- scale: tamaño de alto y ancho, igual a width y height juntos separados por : ejemplo 720:480.
- -o archivo.avi: se indica después de la -o el nombre de archivo donde se grabará o la ruta con el nombre del archivo, por ejemplo: /tmp/archivo.avi.
Estas son algunas opciones, si deseas saber el significado completo de todas las opciones, puedes ejecutar el comando
man mencoder y allí viene todo.
Con este comando seremos capaces de grabar videos desde la TV a nuestra computadora. Deberán ajustar los parametros según a lo que ustedes usen, también pueden crear un archivo de configuración
mencoder.conf para poner las opciones de grabación y no tener que escribir todo siempre que queramos grabar. Este es un ejemplo del archivo.
# Make MEncoder output to a default filename.
o=encoded.avi
# The next 4 lines allow mencoder tv:// to start capturing immediately.
oac=pcm=yes
ovc=lavc=yes
lavcopts=vcodec=mjpeg
tv=driver=v4l2:input=1:width=768:height=576:device=/dev/video0:audiorate=48000
# more complex default encoding option set
lavcopts=vcodec=mpeg4:autoaspect=1
lameopts=aq=2:vbr=4
ovc=lavc=1
oac=lavc=1
passlogfile=pass1stats.log
noautoexpand=1
subfont-autoscale=3
subfont-osd-scale=6
subfont-text-scale=4
subalign=2
subpos=96
spuaa=20
Este es el ejemplo de mi archivo
mencoder.conf en
Ubuntu, el cual debe de ser colocado en
~/.mplayer/tv=driver=v4l2:input=3:norm=NTSC:width=720:height=480:amode=1:device=/dev/video0
ovc=lavc=1
lavcopts=vcodec=mpeg4:autoaspect=1:vrc_buf_size=1024:vrc_maxrate=9799:vbitrate=4000
oac=lavc=1
lavcopts=acodec=mp2:abitrate=64
rawaudio=channels=2
vf=scale=720:480,pp=hb/vb/dr/al/lb
srate=48000
af=lavcresample=48000
ofps=30
Y ejecuto el comando de la siguiente manera.
mencoder tv://3 -o archivo.avi
Espero y les sea de utilidad.