FFMPEG y Streaming Audio y Vídeo

Mientras que se están bajando los videos de opensource ecology para mi archivo, y testeo el nuevo script, escribo este articulo para un amigo que tiene que hacer una charla acerca de esta poderosa herramientas.

Aquí no voy hablar de los clásicos de esta herramientas para la conversión de los formatos, recortes recodificación etc… Vamos a tocar el tema de streaming de audio y vídeo por internet

Emisión en directo para una radio web de icecast.
Para hacer esto se necesita de un servidor icecast y acceso a el. Aquí como instalar un server icecast.

arecord -f dat -D hw:CARD=PCH,DEV=0 |\
ffmpeg -i - \
-acodec libmp3lame \
-ab 128k \
-ac 1 \
-content_type audio/mpeg -f mp3 \
-legacy_icecast 1 \
icecast://source:password@icecastserver.org:8000/stream.mp3

La explicación de este comando es esta: Se utiliza la herramienta “arecord” para capturar el audio del micrófono con cualidad “dat” (48000 hz) y su salida la redireccionamos a la entrada de ffmpeg, lo cual la codífica en mp3 y la envía al server icecast (se puede hacer lo mismo en formato .ogg, pero muchos reproductores en hardware no pueden decodificar este formato, así que de momento seguimos con mp3 hasta que no sea posible pasar a un formato libre.

Para funcionar, claramente el ordenador necesita disponer de un micrófono, Para saber el nombre exacto del dispositivo hay que usar arecord con la opción -L

arecord -L
sysdefault:CARD=PCH
    HDA Intel PCH, ALC3227 Analog
    Default Audio Device
front:CARD=PCH,DEV=0
    HDA Intel PCH, ALC3227 Analog
    Front speakers
dmix:CARD=PCH,DEV=0
    HDA Intel PCH, ALC3227 Analog
    Direct sample mixing device
dsnoop:CARD=PCH,DEV=0
    HDA Intel PCH, ALC3227 Analog
    Direct sample snooping device
hw:CARD=PCH,DEV=0
    HDA Intel PCH, ALC3227 Analog
    Direct hardware device without any conversions
plughw:CARD=PCH,DEV=0
    HDA Intel PCH, ALC3227 Analog
    Hardware device with all software conversions
usbstream:CARD=PCH
    HDA Intel PCH
    USB Stream Output

y te sale algo como arriba. Yo uso en normalidad para ffmpeg, los dispositivos tipo

hw:CARD=PCH,DEV=0

o

plughw:CARD=PCH,DEV=0

Claramente esto es en mi ordenador, en tu equipo los nombres pueden ser diferentes

Una cosa importante. Alsamixer por defecto tiene los micrófonos apagados y a cero, así que antes de nada hay que activar el micrófono y subir el volumen de entrada. Lanza alsamixer, pulsa F6 para seleccionar la tarjeta audio donde tienes le micrófono y luego F4 para entrar en la pantalla de captura audio. Allí con las flechas y la barra espaciadora puedes moverte, activar y subir el volumen del micrófono

I para el streaming vídeo con ffmpeg ya he hablado de el aquí

Comments are closed.