• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

WMV -> MPEG1 mittels Mencoder

Buurki

Newbie
Ich habe ein Problem mit der Umwandlung eines WMV-Filmchens zu MPEG1

Ich will einem Freund ein Video geben, dass er auf seinem Windows NT-Rechner (auf den er keine Admin-Rechte hat) abspielen kann. Er kann hier nicht auf moderne Codecs zurückgreifen. Angesagt ist also ein MPEG1-File vom alten Schlag. Ich habe mich schon durch die Weltgeschichte gegoogelt, aber habe zwar mein Problem öfter gefunden nur nicht die entsprechende Lösung.

Mein Befehl ist:
Code:
mencoder london.wmv -o london.mpg -ofps 25 -vf scale=352:288,harddup -of lavf -lavfopts format=mpg:i_certify_that_my_video_stream_does_not_use_b_frames -oac lavc -lavcopts acodec=mp2:abitrate=224 -ovc lavc -lavcopts vcodec=mpeg1video:vrc_buf_size=327:keyint=15:vrc_maxrate=1152:vbitrate=1152:vmax_b_frames=0

Erzählen tut er dann:

Code:
MEncoder 2:0.99+1.0pre8-0ubuntu8 (C) 2000-2006 MPlayer Team
CPU:               Intel(R) Pentium(R) 4 CPU 3.20GHz (Family: 15, Model: 4, Stepping: 3)
CPUflags: Type: 15 MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1
Compiled with runtime CPU detection.
success: format: 0  data: 0x0 - 0xacdb7
ASF file format detected.
VIDEO:  [WMV3]  256x144  24bpp  1000.000 fps    0.0 kbps ( 0.0 kbyte/s)
[V] filefmt:6  fourcc:0x33564D57  size:256x144  fps:1000.00  ftime:=0.0010
==========================================================================
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
AUDIO: 8000 Hz, 1 ch, s16le, 8.0 kbit/6.25% (ratio: 1000->16000)
Selected audio codec: [ffwmav2] afm: ffmpeg (DivX audio v2 (FFmpeg))
==========================================================================
** MUXER_LAVF *****************************************************************
You have certified that your video stream does not contain B frames.
REMEMBER: MEncoder's libavformat muxing is presently broken and will generate
INCORRECT files in the presence of B frames. Moreover, due to bugs MPlayer
will play these INCORRECT files as if nothing were wrong!
*******************************************************************************
OK, exit
Opening video filter: [expand osd=1]
Expand: -1 x -1, -1 ; -1, osd: 1, aspect: 0.000000, round: 1
Opening video filter: [harddup]
Opening video filter: [scale w=352 h=288]
==========================================================================
Opening video decoder: [dmo] DMO video codecs
DMO dll supports VO Optimizations 0 1
DMO dll might use previous sample when requested
GetOutput r=0x0   size:110592  align:1
StreamCount r=0x0  1  1
Decoder supports the following formats: YV12 YUY2 UYVY YVYU RGB8 RGB555 RGB565 RGB24 RGB32 
Decoder is capable of YUV output (flags 0x1b)
VDec: vo config request - 256 x 144 (preferred colorspace: Packed YUY2)
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is undefined - no prescaling applied.

SwScaler: BICUBIC scaler, from Planar YV12 to Planar YV12 using MMX2
videocodec: libavcodec (352x288 fourcc=3167706d [mpg1])
Selected video codec: [wmv9dmo] vfm: dmo (Windows Media Video 9 DMO)
==========================================================================
[mp2 @ 0x87bb7ec]Sampling rate 8000 is not allowed in mp2
Couldn't open codec mp2, br=224.

Die Fehlermeldung kapiere ich schon. Ich habe mal 96 als Bitrate ausprobiert etc. Aber das klappt auch nicht. Keine Ahnung, was mp2 so drauf hat. Wenn ich die Audiospur probiere via PCM mitzuschleife, dann kommt kein Ton mit. Eigentlich auch logisch.

Also der Knackpunkt ist der Parameter
Code:
lavc -lavcopts acodec=mp2:abitrate=224

Hat vielleicht jemand ein Lösung für mencoder?

PS:
Der Befehl mit den Parametern ist natürlich geklaut, wenngleich ich mich belesen habe, was die einzelnen Parameter bedeuten. Tut der Part nach dem Doppelpunkt eigentlich Not?
Code:
-lavfopts format=mpg:i_certify_that_my_video_stream_does_not_use_b_frames
 

Gimpel

Guru
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
AUDIO: 8000 Hz, 1 ch, s16le, 8.0 kbit/6.25% (ratio: 1000->16000)
...
[mp2 @ 0x87bb7ec]Sampling rate 8000 is not allowed in mp2

Musst noch resamplen auf 44100Hz
http://www.mplayerhq.hu/DOCS/HTML/en/menc-feat-vcd-dvd.html
Code:
-srate 44100 -af lavcresample=44100
 
OP
B

Buurki

Newbie
Danke! Jetzt rechnet er den Film durch.

Code:
[...]
Video stream:  408.639 kbit/s  (51079 B/s)  size: 8074698 bytes  158.080 secs  1883 frames

Audio stream:  224.000 kbit/s  (27999 B/s)  size: 4421485 bytes  157.910 secs

Zu hören ist trotzdem nichts :-(
 

Gimpel

Guru
Hmm, ich arbeite immer mit transcode.

Aber laut http://www.mplayerhq.hu/DOCS/HTML/en/menc-feat-vcd-dvd.html
wird ohnehin die Verwendung von twolame or toolame empfohlen. Geh doch mal streng danach vor.

14.8.5.7. PAL VCD schrieb:
mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xvcd -vf \
scale=352:288,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
vcodec=mpeg1video:keyint=15:vrc_buf_size=327:vrc_minrate=1152:\
vbitrate=1152:vrc_maxrate=1152:acodec=mp2:abitrate=224 -ofps 25 \
-o movie.mpg movie.avi
..wobei die da selbst wieder libavcodec für audio verwenden..
 
OP
B

Buurki

Newbie
Danke für den Tipp. Auch hier bleibt das Endprodukt stumm. Ich habe auch ein wenig rumprobiert und bin nicht weitergekommen.

Jetzt habe ich auf transcode umgesattelt. Bis auf eine Menge Fehlermeldungen bin ich noch nicht allzuweit, da ich noch in der Phase des Manual-Durchwelzen bin. Transcode ist leider nicht so gut auf deutsch beschrieben wie mencoder und auf englisch dauert alles länger. Mal schauen, ob ich es so hinbekomme ...
sonst frage ich einfach noch mal ;-)
MIt transcode komme ich nicht wirklich zurecht. Kann mir jemand mit dem entsprechenden WMV-->MPEG Befehl aushelfen? So richtig brauchbare Anleitung konnte ich im Netz nicht finden.
 
Oben