Voy a ir explicando el proceso con un ejemplo concreto. Quiero grabar y quizá conservar un programa de Radio Clásica, este, que vemos en una captura de su página web:
Creamos un temporizador desde el comienzo del programa hasta el comienzo del siguiente:
Y la lista de programaciones nos queda así:
Naturalmente, podemos programar varios eventos.
concierto.m2t
:
Es decir, que se consumen unos 2 MB por minuto de grabación.
Este archivo se puede reproducir con Kaffeine, naturalmente, puesto que lo creó él, y con mplayer:
# mplayer concierto.m2t
MPlayer 1.0rc2-4.3.2-DFSG-free (C) 2000-2007 MPlayer Team
Playing concierto.m2t.
TS file format detected.
NO VIDEO! AUDIO MPA(pid=2011) NO SUBS (yet)! PROGRAM N. 1000
======================================================================
Opening audio decoder: [mp3lib] MPEG layer-2, layer-3
AUDIO: 48000 Hz, 2 ch, s16le, 256.0 kbit/16.67% (ratio: 32000->192000)
Selected audio codec: [mp3] afm: mp3lib (mp3lib MPEG layer-2, layer-3)
======================================================================
AO: [alsa] 48000Hz 2ch s16le (2 bytes per sample)
Video: no video
Starting playback...
A:30375.0 ( 8:26:14.9) of 9567.9 ( 2:39:27.9) 0.3%
Aunque en este caso se presenta el problema de que el tiempo de reproducción no comienza en 0.
m2t
en
mp2
. Lo hacemos con ffmpeg:
# ffmpeg -i concierto.m2t -acodec copy concierto.mp2
FFmpeg version r11872+debian_0.svn20080206-18, Copyright (c) 2000-2008 Fabrice Bellard, et al.
Input #0, mpegts, from 'concierto.m2t':
Duration: 02:29:53.5, start: 30367.538578, bitrate: 272 kb/s
Program 1000
Stream #0.0[0x7db](SPA): Audio: mp2, 48000 Hz, stereo, 256 kb/s
Output #0, mp2, to 'concierto.mp2':
Stream #0.0(SPA): Audio: 0x0000, 48000 Hz, stereo, 256 kb/s
Stream mapping:
Stream #0.0 -> #0.0
Press [q] to stop encoding
size= 281052kB time=8993.7 bitrate= 256.0kbits/s
video:0kB audio:281052kB global headers:0kB muxing overhead 0.000000%
En mi sistema se tarda unos 11 segundos en hacer la conversión.
Se obtiene el archivo concierto.mp2
:
# file concierto.mp2
concierto.mp2: MPEG ADTS, layer II, v1, 256 kbps, 48 kHz, Stereo
# ls -l -h concierto.mp2
-rw-r--r-- 1 pedro pedro 275M jun 27 21:05 concierto.mp2
Este archivo ya es mucho más habitual que el anterior formato y por tanto habrá muchos más programas que lo puedan manejar. Vemos que Radio Clásica emite a 256 kb/s, pero otras emisoras emiten con menos calidad.
Ya se puede borrar el archivo concierto.m2t
, que no
se va a usar más.
concierto.mp2
las dos
obras emitidas (estaban anunciadas tres pero no se emitió la central).
Para la extracción vamos a usar otra vez ffmpeg, pero hay que saber exactamente dónde empieza cada obra y cuánto dura. Para ello, reproduzco el archivo con mplayer y anoto el punto de comienzo y el punto final.
Me gusta usar mplayer para esto porque se dispone de seis teclas para avanzar y retroceder en la reproducción:
Izquierda retrocede 10 segundos
Derecha avanza 10 segundos
Arriba retrocede 1 minuto
Abajo avanza 1 minuto
AvPág retrocede 10 minutos
RePág avanza 10 minutos
Señalo en negrita el dato que voy comprobando:
# mplayer concierto.mp2
MPlayer 1.0rc2-4.3.2-DFSG-free (C) 2000-2007 MPlayer Team
Playing concierto.mp2.
Audio file file format detected.
======================================================================
Opening audio decoder: [mp3lib] MPEG layer-2, layer-3
AUDIO: 48000 Hz, 2 ch, s16le, 256.0 kbit/16.67% (ratio: 32000->192000)
Selected audio codec: [mp3] afm: mp3lib (mp3lib MPEG layer-2, layer-3)
======================================================================
AO: [alsa] 48000Hz 2ch s16le (2 bytes per sample)
Video: no video
Starting playback...
A: 395.3 (06:34.0) of 8993.0 ( 2:29:53.0) 0.2%
La primera obra comienza en el momento 6:34 y termina en el momento 52:22, luego tiene una duración de 45:48. Con estos datos, la llamada a ffmpeg es:
# ffmpeg -ss 0:06:34 -t 0:45:48 -i concierto.mp2 -acodec copy Beethoven-Cuarteto13.mp2
Se observa que la sintaxis de ffmepg pide expresar los tiempos en formato H:MM:SS.
En mi sistema esta orden tarda 1.5 segundos aproximadamente.
Análogamente, en 3 segundos tengo la segunda obra separada:
# ffmpeg -ss 1:01:16 -t 1:26:00 -i concierto.mp2 -acodec copy Mahler-Sinfonia9.mp2
Una vez comprobado que los archivos obtenidos son los correctos,
ya se puede borrar el archivo concierto.mp2
, que no
se va a usar más.
Esto es lo que hemos obtenido como resultado final:
# ls -l -h *.mp2
-rw-r--r-- 1 pedro pedro 84M jun 27 19:22 Beethoven-Cuarteto13.mp2
-rw-r--r-- 1 pedro pedro 158M jun 27 19:32 Mahler-Sinfonia9.mp2
Puedo escuchar en cualquier lugar los archivos obtenidos, ya que mi PMP, un iAudio 7, los reproduce perfectamente: