Analoge TV-Aufnahme mit dem Mencoder

  • Hallo,


    auf meiner Suche nach einer Möglichkeit unter Linux über eine analoge TV-Karte aufzunehmen zu können ohne gleich so riesen Klötze wie mythtv oder vdr installieren zu müssen, beide sind mir zu überdimensioniert für eine gelegentliche Aufnahme. Bin ich Dank Vienna auf den mencoder gestoßen und auf diesen Link.


    Damit hatte man schon mal eine Grundlage, da ich das spätere Ergebnis auf DVD speichere hab ich das Script etwas verändert.

    PHP
    1. mencoder tv:// -tv driver=v4l2:input=1:width=704:height=576:amode=1:forcechan=2:chanlist=europe-west:channel=SE15:immediatemode=0:alsa:outfmt=yv12 -ovc lavc -lavcopts vcodec=mjpeg:vhq -oac mp3lame -lameopts cbr:br=192 -af volume=0 -o /home/morpheus/Videos/test.avi

    Die meisten Einstellungen werden ja auf der verlinkten Seite erklärt darum erspare ich mir das. Außerdem sind Einstellungsmöglichkeiten so vielfältig dass das den Rahmen sprengen würde. Gute Anlaufstellen sind wie immer Google und die man.
    Zu zwei Einstellungen möchte ich trotzdem eben was schreiben.


    Und zwar erstens zu der Option:

    PHP
    1. channel=SE15

    Es hat etwas gedauert bis ich raus gefunden hatte wie die Channel-Bezeichnung für die Sender lauten. Das Ganze macht man mit dem Kommando

    PHP
    1. scantv -c /dev/video0 -C /dev/vbi0 > Channel.tex

    Nach der Eingabe des Komandos wird man zuerst gefragt welche TV Norm da geben wir 0 für Pal an. Die zweite Frage nach der Frequenz-Tabelle beantworten wir mit 5 für west-europa. Danach werden die Kanäle gescannt und das Ergebnis finden wir in einer Text Datei im Home-Verzeichnis wieder. So sollte das Sender einstellen kein Problem mehr sein.


    Die zweite Option ist:

    PHP
    1. -endpos 02:20:00

    Damit wären wir auch auch schon beim Thema zeitgesteuerte Aufnahme. Die Option beendet die Aufnahme, so gut so schön aber wie wird der Mencoder gestartet.
    Dazu benötigen wir als erstes ein ausführbares Script.


    Es wird als erstes eine neue Text-Datei erstellt z.B. mit dem Namen TV.sh, in dieser wird unser oben genanntes Script kopiert und gespeichert. Dann mit einem rechts Klick->Eigenschaften->Zugriffsrechte ein Haken bei Ausführbar gemacht. Das wars, jetzt muss die Datei noch in ein Verzeichnis Verschoben werden in dem Linux nach ausführbaren Dateien sucht. Dazu bietet sich das Verzeichnis /usr/bin an. Ist man nicht sicher sollte das Kommando

    PHP
    1. $Path

    eine Liste dieser Verzeichnisse anzeigen.


    Befindet sich unsere Datei in einem solchen Verzeichnis reicht das Kommando

    PHP
    1. TV.sh

    in der Konsole aus um die Aufzeichnung zu starten.
    Das ist Voraussetzung für den gnome-schedule so eine Art Task-Planer. Dieser ist eine GUI für crontab, mit cron lassen sich Programme usw. zeitgesteuert starten auch unser Script.
    Cron lässt sich auch direkt über einen Editor einstellen, was wie ich finde aber sehr unübersichtlich ist. Parka Boy hat in m2d sehr ausführlich beschrieben wie das geht.
    Ich bevorzuge die GUI Methode, die Einstellungen dürften selbst erklären sein. Man gibt als Task einfach

    PHP
    1. TV.sh

    an das wars. Das Script startet jetzt zu dem angegebenen Zeitpunkt. Mit endpos wird die Aufnahme beendet, was jetzt noch fehlt ist das Runterfahren vom Rechner.
    Dazu kann man noch einen Eintrag im gnome-schedule machen z.B.

    PHP
    1. pm-hibernate

    Natürlich so eingestellt das die Aufnahme beendet ist bevor der Rechner runterfährt oder man hängt am mencoder script folgende weiterleitung an.

    PHP
    1. && pm-hibernate

    Ist die Aufnahme beendet fährt der Rechner runter.