updated:  2024 17. January
published:  2022 25. April

Videograbber

VHS Videokassetten überspielen mit FFmpeg.

Vorwort

Mit einem Videograbber (z.B. August VGB100 ) und einem VHS-Videoabspielgerät können alte VHS-Video’s überspielt und als Datei gespeichert werden.

Voraussetzung

Der Videograbber muss vom Kernel erkannt werden. Beim anschließen des Videograbbers an einem USB-Anschluß wird ein Geräteknoten (/dev/video1 oder /dev/video2) angelegt. Mit dem Programm qv4l2 kann getestet werden, welcher Geräteknoten vom Videograbber verwendet wird.

 qv4l2 -d /dev/video1 
 qv4l2 -d /dev/video2

Gelegentlich muss die Zugriffberechtigung des Geräteknotens geändert werden (chmod, chown, adduser BENUTZER GRUPPE).
Für den Audioton muss die Soundkarte bekannt sein. Informationen über die Soundkarte erhält man mit folgenden Befehlen:

 cat /proc/asound/cards
 cat /proc/asound/modules
 aplay -l			# alle Soundkarten und -Geräte auflisten
 aplay -L 			# ALSA-Gerätenamen auflisten
 arecord -l

Aufnahmeskript

Ein Aufnahmeskript als Datei gespeichert könnte so aussehen:

record.vhs.sh

 #!/bin/bash
 
 declare VideoInput=/dev/video2
 declare AudioInput=hw:2,0
 declare output=/tmp/vhs-film-01.avi

 echo -e "\n\nAufnahme von einem VHS-Recoder über eine Videograbber."
 echo -e "Teste den Videoeingang mit:\t\t qv4l2 -d $VideoInput"
 echo -e "und den Audioeingang über:\t\t cat /proc/asound/cards.\n"
 echo -e "Film wird gespeicher in:\t\t $output"
 echo -e "\nKann los gehen? Abbruch mit [Strg] + [C]"
 read

 ffmpeg  -f v4l2                 \
         -standard PAL           \
         -thread_queue_size 1024 \
         -i $VideoInput          \
         -f alsa                 \
         -thread_queue_size 1024 \
         -i $AudioInput          \
         -vcodec libx264         \
         -vf yadif=1             \
         -preset superfast       \
         -crf 25                 \
         -s 720x576              \
         -r 25                   \
         -aspect 4:3             \
         -acodec libmp3lame      \
         -b:a 128k -channels 2 -ar 48000 \
         $output


Um unerwünschte Streifen an den Rändern des Videos zu eliminieren, kann das Video geschnitten werden. Zum testen nimm folgenden Befehl:


 ffplay -i out.avi  -vf "crop=690:556:10:10"

Stichworte (tags)