VLC
es un software que ofrece un muy amplio abanico de opciones:
reproducción de vídeo, streaming, conversión de formatos, filtros
y más; una autentica navaja suiza para el manejo de vídeos.
Normalmente lo usaba como reproductor, pero he descubierto que puede
hacer mucho mucho más. Ya sabía que a través de la interfaz
gráfica proporcionaba un mecanismo para "guardar/convertir"
un vídeo (ya sea como fuente un archivo o un streaming) en otro
formato, y que es relativamente fácil de manejar. Pero desconocía
las grandes posibilidades que tenía su línea de comandos.
El problema de descargar
vídeos en streaming es que en principio el servidor de streaming no
te va a enviar el vídeo a una alta velocidad, te lo va a dar a una
velocidad que permita una reproducción sin cortes, lo suficiente
para reproducirlo sin disminuir el ancho de banda del resto de vídeos
que se están sirviendo. Aunque obviamente puede que el servidor de
streaming esté configurado de otra forma (desconozco como se
configura un servidor de streaming, como puede ser en este caso
Windows
Media Services, aunque reconozco que me gustaría saber como se
pone en marcha, quizás lo haga algún día).
El asunto es como descargar
todos los vídeos proporcionados a través de mms, lo más rápido
posible. La idea es descargándolos todos a la vez, pero a través de
la interfaz gráfica de VLC no he podido, por lo que he recurrido a
la interfaz modo texto. Después de echar un vistazo a su guía
de usuario y a la documentación
he descubierto que se puede guardar un stream mms directamente a
archivo:
vlc
mms://.../video.wmv :sout=file/asf:video.asf
Esto habría que ponerlo en
el interprete de comandos obviamente, lo que en Windows se conoce
como símbolo del sistema, o bien en un archivo de lotes tipo bat,
para su posterior ejecución.
Donde pone
"mms://.../video.wmv" debe ir obviamente la URL del vídeo.
La parte de ":sout=file/asf:video1.asf" significa
básicamente que la salida será a un archivo de tipo asf
(Advanced Systems Format) llamado "video1.asf". No conozco
mucho de este formato, pero después de varias consultas en Internet
he visto que (cuando se usa la interfaz gráfica de VLC) los
streamings MMS los encapsulan siempre en un archivo asf, y cierto
sentido tiene, dado que asf es un formato para streaming que, según
he leído, puede contener un vídeo WMV, y a su vez, WMV es un
formato que puede ser guardado tanto para reproducción en disco,
como para streaming (por lo menos el Windows
Media Encoder lo permite).
Con esto obtendremos el
streaming de vídeo guardado en un archivo tipo asf, pero abrirá la
interfaz gráfica para hacer el proceso y además, cuando termina,
volverá a comenzar. Para evitar esto, podemos hacer lo siguiente:
vlc
--intf dummy mms://.../video.wmv :sout=file/asf:video.asf
vlc://quit
Aquí "--intf dummy"
significa que básicamente no se utilice ninguna interfaz.
Vlc tiene varias interfaces, incluida obviamente la interfaz gráfica,
pero con la interfaz gráfica no he conseguido "lanzar"
varias instancias de
modo que se guarden varios streamings a la vez, a pesar de que he
seguido las instrucciones para permitir la ejecución de varias
instancias de vlc, no obstante, utilizando la interfaz "dummy"
si me ha funcionado.
La
parte "vlc://quit"
sirve para indicar que vlc termine, una vez que haya concluido con el
volcado a disco. Si no se pone, vuelve a comenzar, machacando el
volcado ya realizado.
De
esta forma se pueden lanzar varias instancias de vlc, cada una
descargando un vídeo diferente (ejemplo para windows):
start
"descarga de vídeo 1" vlc --intf dummy
mms://.../video1.wmv :sout=file/asf:vid2.asf vlc://quit
start
"descarga de vídeo 2" vlc --intf dummy
mms://.../video2.wmv :sout=file/asf:vid1.asf vlc://quit
Todo
esto lo podemos meter en un archivo tipo bat (en windows), que al
hacer doble clic sobre él, descargaría todos los vídeos de forma
simultanea, iniciando una nueva instancia de vlc para cada stream.
Una vez que cada instancia de vlc se cierre (se creará ventana con
información en modo texto para cada instancia de vlc al usar la
interfaz dummy), se habrá concluido el volcado.
Aunque
el archivo ASF es reproducible (sobre todo en windows), es
conveniente convertirlo a otro formato más manejable, como por
ejemplo mp4. Mp4 es un formato aceptado por muchos dispositivos y más
cómodo para visualización en un ordenador. Esta tarea de
recodificación también se puede hacer con vlc a través de la línea
de comandos:
vlc
--intf dummy video1.asf
--sout=#transcode{vcodec=h264,acodec=mp4a}:standard{access=file,mux=mp4,dst="video1.mp4"}
vlc://quit
Tengo que reconocer que cuando hice la
conversión pensaba que iba a ser realmente lento, debido a la forma
de trabajar de vlc, pero me equivoque. Es más rápido de lo que yo
pensaba. El comando anterior transformaría el archivo asf en formato
mp4 con codificación de vídeo H-264, manteniendo la misma calidad.
Si bien, es más cómodo utilizar la interfaz gráfica de VLC para
esta tarea, dado que aquí la línea de comandos de vlc no es tan
fácil de entender, pero usando la interfaz “dummy” podemos
automatizar el proceso en cierta manera.
Esto es todo :-P.
No hay comentarios :
Publicar un comentario