cuaderno de campo

anotaciones

Menú
  • casa
    • cocina
      • pan
      • verdura
    • dinou del carrer nou
    • nadal : una carta
    • plano
  • huerto
    • instrucciones sobre el huerto
    • huerto del año 2022
  • humanidades
    • fonoteca
      • Noches en Poderna
      • El canto de las aves
    • galería
    • mala lluna
    • rutas fuera
    • umbrario
    • El misterio de Sant Mena
  • jardín
    • instrucciones sobre el jardín
    • exterior
    • interior
    • viveros
  • juego
    • listado de juegos
  • linux
    • bash
    • sistema operativo
    • ssh
  • web
    • apache
    • css
    • html5
    • javascript
    • mysql
    • php
Menú

de AV a USB

Publicado el 16 de diciembre de 20214 de septiembre de 2022 por ernesto

  • detección del adaptador
    • v4l2-ctl
    • ffmpeg
  • reproducción de la señal AV
    • vlc
    • gst-launch-1.0
      • video
      • audio
      • video + audio
  • grabación de la señal AV
    • video
    • audio: ogg y mp3
    • video + audio
    • video + audio con mucha queue
  • edición del video
    • recortando vía consola
  • fuentes
Rybozen Convertidor de audio/video USB 2.0
Rybozen Convertidor de audio/video USB 2.0

en linux, es posible digitalizar la señal de una fuente analógica (vía conectores RCA o S-Video) mediante un adaptador de captura de video USB compatible con v4l2.

detección del adaptador

lsusb

Bus 001 Device 002: ID 534d:0021 MACROSILICON AV TO USB2.0

arecord -l

**** Lista de CAPTURE dispositivos hardware ****
tarjeta 1: USB20 [AV TO USB2.0], dispositivo 0: USB Audio [USB Audio]
Subdispositivos: 0/1
Subdispositivo #0: subdevice #0

siendo que el dispositivo capturador de audio se identifica como la tarjeta 1, se pueden comprobar sus atributos mediante amixer:

amixer -c 1

Simple mixer control ‘Mic’,0
Capabilities: cvolume cvolume-joined cswitch cswitch-joined
Capture channels: Mono
Limits: Capture 0 – 8191
Mono: Capture 8191 [100%] [31.99dB] [on]

v4l2-ctl

sudo apt show v4l-utils

Collection of command line video4linux utilities.
v4l-utils contains the following video4linux command line utilities:
[…]
v4l2-ctl, cx18-ctl, ivtv-ctl: tools to control v4l2 controls from the cmdline

v4l2-ctl --list-devices

AV TO USB2.0 (usb-0000:00:02.1-1):
/dev/video0
/dev/video1
/dev/media0

v4l2-ctl --all

Driver Info:
Driver name : uvcvideo
Card type : AV TO USB2.0
Bus info : usb-0000:00:02.1-2
Driver version : 5.4.151
[…]
Format Video Capture:
Width/Height : 480/320
Pixel Format : ‘YUYV’ (YUYV 4:2:2)
Field : None
Bytes per Line : 960
Size Image : 307200
Colorspace : sRGB

etcétera.

ffmpeg

ffmpeg -sources | grep video

ffmpeg version 4.2.4-1ubuntu0.1 Copyright (c) 2000-2020 the FFmpeg developers
[…]
Auto-detected sources for video4linux2,v4l2:
/dev/video1 [AV TO USB2.0]
/dev/video0 [AV TO USB2.0]

ffmpeg -list_formats all -i /dev/video0

ffmpeg version 4.2.4-1ubuntu0.1 Copyright (c) 2000-2020 the FFmpeg developers
[…]
[video4linux2,v4l2 @ 0x55f99a24f700] Compressed: mjpeg : Motion-JPEG : 480×320 640×480 720×480
[video4linux2,v4l2 @ 0x55f99a24f700] Raw : yuyv422 : YUYV 4:2:2 : 480×320

reproducción de la señal AV

vlc

tanto el comando v4l2-ctl como ffmpeg informan de que el adaptador de video se identifica en el sistema operativo como /dev/video0. del siguiente modo, si se dispone de vlc, es posible comprobar en vivo la entrada de la señal analógica:

vlc v4l2:///dev/video0

gst-launch-1.0

video

gst-launch-1.0 v4l2src device=/dev/video0 ! autovideosink

lanzada esta orden, debería aparecer una ventana de 480×320 píxeles reproduciendo el contenido de la señal de AV (en este caso, dado que la fuente solicitada es v4l2src, únicamente el video).

audio

gst-launch-1.0 alsasrc device=hw:1,0 ! pulsesink

la identificación del dispositivo de audio como hw:1,0 se obtiene gracias a la información facilitada por el comando arecord: tarjeta 1, dispositivo 0.

video + audio

gst-launch-1.0 v4l2src device=/dev/video0 ! autovideosink alsasrc device=hw:1,0 ! pulsesink

son necesarios dos espacios (en lugar de uno) entre sentencia y sentencia (es decir, entre autovideosink y alsasrc) para lograr la reproducción simultánea de video y audio.

grabación de la señal AV

video

gst-launch-1.0 -e v4l2src device=/dev/video0 ! videoconvert ! x264enc ! mp4mux ! filesink location=~/tmp/salida.mp4

esta sentencia graba únicamente la señal de video (v4l2src) al archivo ~/tmp/salida.mp4: el video se codifica como x264enc y se almacena dentro del formato contenedor MP4.

audio: ogg y mp3

gst-launch-1.0 -e alsasrc device=hw:1,0 ! audioconvert ! vorbisenc ! oggmux ! filesink location=~/tmp/audio.ogg

gst-launch-1.0 -e alsasrc device=hw:1,0 ! audioconvert ! audioresample ! lamemp3enc ! filesink location=~/tmp/audio.mp3

según parece, a diferencia de lamemp3enc, el elemento vorbisenc no necesita audioresample para funcionar.

video + audio

gst-launch-1.0 -e v4l2src device=/dev/video0 ! videoconvert ! x264enc ! mp4mux name=mux ! filesink location=~/tmp/video.mp4 alsasrc device=hw:1,0 ! audioconvert ! audioresample ! lamemp3enc ! mux.

son necesarios dos espacios entre las sentencias de ambas fuentes (es decir, entre location=~/tmp/video.mp4 y alsasrc).

video + audio con mucha queue

gst-launch-1.0 -e v4l2src device=/dev/video0 ! queue ! videoconvert ! queue ! x264enc ! queue ! mp4mux name=mux ! queue ! filesink location=~/tmp/video.mp4 alsasrc device=hw:1,0 ! queue ! audioconvert ! queue ! audioresample ! queue ! lamemp3enc ! queue ! mux.

edición del video

recortando vía consola

ffmpeg -i video.mp4 -ss 00:16:03 -to 00:18:43 -c copy copia.mp4

fuentes

  • «Capturar pantalla con VLC video + audio» en Radios Libres.
  • daiatlus79, «EasyCap DC60 (STK1160) + VLC + Xubuntu 13.10 = OpenSource Video Capture!!» en instructables circuits.
  • «gst-launch-1.0» en GStreamer.
  • «How to digitize old VHS videos with an EasyCAP UTV007 USB converter on Linux» en Michael Franzl.
  • «hum4n0id/gstreamer_pipeline_samples.md» en GitHub Gist.
  • nayana, «Gstreamer recording video with audio» en stackoverflow.
  • «Software for using EasyCAP USB video capture device» en Ask Ubuntu.
Etiquetado como amixer, arecord, ffmpeg, gst-launch-1.0, lsusb, v4l2, v4l2-ctl, vlc
  • recuperación de un dispositivo (usb o flash)

    Puesto al día el 24 de setiembre de 2019. modo de sólo lectura (read-only) si…

  • servidor DLNA en ZTE F680

    Armando un servidor DLNA en el router ZTE F680 enchufándole un dispositivo de almacenamiento USB.…

  • WCAG 2.0

    técnicas hay técnicas que son suficientes (sufficient techniques) para conseguir la conformidad con las WCAG;…

RSS rutas fuera

  • Esta tarde, Criptozoología con Vicente Fuentes 23 de marzo de 2023 Javier Resines
  • Beats and yelling from: Yaaroth, Verminous Serpent, Svraoz 22 de marzo de 2023 Hate Meditations
  • Xerrada: La importància de les llavors locals 22 de marzo de 2023 moon
  • Beats and yelling from: Cromlech, Contrarian, Skrying Mirror 21 de marzo de 2023 Hate Meditations
  • Necropolis #62 – On Burzum (Band Focus) 19 de marzo de 2023 Hate Meditations
  • Undead – Putrefactio (2023) 19 de marzo de 2023 Brett Stevens
  • The ambient hut: Hole Dweller 19 de marzo de 2023 Hate Meditations
  • Review – Death Metal 17 de marzo de 2023 Hate Meditations
  • Presentación de “Criptozoologia en España” en Madrid 16 de marzo de 2023 Javier Resines

Categorías

apache bash casa cocina corral css exterior fonoteca galería html5 huerto humanidades humanidades digitales interior jardín javascript juego linux mysql pan php repostería sistema operativo ssh verdura web

Archivo

cuaderno de campo 2011-2023