Guten Tag David, erst mal vielen Dank für deine ausführliche und hilfreiche Antwort! On Tuesday 02 November 2010 00.48:39, David Haller wrote:
Ok, das ist ein FullHD H.264 Video mit sehr hoher Bitrate, mit PCM (aka "wav" ohne "Verpackung") Ton und 30 fps im MOV Container. Das braucht schon ordentlich CPU-Wumms um das abzuspielen (oder die GPU muß helfen, aber das klappt AFAIK unter Linux noch nicht so recht).
Scheint so, dass mein Laptop nicht sooo viel "pfupf" hat (wie wir in der Schweiz sagen). In einem Forum habe ich gelesen, dass die Grafikkarte nur im Vollbildmodus hilft, während im Fenstermodus alles die CPU macht. Und: wenn ich die Originaldatei (aus Konsole gestartet) mit mplayer im Vollbildmodus kucke, ist der Ton tatsächlich synchron...
mencoder -oac mp3lame -ovc lavc -lavcopts vcodec=mpeg4 -o output.avi MVI_0049.MOV
ergibt ein sehr pixeliges Ergebnis plus grobe Übergängen in Flächen (so wie wenn man ein Foto auf wenige Graustufen reduziert).
Hm, vermutlich reicht da schlicht die default-Bitrate nicht. Teste mal:
Dumpen des Audio (ohne De-/Encodierung, nur verpacken im .WAV):
mplayer -vo pcm:fast:file=MVI_0049.wav -vc null -vo null MVI_0049.MOV
Das klappt nicht. Die Ausgabe ist: Playing MVI_0049.MOV. libavformat file format detected. [lavf] stream 0: video (h264), -vid 0 [lavf] stream 1: audio (pcm_s16le), -aid 0, -alang eng VIDEO: [H264] 1920x1088 24bpp 30.000 fps 38660.5 kbps (4719.3 kbyte/s) Clip info: major_brand: qt minor_version: 537331968 compatible_brands: qt CAEP ========================================================================== Forced video codec: null Opening video decoder: [null] Null video decoder Movie-Aspect is undefined - no prescaling applied. VO: [null] 1920x1088 => 1920x1088 Planar YV12 Selected video codec: [null] vfm: null (NULL codec (no decoding!)) ========================================================================== ========================================================================== Opening audio decoder: [pcm] Uncompressed PCM audio decoder AUDIO: 44100 Hz, 2 ch, s16le, 0.0 kbit/0.00% (ratio: 0->176400) Selected audio codec: [pcm] afm: pcm (Uncompressed PCM) ========================================================================== AO: [oss] 44100Hz 2ch s16le (2 bytes per sample) Starting playback... Too many buffered pts ..... (diese Zeile insgesamt 2769 mal...) Too many audio packets in the buffer: (4096 in 16421584 bytes). Maybe you are playing a non-interleaved stream/file or the codec failed? For AVI files, try to force non-interleaved mode with the -ni option. ......(9x wiederholt) A: 0.3 V: 0.0 A-V: 0.348 ct: 0.000 0/ 0 ??% ??% ??,?% 1822 0 [J Exiting... (End of file) Ich habe es noch mit "mplayer -ni ...." versucht, aber das hat nichts geändert.
Das kannst du dann seperat nach belieben umkodieren und dann reinmuxen (s.u.). Einen Tonversatz direkt mit mencoder ausgleichen klappt hier nicht so recht.
Recodieren mit ner Qualitätsbasierten Einstellung (hier mit "eins besser als default", das reicht mir in der Regel ;):
mencoder -oac mp3lame -ovc lavc -lavcopts \ vcodec=mpeg4:vqscale=3:vbitrate=24000000 \ -o MVI_0049.avi MVI_0049.MOV
Bild 100% Erfolg. Ton verschoben.
Oder alternativ gleich noch z.B. auf 720p (nicht anamorph) skalieren (und abschneiden von je 4 Pixeln oben und unten um auf die "korrekte" HD Auflösung zu kommen):
mencoder -oac mp3lame -ovc lavc -lavcopts \ vcodec=mpeg4:vqscale=3:vbitrate=24000000 \ -sws 9 -vf crop=1920:1080:0:4,scale=1280:720 \ -o MVI_0049_720p.avi MVI_0049.MOV
Bild 100% Erfolg. Ton verschoben.
Wenn du nicht mußt würd ich die Framerate nicht anpassen.
Wäre das der Parameter -fps=n? In deinen Befehlen als nicht drin und auch nicht angepasst?
Parameter für x264 (also wieder H.264) hab ich jetzt nicht direkt zur Hand, und testen ist mit Divx (vcodec=mpeg4) einfach deutlich schneller ;)
Ausserdem ist der Ton ebenfalls verschoben, so wie es schon beim Original-Anschauen mit mplayer der Fall ist...
Von Anfang an? Dann kann man das am einfachsten beim Muxen korrigieren (z.B. mit mkvmerge -y TRACKNO:VERSATZ_IN_ms).
Es dünkt mich, dass der Ton im allerersten Moment synchron ist, aber dann nicht mehr (in den oben erstellten avi's).
Muxen geht dann z.B. so:
mkvmerge -o MVI_0049_720p.mkv -A MVI_0049_720p.avi \ -y 0:-2000 -D MVI_0049.mp3
Das konnte ich nicht ausprobieren, wegen der Meldungen beim Ton-Rauskopieren (oben). Über die Ton-Meldungen fand ich in Google nur ubuntu-Hinweise auf einen bug. Ich weiss aber nicht, wie alt die sind und ob das zutrifft, oder einfach andere Parameter nötig sind... Gruss Daniel -- Daniel Bauer photographer Basel Barcelona professional photography: http://www.daniel-bauer.com my new blog: http://www.guapamania.com/wordpress/ -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org