Un blog de...

Mi foto
Un ente multicelular, polisistemático, psicosocial y ciberespacial; hiperlaboral, intersintético, polifacético, uniespiritual, hipoeconómico, tecnofílico, pseudopoético y megaridículo...

sábado, 9 de marzo de 2019

Iniciar un lapso específico de grabación de video desde línea de comandos

Fue necesario investigar en muchas fuentes y hacer varios experimentos, pero al fin conseguí realizar una grabación, iniciada en línea de comandos, desde la cámara web de una laptop de gama media (adquirida en 2011) con esta orden para VLC:
cvlc -I dummy v4l2:// :input-slave=alsa:// :v4l-vdev="/dev/video0" :v4l-norm=3 :v4l-frequency=-1 :v4l-caching:1500 :v4l-samplerate=44100 :v4l-channel=0 :v4l-tuner=-1 :v4l-audio=-1 :v4l-stereo :v4l-width=480 :v4l-height=640 :v4l-brightness=0 :v4l-colour=-1 :v4l-hue=-1 :v4l-contrast=0 :no-v4l-mjpeg :v4l-decimation=1 :v4l-quality=100 --sout-mux-caching=5000 --sout="#transcode{vcodec=mp4v,scale=0.7,acodec=mp4a,ab=96,channels=1,samplerate=44100}:standard{access=file,mux=mp4,dst=Vídeos/Desde casa/cam_`date +%Y-%m-%d_%H-%M-%S`.mp4}"
Para lograr que la grabación termine automáticamente después de un tiempo determinado en segundos, fue necesario insertar el comando en un script, ya que las referencias sobre utilizar parámetros internos de VLC como vlc://quit, --run-time=[segundos] y --stop-time=[segundos] no funcionaron en ninguna de las combinaciones. El script lo puse en ~/.local/bin/vlc_cam y su contenido es este:
  1. #!/bin/bash
  2. #Nombre del script: vlc_cam
  3. #Script para grabación desde webcam mediante vlc.
  4. #Este script fue desarrollado en Ubuntu 18.04.
  5. #Paquetes que deben instalarse previamente: vlc
  6. #Fecha de creación: 2019-01-22
  7. #Autor: @leoperbo
  8. echo '¿Cuántos segundos grabar?'
  9. read TIEMPO
  10. echo 'Presiona CTRL+C para interrumpir la grabación manualmente.' &&
  11. timeout "$TIEMPO" cvlc -I dummy v4l2: :input-slave=alsa: :v4l-vdev="/dev/video0" :v4l-norm=3 :v4l-frequency=-1 :v4l-caching:1500 :v4l-samplerate=44100 :v4l-channel=0 :v4l-tuner=-1 :v4l-audio=-1 :v4l-stereo :v4l-width=480 :v4l-height=640 :v4l-brightness=0 :v4l-colour=-1 :v4l-hue=-1 :v4l-contrast=0 :no-v4l-mjpeg :v4l-decimation=1 :v4l-quality=100 –sout-mux-caching=5000 –sout="#transcode{vcodec=mp4v,scale=0.7,acodec=mp4a,ab=96,channels=1,samplerate=44100}:standard{access=file,mux=mp4,dst=Vídeos/Desde casa/cam_`date +%Y-%m-%d_%H-%M-%S`.mp4}"
Además de solucionar la disfunción de parámetros de VLC asociados a la duración de una grabación, el script me ofrece estas ventajas:
  • Iniciar la grabación desde línea de comandos con una línea de texto corta (útil para control remoto vía SSH).
  • Decidir la duración de forma variable y rápida al iniciar la orden de grabación.
Para iniciar la grabación desde una terminal basta con escribir la ruta al script:
.local/bin/vlc_cam ¿Cuántos segundos grabar? 20 Presiona CTRL+C para interrumpir la grabación manualmente. VLC media player 3.0.4 Vetinari (revision 3.0.4-0-gf615db6332)

Páginas consultadas:

No hay comentarios:

Publicar un comentario