Mostrando entradas con la etiqueta VLC. Mostrar todas las entradas
Mostrando entradas con la etiqueta VLC. Mostrar todas las entradas

16 de febrero de 2021

Streaming con OBS en LAN

El objetivo de esta guía es hacer streaming de un equipo en una red LAN. Se va a usar un equipo con tarjeta gráfica NVIDIA (usando una GTX 750Ti, comprobar que tiene NVENC la tarjeta gráfica) y Ubuntu (probado en Ubuntu 18.04).

Se instala OBS: https://obsproject.com

Se ejecuta el asistente de OBS para ver configuración recomendada. Si detecta NVENC es que se puede codificar con la tarjeta NVIDIA, si no hay que instalar los drivers apropiados:

sudo ubuntu-drivers autoinstall

Con esto ya debería ejecutarse el asistente y salir NVENC.

Después hay que montarse un servidor web para servir el video. Uso nginx como en este post: https://obsproject.com/forum/threads/broadcasting-in-a-lan.20637

OBS uses the rtmp protocol to stream. This depends on servers to distribute the stream to the viewers, thats where nginx fits in. You can run it on any of the two machines and under windows just fine.

Lets say PC1 has the lan ip 192.168.0.5 and PC2 has .0.6, we run nginx on PC1 (with a simple configuration file that has one application called "live1" which awaits your stream). In OBS on PC1 we setup a livestream to a custom service and can use rtmp://127.0.0.1/live1 or rtmp://192.168.0.5/live1 for the server address.
As playpath use "camera" without the quotes. You probably already configured your scenes in OBS (added the Camera) so you could now start streaming.

On the second PC, load up VLC and use open network stream. As the address this time we have to use rtmp://192.168.0.5/live1/camera so we combine the network ip with the application and the playpath so VLC can request the stream from nginx. So after clicking Play, you should see your camera feed.
For nginx, I host a compiled package for Windows at http://rtmp.jack0r.com/ it comes with an example config file so is pretty much ready to go. (Has the live1 app already) Of course if you have a question, just post it below and if you want some more general guides about nginx check out: http://www.helping-squad.com/server/

En mi caso lo hago con docker:

  1. Instalar docker: https://docs.docker.com/engine/install/ubuntu
  2. Y uso esta imagen: https://hub.docker.com/r/tiangolo/nginx-rtmp
  3. Una vez arrancado el nginx voy a OBS a la Configuración de Emisión y elijo la opción Personalizado/Custom. En servidor pongo rtmp://127.0.0.1/live y en clave pongo el nombre de la escena para emitir (en el ejemplo pongo prueba)
  4. Luego en otro ordenador de la LAN abro VLC y uso la ubicación de red rtmp://<ip como 192.168.?.?>/live/<clave - así que ponemos prueba>
  5. El video me llega con retraso de algunos segundos pero se ve muy bien
  6. Habría que probar con las gráficas integradas a ver si es suficiente. Por ejemplo para un aula de informática con ordenadores donde es suficiente ver el código a pocos FPS y sin audio no debería haber problemas. Si se dispone de dos monitores en cada puesto es mejor que usar un proyector.

21 de noviembre de 2017

Guardar CD de Audio en mp3 - Rip Audio CD to mp3 files

El otro día tenía que descargar un CD de música para reproducirlo desde el mp3. No tenía a mano ninguna herramienta de las antiguas que tenía para ripear... ya ni tengo DVD en los ordenadores XD

Así que gracias a Dios pude enchufar una unidad antigua que todavía leía CDs y para no tener que instalar nada nuevo mi idea era ripear cada canción directamente con VLC hasta terminar con el CD. Por supuesto la idea era hacerlo por consola para no tener que estar pinchando cada canción en cada CD (en realidad eran 3 CDs ;P)

Busque por Internet y encontré curiosamente la respuesta en StackOverflow (votada para cerrar por no ser un tema a tratar allí)

Así que comparto por aquí el código para el .bat que os hará ese trabajo:

@ECHO OFF

    setlocal ENABLEDELAYEDEXPANSION

    SET /a x=0

    FOR /R D:\ %%G IN (*.cda) DO (CALL :SUB_VLC "%%G")
    GOTO :eof

    :SUB_VLC
    call SET /a x=x+1

    ECHO Transcoding %1
    REM Here's where the actual transcoding/conversion happens. The next line
    REM fires off a command to VLC.exe with the relevant arguments:
    CALL "C:\Program Files\VideoLAN\VLC\vlc" -I http cdda:///D:/ --cdda-track=!x! :sout=#transcode{vcodec=none,acodec=mp3,ab=128,channels=2,samplerate=44100}:std{access="file",mux=raw,dst="Track!x!.mp3"} vlc://quit

    :eof

Espero que os sirve igual que a mí. Simplemente revisar las rutas a vuestro ejecutable de VLC ("C:\Program Files\VideoLAN\VLC\vlc" en el ejemplo) y a vuestra unidad de Audio ("D:" en el ejemplo)

También podéis cambiar el formato o calidad del fichero de salida modificando los parámetros (por ejemplo cambiado el bitrate de ab=128 a ab=192, cambiando el códec de mp3 a flac o a ogg, etc...).

12 de marzo de 2017

Recortar y convertir un video por línea de comandos con VLC

Reconozco que me gustan los comandos. Me permiten hacer más cosas, con más detalle y con menos trabajo que ir haciendo clicks en una GUI. Su único inconveniente es saber cómo hacerlo.


Esta entrada es un comando que permitirá recortar y convertir un fichero de video en otro en H264/mp3.

Éste es el comando (formateado un poco para ver los detalles):

"C:\Program Files (x86)\VideoLAN\VLC\vlc.exe"
   C:\origen.avi --start-time="5" --stop-time="30"
   :sout="#transcode{
      vcodec=h264,
      acodec=mp3,
      ab=128,
      scale=1,
      channels=2,
      samplerate=44100}
   :std{
      access=file,
      mux=mp4,
      dst=C:\destino.mp4}"

Lo que hace es abrir VLC con el fichero "origen.avi" que se convertirá según las opciones de codificación marcadas desde segundo 5 al 30 del vídeo (hace un recorte)

22 de septiembre de 2012

VLC: Grabar vídeo de una ventana

Una vez mas me reconozco amante del software libre, especialmente de algunos proyectos realmente buenos como Apache, OpenOffice, PostgreSQL, Git, WordPress, GIMP, Audacity/Ardour, etc... y hoy hablaré sobre uno de estos: VLC Media Player.


VLC es conocido por ser gratis, ligero y reproducir prácticamente todo lo que le echen sin tener que descargar ningún códec. Pero lo mejor es que tiene tantas sorpresas esperándonos que lo hacen aún mejor.

Hoy voy a deciros como podéis grabar en vídeo una ventana de vuestro escritorio y codificarlo a un formato que podáis distribuir o subir a YouTube. Es algo que necesitaba para no tener que comprarme una capturadora y quería que fuese con una solución de código abierto para saber qué estoy descargándome realmente.

He de decir que probé otras soluciones gratuitas y no gratuitas. Algunas me daban unos resultados pobres, y otras no me daban mejores resultados que lo que conseguí finalmente con mi amigo VLC.

Todo esto está hecho sobre Windows 7 que es donde necesitaba hacer la captura en ese momento.

Empecemos. VLC tiene una opción que es "Abrir volcado de red...". Se puede usar para recibir o para emitir. De hecho, para mí es el mejor método para guardar en un archivo un vídeo de YouTube:

  1. Elegís abrir volcado de red (podéis usar el atajo de teclado Ctrl + N).

  2. Ponéis la dirección de Internet (URL) del vídeo.
  3. Donde pone reproducir le dais a la flecha y elegís "Convertir"

  4. Indicáis el destino del archivo con el vídeo grabado y la codificación que queréis (si sólo deseáis el audio podéis elegir un fichero .ogg por ejemplo, escogiendo la codificación "Audio - Vorbis (OGG)")

  5. Si queréis ver el vídeo mientras se graba podéis marcar la casilla que pone "Mostrar Salida". Yo no lo recomiendo ya que, si no os muestra la salida en tiempo real, puede crear el archivo mas rápido. Sólo lo veo útil en caso de querer cortar la grabación antes de que termine, así podremos elegir el momento de darle a stop y dejar de grabar.

Pues bien, si ponéis en volcado de red la URL "screen://" conseguiréis acceder al vídeo de vuestro escritorio (también se consigue escogiendo el "Modo de Captura" "Escritorio" desde la opción de "Abrir dispositivo de captura..."). Siguiendo los mismo pasos anteriores podéis convertir el vídeo a vuestro formato favorito (no así el audio, ya que es una señal únicamente de vídeo).

Hasta aquí nada que no podáis encontrar en muchos otros blog. Lo que me resulto realmente útil es capturar una parte de ese escritorio (la ventana donde estaba sucediendo lo que quería guardar). La forma de hacerlo es la siguiente:
  1. Vais a "Herramientas/Preferencias".
  2. Tenéis que abrir las opciones avanzadas y depende de la versión que tengáis. Yo tengo la 2.0, donde tendréis que buscar "Mostrar ajustes" y seleccionar "Todo".
  3. Entre todas esas opciones vamos a "Entrada-Códecs/Módulos de Acceso/Pantalla".
  4. En esta ficha podremos indicar:
    1. Posición en pixels de la esquina superior izquierda de la región de pantalla que vamos a capturar.
    2. Tamaño en pixels de la región a capturar.
    3. Si queremos capturar el ratón también.
    4. Tasa frames por segundo a capturar.

De esta forma podréis capturar en vídeo una parte de vuestro escritorio y codificarla directamente en un archivo de vídeo de la misma forma que haríais con un vídeo de You Tube o vuestra WebCam.

Por otra parte dependiendo de qué estemos grabando puede que estéis tirando mucho de vuestra CPU, y si es un gameplay o algo así puede que no tengáis los resultados esperados. En ese caso es mejor que en vez de elegir la opción "Convertir" dejéis "Reproducir" y abráis la vista de controles avanzados en "Ver/Controles Avanzados". Ahora podréis ver el botón rojo de grabar. Desde ese momento podéis pulsar grabar para comenzar la captura y volverle a dar para pararla. Vais a la carpeta donde tengáis configurado el volcado de archivos y ahí estará el vídeo en bruto. Ahora podéis abrirlo y convertirlo en un formato comprimido que pese menos.

Espero que haya sido de vuestro interés.

PD: Esto es lo que usé para hacer los tutoriales de Skyrim Xtreme XD.

Compárteme

Entradas populares