Aufnahme aus externen Videoquellen mit Hauppauge WinTV 150

Die Hauppauge WinTV 150 kann sehr gut zur Aufnahme (Digitalisierung) externer Videos verwendet werden.

  • Sie wird sehr gut von Linux unterstützt und bietet einen Hardware Encoder.
  • Die Installation und Aufnahme ist sehr einfach.
  • Sie liefert fertige mpg Filme, die auch ohnen große Rechenkraft mit DvBCut und DVDStyler sehr schöne Video DVD`s produzieren kann.

     

  1. Softwareinstallation (Treiber und Utilities):

     Dazu die Firmware-ivtv, ivtvutils und v4l-utils installieren.

     

  2. Die Eingänge der Karte mit v4l-utils auflisten:
    steffen@linux:~$ v4l2-ctl -n
    ioctl: VIDIOC_ENUMINPUT
    Input : 0
    Name : Tuner 1
    Type : 0x00000001
    Audioset : 0x00000007
    Tuner : 0x00000000
    Standard : 0x000000000000000F (PAL-B/B1/G/H)
    Status : 0x00000000 (ok)
    Capabilities: 0x00000004 (SDTV standards)

    Input : 1
    Name : S-Video 1
    Type : 0x00000002
    Audioset : 0x00000007
    Tuner : 0x00000000
    Standard : 0x0000000000FFFFFF (PAL-B/B1/G/H/I/D/D1/K/M/N/Nc/60 NTSC-M/M-JP/443/M-KR SECAM-B/D/G/H/K/K1/L/Lc)
    Status : 0x00000000 (ok)
    Capabilities: 0x00000004 (SDTV standards)

    Input : 2
    Name : Composite 1
    Type : 0x00000002
    Audioset : 0x00000007
    Tuner : 0x00000000
    Standard : 0x0000000000FFFFFF (PAL-B/B1/G/H/I/D/D1/K/M/N/Nc/60 NTSC-M/M-JP/443/M-KR SECAM-B/D/G/H/K/K1/L/Lc)
    Status : 0x00000000 (ok)
    Capabilities: 0x00000004 (SDTV standards)

    Input : 3
    Name : S-Video 2
    Type : 0x00000002
    Audioset : 0x00000007
    Tuner : 0x00000000
    Standard : 0x0000000000FFFFFF (PAL-B/B1/G/H/I/D/D1/K/M/N/Nc/60 NTSC-M/M-JP/443/M-KR SECAM-B/D/G/H/K/K1/L/Lc)
    Status : 0x00000000 (ok)
    Capabilities: 0x00000004 (SDTV standards)

    Input : 4

    steffen@linux:~$ v4l2-ctl -n
    ioctl: VIDIOC_ENUMINPUT
    Input : 0
    Name : Tuner 1
    Type : 0x00000001
    Audioset : 0x00000007
    Tuner : 0x00000000
    Standard : 0x000000000000000F (PAL-B/B1/G/H)
    Status : 0x00000000 (ok)
    Capabilities: 0x00000004 (SDTV standards)

    Input : 1
    Name : S-Video 1
    Type : 0x00000002
    Audioset : 0x00000007
    Tuner : 0x00000000
    Standard : 0x0000000000FFFFFF (PAL-B/B1/G/H/I/D/D1/K/M/N/Nc/60 NTSC-M/M-JP/443/M-KR SECAM-B/D/G/H/K/K1/L/Lc)
    Status : 0x00000000 (ok)
    Capabilities: 0x00000004 (SDTV standards)

    Input : 2
    Name : Composite 1
    Type : 0x00000002
    Audioset : 0x00000007
    Tuner : 0x00000000
    Standard : 0x0000000000FFFFFF (PAL-B/B1/G/H/I/D/D1/K/M/N/Nc/60 NTSC-M/M-JP/443/M-KR SECAM-B/D/G/H/K/K1/L/Lc)
    Status : 0x00000000 (ok)
    Capabilities: 0x00000004 (SDTV standards)

    Input : 3
    Name : S-Video 2
    Type : 0x00000002
    Audioset : 0x00000007
    Tuner : 0x00000000
    Standard : 0x0000000000FFFFFF (PAL-B/B1/G/H/I/D/D1/K/M/N/Nc/60 NTSC-M/M-JP/443/M-KR SECAM-B/D/G/H/K/K1/L/Lc)
    Status : 0x00000000 (ok)
    Capabilities: 0x00000004 (SDTV standards)

    Input : 4
    Name : Composite 2
    Type : 0x00000002
    Audioset : 0x00000007
    Tuner : 0x00000000
    Standard : 0x0000000000FFFFFF (PAL-B/B1/G/H/I/D/D1/K/M/N/Nc/60 NTSC-M/M-JP/443/M-KR SECAM-B/D/G/H/K/K1/L/Lc)
    Status : 0x00000000 (ok)
    Capabilities: 0x00000004 (SDTV standards)


    Name : Composite 2
    Type : 0x00000002
    Audioset : 0x00000007
    Tuner : 0x00000000
    Standard : 0x0000000000FFFFFF (PAL-B/B1/G/H/I/D/D1/K/M/N/Nc/60 NTSC-M/M-JP/443/M-KR SECAM-B/D/G/H/K/K1/L/Lc)
    Status : 0x00000000 (ok)
    Capabilities: 0x00000004 (SDTV standards)
  3. Den gewünschten Eingang auswählen. In meinem Beispiel möchte ich die Videodaten vom Composite1 Eingang aufnehmen (Audio muß an der Karte angesteckt sein):
    v4l2-ctl -i 2
  4. Aufnahme starten:
    cat /dev/video0 > film.mpg

VHS Kasetten digitalisieren mit Linux

Um meine alten VHS Kasetten zu digitalisieren verwende ich eine alte TV Karte. Zur Anwendung kommt eine HVR 1110. Die folgende Beschreibung trifft i.d.R. auch auf andere analoge TV Karten oder einem Capture USB Stick zu.

Ich gehe davon aus, dass der Treiber installiert ist, die TV eingerichtet und analoge Eingänge vorhaden sind (S-Video oder Composite). In meinem Fall wird die Karte nativ unterstützt. Lediglich der DVBT-Teil benötigt einen Firmware Treiber dvb-fe-tda10046.fw welcher nach /lib/firmware kopiert werden muß. Für die eigentliche beschriebene Funktionalität des capturen analogen Filmmaterials ist dies nicht zwingend notwendig.

Die Funktion der Karte und aller Eingänge kann man sehr schön mit dem Programm qv4l2 testen Läuft dies ist der Videoteil komplett installiert.

Nach Anschluß des bildgebenden Gerätes an die analogen Video und Audiobuchsen erfolgt die eigentliche Aufnahem mit dem Befehl:

mencoder tv:// -tv driver=v4l2:width=720:height=576:outfmt=uyvy:device=/dev/video0:input=2:fps=25:alsa:adevice=plughw.2,0:audiorate=48000:amode=1:forceaudio:immediatemode=0 -oac lavc -ovc lavc -of mpeg -mpegopts format=dvd -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=7000:vbitrate=5000:keyint=15:acodec=ac3:abitrate=192:aspect=4/3 -noskip -o film.mpg 

mencoder ist teil des Installationspaketes und Multimediaplayer Mplayer, welcher vorher installiert sein muß (bei mir kommt er aus der Paketquelle Packmann).

Videoteil

Im obigen Befehl ist ein wichtiger Punkte enthalten, der festlegt, von wo das Video aufgenommen werden soll.

.....device=/dev/video0:input=2:norm=PAL.....

Für die richtige Auswahl der Videokarte muss man die Gerätedatei (/dev/video0 /dev/video1 … 2 …) der TV-Karte, die man für das Videograbbing nutzen will, kennen. Dies kann man mit dem folgenden Befehl auslesen:

ls /dev/video*

Hat die TV-Karte mehrere Eingänge werden diese als Input angesprochen. Im Syntax von mplayer (mencoder) sieht das dann bei einer Karte mit Analog-TV, Composite (CVBS), und S-Video Eingängen so aus:

  • Analog TV: device=/dev/video0:input=0
  • Composite: device=/dev/video0:input=1
  • S-Video: device=/dev/video0:input=2

Auch wenn es mehrere Eingänge gibt, kann immer nur ein Anschluss der TV-Karte gleichzeitig verwendet werden!

Im obigen Befehlsauszug verwenden wir also den S-VHS Anschluß.

Audioteil

Den Audioeingang steuern mit Hilfe das Alsamixers, da mencoder den Alsamixer verwendet. Dieser sollte zuvor installiert werden.

Da wir mehrerer Audioeingänge besitzen (z.B.: vom Mainboard, von der TV karte,…) müssen wir den richtigen festlegen. Dazu rufe ich im Terminal den Alsamixer auf wähle dann Systeminformationen alle Audiokarten und kann damit deren Bezeichnung auslesen. Alternativ funktioniert das auch mit dem Befehl:

cat /proc/asound/cards 

Die Ausgabe ist gleich und in meiner Konfiguration sieht das so aus:

0 [NVidia         ]: HDA-Intel - HDA NVidia
HDA NVidia at 0xfe878000 irq 21
1 [HDMI ]: HDA-Intel - HDA ATI HDMI
HDA ATI HDMI at 0xfeafc000 irq 45
2 [SAA7134 ]: SAA7134 - SAA7134
saa7133[0] at 0xfe9ff800 irq 17

Anschließend wähle ich die richtige Soundkarte aus (in meinem Beispiel wäre das SAA7134) und lege die Aufnahmelautstärke fest.

Im obigen Aufnahmecode ändere ich die Audiokarte auf den richtigen Eingang. Bei meiner Konfiguration wäre dies:

......alsa:adevice=plughw.2,0.....

Aufnahme

Jetzt sollte der Aufnahme nichts mehr entgegenstehen. Wir müssen nur noch den Namen des aufzunehmenden Fimes eingeben. Im obigen Befehl sieht das so aus:

.....-o film.mpg

Mein Film heißt also einfach nur film.

Links

Ubuntuuseres Videocrapping

Ubuntuusres Alsamixer

Ubuntuusers mencoder