easyVDR Kopie des easyVDR-Forums zum Nachschlagen
Problem bei h264-Konvertierung

easyVDR - >VARforumsname - >Problem bei h264-Konvertierung

klappnase  03.Nov.2011 21:55:31
Hallo Michel,

vielen Dank für die Antwort!

Du bist der erste, der mit der 0.8 erkennbare Erfolge bei der HD-Konvertierung hat - Super!

Das ist leider zuviel der Ehre, mit meiner antiken Hardware muss ich mich noch auf PAL-Auflösung beschränken ;)

evtl. lohnt sich ein Versuch mkvmerge schrittweise zu aktualisieren...

Ich habe jetzt mal versucht eine aktuellere Version von mkvmerge installert zu bekommen; leider ist die aktuellste Version, die mit der libmatroska aus Etch kompiliert 2.0.0 (installiert ist 1.8.0, meine funktionierende aus squeeze ist 2.7.0). Mit dieser ist zwar der obige Fehler verschwunden, allerdings taucht eine neue Fehlermeldung auf, die man mit einer weiteren Spezial-Kommandozeilen-Option unterdrücken könnte...
Ich habe langsam den Eindruck, dass genau die libmatroska-Version (0.8.0) das Problem ist, vielleicht ist v.0.8.1 ein grösserer Fortschritt als die Versionsnummer vermuten lässt, aber wie auch immer.

Vielleicht habe ich mich aber auch nur zu sehr auf Matroska kapriziert; gerade vorhin habe ich festgestellt, dass es ja auch noch "avimerge" gibt, und wenn ich für die Audiospur statt mp4 eine mp3 Datei erstelle, kann ich mir damit mittels

    avimerge -o ziel.avi -i video.264 -p audio.mp3

eine brauchbare (zumindest erweckt sie den Anschein) avi Datei zimmern. Falls dies jetzt einer genaueren Betrachtung standhält, kann ich ja vielleicht endlich dazu übergehen, mich um die Feinheiten zu kümmern ;)

Gruss

Michael



easyvdr-3.0; MB: Asus M2N-X Plus; DVB: TT-3200, Hauppauge NovaS2; Graka: Geforce GT1030
klappnase  03.Nov.2011 13:26:21
Hallo an alle,

da das yacoto Plugin bei mir irgendwie nicht funktioniert (segfaults), dachte ich, ich bastele mir mal eben auf die Schnelle selbst ein Skript um vdr-Aufnahmen nach h264 zu konvertieren. Allerdings treibt es mich jetzt langsam zur Verzweiflung :(

Nach einigen gescheiterten Versuchen mit vermurkster A/V Synchronisation sieht mein bislang letzter Versuch prinzipell wie folgt aus (die mencoder Kommandos habe ich dabei von yacoto geborgt):
vdrsync.pl -cut
ffmpeg -i vdrsync0.mpa -ac 2 -ar 44100 -f wav - | faac -b 96 -o audiotrack.mp4 -
mencoder -ovc x264 -x264encopts pass=1:bitrate=800:turbo=2 -vf scale=720:-10 -nosound -o /dev/null vdrsync.mpv
mencoder -ovc x264 -x264encopts pass=2:bitrate=800:frameref=5 -vf scale=720:-10 -nosound -o videotrack.264 vdrsync.mpv
mkvmerge -o ziel.mkv -A videotrack.264 audiotrack.mp4

Wenn ich das an meinem "normalen" PC (Debian Squeeze) tue, macht er alles ohne zu murren, und die resultierende .mkv Datei lässt sich auf dem VDR auch (wie es scheint) problemlos abspielen.

Wenn das Skript auf dem VDR läuft gibt mkvmerge allerdings folgende Fehlermeldung (btw, die gleiche Fehlermeldung erscheint, wenn ich die am PC erstellten Dateien auf dem VDR an mkvmerge füttere, umgekehrt die vom VDR erstellten Dateien verursachen kein Problem am PC, es ist also offenbar die ältere Version von mkvmerge die hier Schwierigkeiten macht):

mkvmerge v1.8.0 ('Wise Up') built on Nov 12 2006 20:41:21
'Charlie_XWF540D.264': Using the AVI demultiplexer. Opening file. This may take some time depending on the file's size.
'Charlie_XFyXiNq.mp4': Using the Quicktime/MP4 demultiplexer.

Error: 'Charlie_XWF540D.264' track 0: You are trying to put AVC/h.264 video from an AVI or a similar VfW (Video for Windows) compatible source into a Matroska file in the so-called 'VfW compatibility mode'. Please note that this is not the official way to store AVC/h.264 video in Matroska. Therefore proper playback of such files cannot be guaranteed, and we strongly urge you to use the native Matroska-mode.
At the moment mkvmerge does not support converting from VfW-mode AVC/h.264 tracks to native Matroska-mode AVC/h.264 tracks. You can, however, first import the video track into a MP4 file with e.g. 'MP4Box' (use Google). Then you can use mkvmerge and put the video into a Matroska file.
If you're trying to get AVC/h.264 from an AVI into Matroska then the commands you need to use are for example:
avi2raw avc.avi raw.264
mp4box -fps 23.976 -add raw.264 avc.mp4

Keep in mind to replace '-fps 23.976' with the actual frame rate of your source file.
If you really know what you are doing then you can force mkvmerge to put this AVC/h.264 track into a Matroska file even in VfW mode if you add '--engage allow_avc_in_vfw_mode' to the command line. You can do that in mmg with the 'Add command line options' menu entry in the 'Muxing' menu.

Ok, ich versuchte also einmal, mkvmerge mit der Option "--engage allow_avc_in_vfw_mode" zu starten, und siehe da, es tut, und die resultierende Datei scheint sich auch problemlos abspielen zu lassen. Allerdings, wirklich sicher, dass das eine gute Idee ist bin ich mir natürlich nicht.

Deshalb jetzt meine Fragen:
Weiss jemand, ob man diesen Fehler tatsächlich gefahrlos ignorieren und mit obiger Option umgehen kann, oder sind doch irgendwann Probleme mit den so geschriebenen Dateien zu erwarten?
Oder gibt es eine Option für den mencoder, mit der sich dieses Problem auf unkomplizierte Art vermeiden lässt?

Für jeden sachdienlichen Hinweis wäre ich sehr dankbar.

Grüsse

Michael



easyvdr-3.0; MB: Asus M2N-X Plus; DVB: TT-3200, Hauppauge NovaS2; Graka: Geforce GT1030
michel8  03.Nov.2011 17:42:40
Hi Klappnase,

Du bist der erste, der mit der 0.8 erkennbare Erfolge bei der HD-Konvertierung hat - Super!

Viel Ahnung vom Konvertieren habe ich nicht, aber evtl. lohnt sich ein Versuch mkvmerge schrittweise zu aktualisieren...

Gruß
Michel
Produktiv-VDR:
msi K9N2G-Neo (nvidia 8200 onBoard) mit Athlon X2 4850e mit SamuraiZZ
2xNova-HDS2, DH102