VHS Videokassetten digitalisieren unter Linux

VHS Videokassetten digitalisieren unter Linux

VHS Videokassetten digitalisierenIch habe immer noch ein paar alte VHS-Videokassetten im Schrank stehen und hoffe inständig mein alter Videorekorder hält lange genug bis ich die VHS Videokassetten digitalisieren kann. Dann sah ich den PVG-100 USB-Stick bei Pollin und dachte mir für unter zehn Euro kann man nicht viel falsch machen. Der Stick ist leicht anzuschließen. Einfach die drei Composite Stecker (gelb, weiß, blau in den Video Rekorder und auf der anderen Seite in den Stick stecken und den USB-Stick mit einem freien USB-Port verbinden. Der Stick braucht unbedingt einen USB 2.0 Port. Mit einem USB 1.1 oder USB 3.0 Port funktioniert er nicht richtig. Zuerst habe ich die mitgelieferte Windows Software VHS to DVD ausprobiert. Das klappt out-of-the-box. Ich musste nur die Einstellungen des Treibers von NTSC auf PAL-B umstellen (PAL-G ginge auch) und schon sah ich das Bild des Videorekorders. Leider zeichnet der Stick unter Windows 10 dann nur in halber Auflösung auf. Also in einer Art Mini-Bild, das auch noch unschärfer wird, als die alten Videoaufzeichnungen ohnehin schon sind.

Also habe ich geguckt, ob ich den Stick unter Linux zum Laufen bringe. Das war „etwas“ aufwändiger. Es gibt aber eine gute Anleitung direkt vom Entwickler des Treibers, Steve Lacy, wie die nachfolgende Anleitung zeigt. Um den Treiber zu übersetzen benötigt man zwei Entwicklerpakete, die man unter Debian mit

sudo apt-get install ligcrypt11-dev  libusb-1.0.0-dev

installieren kann.

Im Ergebnis kann man mit dem Programm „somagic-both“ wunderbar Bild und Ton in getrennte RAW Dateien aufnehmen und sie dann zusammen mixen. Das zusammen mixen allerdings ist bei RAW Dateien ohne Timestamp wirklich schwierig. Am Erfolgreichsten war ich mit flowblade. Dort kann man beide Dateien als Video und Tonspur laden und dann manuell synchronisieren. Um der Frage zuvor zukommen wieso die beiden Spuren nicht sowieso synchron sind: Das liegt daran, dass bei den Aufzeichnungen der ein oder andere Frame ausgelassen (gedropped) wird. Ich erhalte dann immer Dateien, die ein paar Sekunden in der Länge auseinander liegen. Alles in Allem ein wirklich zeitraubender Weg, den ich für ca. 50 Videokassetten nicht weiter verfolgen wollte. Die entstandenen Filme sind aber qualitativ klasse, da flowblade noch jede Menge Filter und Bearbeitungsoptionen anbietet, die keine Wünsche offen lassen

Der nächste Versuch mit einer alten TV-Karte

Dann kam mir aber die Idee, das ich noch eine alte TV-Karte habe. Es ist eine WinTV-PCI von Hauppauge, die auf dem BT848 Chip basiert. Diese Karte weist auch drei Composite Eingänge auf, so daß ich sie prima mit dem Videorekorder verbinden kann und hoffte damit die VHS Videokassetten digitalisieren zu können.

Nachdem ich die alte Karte in den einzigen PCI Slot meines aktuellen Mainboards gesteckt und den Rechner eingeschaltet habe, wurde die Karte direkt von Video4Linux2 (im Kernel enthalten) erkannt. Um den Ton zu bekommen, muss man die Karte mittels einen 3.5mm Klinke auf 3.5mm Klinke-Stecker-Kabel an die Soundkarte anschließen.

Die Aufnahmen mache ich mit mencoder und zum anschauen der Videos verwende ich tvtime. An den Parametern für mencoder habe ich schon eine Weile ausprobiert bis es klappte. Aber dafür ist das Ergebnis wirklich vorzeigbar. Video und Ton sind synchron und die Qualität ist wie auf den Videos und die Dateigröße ist auch akzeptabel.

Aufgezeichnet wird mit dem Kommando (PAL, 4:3, Stereo):

mencoder tv:// -tvdriver=v4l2:device=/dev/video0:normid=5:input=1:alsa=1:adevice=hw.0,0:audiorate=48000:amode=1:width=768:height=576 \
-oac lavc -ovc lavc -of mpeg -mpegopts format=dvd:tsaf -vf scale=720:576,harddup -srate 48000 -af lavcresample=48000 \
-lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:keyint=15:vstrict=0:acodec=ac3:abitrate=192:aspect=4/3 \
-ofps 25 -o outfile.mpg

 

Um es noch etwas komfortabler zu bekommen, habe ich ein kleines Shell-Skript geschrieben, das auch ein einige Parameter akzeptiert, um z.B. 4:3 und 16:9 Formate auszuwählen oder auch eine Aufnahme, die sich mit dem oben genannten Kommando nicht aufzeichnen läßt, als RAW Datei zu digitalisieren (war bei mir ein Video von einem DAT Band überspielt auf VHS vor ca. 20 Jahren). Das beschleunigt das VHS Videokassetten digitalisieren nochmal ordentlich.

#!/bin/bash

# rec_vhs.sh - Skript zum Aufnehmen von VHS Videos über eine BT848 Fernsehkarte
# Version: 0.1
# Autor: Hans Matzen
#

raw="0"
format="16/9"
tvtime="0"
outfile="capture"

while getopts hr4to: opt
do
case $opt in
h) echo "rec_vhs.sh - Skript zum digitalisieren von VHS Videos per TV-Karte"
echo "Aufruf:"
echo "rec_vhs.sh <Optionen> <Ausgabedateiname>"
echo "Optionen:"
echo "-h - gibt diesen Hilfetext aus"
echo "-4 - verwendet 4:3 Format anstatt 16:9 Format"
echo "-r - zeichnet RAW Daten auf anstatt MPEG"
echo "-t - startet tvtime und beginnt mit der Aufnahme, wenn tvtime beendet wird (ESC)"
echo "-o <Dateiname> - gibt wie die Ausgabedatei heißen soll (ohne Suffix)"
echo ""
exit 0;;
r) raw="1";;
4) format="4/3";;
t) tvtime="1";;
o) outfile=$OPTARG;;
?) echo "Ungültige Option"; exit 1;;
esac
done

# input 0 fpr antenne, 1 for composite, 2 for s-video
tvdriver_opt="driver=v4l2:device=/dev/video0:normid=5:input=1:alsa=1:adevice=hw.0,0:audiorate=48000:amode=1:width=768:height=576 "

if [ $tvtime == "1" ]; then
tvtime
fi

if [ $raw == "1" ]; then
echo "Starte Aufzeichnung mit RAW Daten"
# RAW Daten speichern
mencoder tv:// -tv $tvdriver_opt -oac copy -ovc copy -o $outfile.avi
else
echo "Starte Aufzeichnung mit MPEG Daten"
# mpg aufnehmen von bt848
mencoder tv:// -tv $tvdriver_opt \
-oac lavc -ovc lavc -of mpeg -mpegopts format=dvd:tsaf -vf scale=720:576,harddup -srate 48000 -af lavcresample=48000 \
-lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:keyint=15:vstrict=0:acodec=ac3:abitrate=192:aspect=$format \
-ofps 25 -o $outfile.mpg
fi

Das digitalisierte VHS Video schneiden

Um das Video hinterher zu schneiden notiere ich mir unter flowblade die Timestamps an denen ich schneiden möchte und verwende ffmpeg, um die Datei zu schneiden:

ffmpeg -i outfile.mpg -ss 00:00:08 -to 01:21:50 -c copy outfile_cut.mp4

Dabei gibt man die Startzeit mit -ss <Stunde>:<Minute>:<Sekunde> und die Endzeit mit -to <Stunde>:<Minute>:<Sekunde> an.

Die Nachbearbeitung dauert also etwas 5 Minuten pro Aufnahme. Die Digitalisierung solange wie der Film, aber ich muss nicht dabei sein.

 

Fazit zum VHS Videokassetten digitalisieren: Knapp 10 Euro aus dem Fenster geschmissen, aber einen Weg gefunden die VHS Videokassetten zu digitalisieren. :-)

Im nächsten Schritt möchte ich noch ausprobieren, ob es mir gelingt über das v4l2loopback Modul das Video während der Aufnahme auch sehen zu können.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

:bye: 
:good: 
:negative: 
:scratch: 
:wacko: 
:yahoo: 
B-) 
mehr...
 
ALL-INKL.COM - Webhosting Server Hosting Domain Provider Blogverzeichnis - Blog Verzeichnis bloggerei.de