9.9.12

Volcar un streaming de vídeo a archivo de disco usando VLC

Hoy me ha surgido un problema que no sabía muy bien como resolver, tenía que guardar varios vídeos (un total de 8), disponibles en Internet a través de streaming, para posteriormente verlos con calma. Los vídeos se proporcionaban concretamente a través del protocolo Microsoft Media Services (mms://...), y la verdad, quería descargarlos lo más rápido posible, sin instalar ningún software adicional en mi equipo.

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.

19.1.12

Resetear BIOS (CMOS) para eliminar password de SAMSUNG NP-N131

¿Tán difícil es? ¿Esto cuesta 85 euros? Me parece una pasada lo que algunas empresas de reparación de estos micro portátiles, repartidos por la Junta de Andalucía en los colegios e institutos de secundaria, cobran por reestablecer el password de la BIOS de los equipos SAMSUNG NP-N131 y NP-N130, vamos, por resetear la BIOS.

Si solo hay que puentear, con la batería y el cargador desconectados (muy importante), los contactos metálicos etiquetados como "RTC RESET". Esto significa que hay que poner algo metálico que una dichos contactos (pero solo esos, evitando tocar otra cosa y siempre con la batería y el cargador desconectados).

¡¡CUIDADO!! Esto tiene que hacerlo alguien con conocimientos técnicos adecuados y debes estar en un ambiente libre de electricidad estática. El autor de este artículo se exime completamente de cualquier avería o problema derivado de seguir los pasos aquí expuestos. Si realizas este procedimiento es bajo tu cuenta y riesgo.

1º) Quita el cargador y la batería, debe estar sin alimentación eléctrica ninguna (salvo la pila, que si hay que dejarla). Después pulsa varias veces el botón de encendido, esto se hace para eliminar la carga eléctrica que haya podido quedar en componentes eléctricos tales como condensadores.

2º) Quita la tapa donde va la memoria del portátil.

3º) Localiza los contactos  RTC RESET.

4º) Y con algo metálico y pequeño, se unen haciendo contacto, sin que haga contacto nada más y con la batería y el cargador desconectados.

Después de hacer esto será necesario entrar en la BIOS y reestablecer la fecha y la hora. Esto no elimina el password del disco duro, el cual, no se puede quitar si se pone, la única solución para eso es cambiar el disco duro.