Fragen? Antworten! Siehe auch: Alternativlos
Soweit die Theorie. In der Praxis gibt es verschiedene Ansätze, wie man damit am besten umgeht. Ich habe das Problem in Hardware gelöst, indem ich USB-TV-Grabber mit eingebautem Audio-Sampling gekauft habe, so dass Video und Audio die selbe Taktquelle haben und es keine Sync-Probleme gibt. Nur leider stellt sich heraus, dass mencoder da trotzdem Sync-Probleme herbei halluziniert und alle paar tausend Frames einen Frame dupliziert. Nach zwei Stunden hat man da eine halbe Sekunde Unterschied zwischen Audio und Video.
Gut, dachte ich mir, löse das Problem mit dem Holzhammer, nimm Audio und Video separat auf, dann gibt es da keine Differenzen, die mencoder ausgleichen müsste. Doch weit gefehlt, selbst mit -nosound dupliziert mencoder Frames. Ich könnte kotzen. Jetzt habe ich meinen mencoder gepatcht, damit er auf Zuruf das Fummeln an den Frames läßt, und nehme damit ein paar Stunden lang arte auf, um zu gucken, ob das damit in sync bleibt. Moan ey, wie schwer kann das denn eigentlich sein alles? Offenbar benutzt mencoder da tatsächlich völlig sinnlos auch die PC-Systemzeit mit, die alles andere als zuverlässig ist und vor allem zum Aufnehmen von Video überhaupt gar keine Rolle spielen sollte. Ich erwähne nur mal am Rande "ntp". Laut man-Page müsste man das mit "-mc 0" ausschalten können, aber ich konnte da keine Verhaltensänderung feststellen.
Und falls jetzt jemand sagt, nimm halt was anderes als mencoder: der Treiber ist offenbar weitgehend im Eimer und funktioniert nur mit mencoder. vlc sagt
vlc: [00000272] v4l demuxer error: mmap unsupportedffmpeg sagt
[video4linux2 @ 0x2b068eec8040]The v4l2 frame is 614400 bytes, but 460800 bytes are expectedstreamer (von xawtv) sagt:
setformat: 16 bit YUV 4:2:2 (planar) (640x480): failedDie SVN-Version von vlc segfaultet direkt, noch vor dem Öffnen des Fensters, mit einer glibc-"der Heap ist korrupt"-Meldung.