[mencoder] wmv => avi/divx

Pagina: 1
Acties:

  • MrScratch
  • Registratie: December 2001
  • Laatst online: 15:25

MrScratch

I am rubber, you are glue

Topicstarter
Ik probeer een wmv bestand naar avi geconverteerd te krijgen. Dit zou met mencoder volgens mij moeten kunnen. Op www.mplayerhq.hu staat in de doc een uitleg over 2-pass en 3-pass encoding (de beschrijving is trouwens vrij brak). Ik probeer het volgende uit de doc (is een voorbeeld dat daar beschreven staat):
mencoder dvd://2 -ovc frameno -o frameno.avi -oac mp3lame -lameopts vbr=3
mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 -oac copy -o movie.avi
mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=2 -oac copy -o movie.avi
Ik dacht met mijn simpele ziel dat als ik dat dvd gebeuren nu door filmpje.wmv vervang moet het goed gaan.

Het volgende doe ik:
code:
1
2
mencoder filmpje.wmv -ovc frameno -o frameno.avi -oac mp3lame -lameopts vbr=3
mencoder filmpje.wmv -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 -oac copy -o movie.avi

Dit gaat allebei goed. Na het eerste commando is er een frameno.avi aangemaakt en na het 2e commando is er een movie.avi. als ik die afspeel, dan heb ik beeld en geluid, alleen het beeld ziet er niet uit, het is extreem blokkerig.

Nu nog een keertje de 2e pass erover heen:
code:
1
mencoder filmpje.wmv -ovc lavc -lavcopts vcodec=mpeg4:vpass=2 -oac copy -o movie.avi


Maar dit gaat helemaal mis:
MEncoder 1.0pre2-3.3.1 (C) 2000-2003 MPlayer Team

CPU: Intel Celeron 2/Pentium III Coppermine,Geyserville 800.1 MHz (Family: 6, Stepping: 3)
Detected cache-line size is 32 bytes
MMX supported but disabled
MMX2 supported but disabled
SSE supported but disabled
CPUflags: Type: 6 MMX: 0 MMX2: 0 3DNow: 0 3DNow2: 0 SSE: 0 SSE2: 0
Compiled for x86 CPU with extensions:

Reading /home/peter/.mplayer/codecs.conf: Can't open '/home/peter/.mplayer/codecs.conf': No such file or directory
Reading /usr/share/mplayer/codecs.conf: 61 audio & 157 video codecs
AVI file format detected.
VIDEO: [FrNo] 352x240 24bpp 1000.000 fps 0.5 kbps ( 0.1 kbyte/s)
Using pass3 control file: frameno.avi
Reading config file /home/peter/.mplayer/mencoder: No such file or directory
success: format: 0 data: 0x0 - 0xD24DBE
ASF file format detected.
============ ASF Stream group == START ===
object size = 44
stream count=[0x3][3]
stream id=[0x1][1]
max bitrate=[0x863f][34367]
stream id=[0x2][2]
max bitrate=[0x2c5f][11359]
stream id=[0x9][9]
max bitrate=[0x4ecc6][322758]
============ ASF Stream group == END ===
VIDEO: [WMV2] 352x240 24bpp
[V] filefmt:6 fourcc:0x32564D57 size:352x240 fps:1000.00 ftime:=0.0010
Opening video filter: [expand osd=1]
Expand: -1 x -1, -1 ; -1 (-1=autodetect) osd: 1
==========================================================================
Opening video decoder: [dshow] DirectShow video codecs
FATAL releasing corrupted memory! 0x848b458 0x0 (12)
Decoder supports the following YUV formats: YUY2 IYUV UYVY YV12 YVYU I420 YVU9
Decoder is capable of YUV output (flags 0x7f)
VDec: vo config request - 352 x 240 (preferred csp: Packed YUY2)
[PP] Using codec's postprocessing, max q = 4.
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is undefined - no prescaling applied.
videocodec: libavcodec (352x240 fourcc=58564944 [DIVX])
requested bitrate is to low
Could not open codec.
FATAL: Cannot initialize video driver.
VDecoder init failed :(

Opening video decoder: [dmo] DMO video codecs
External func OLEAUT32.dll:8
DMO dll supports VO Optimizations 0 1
DMO dll might use previous sample when requested
GetOutput r=0x0 size:253440 align:1
StreamCount r=0x0 1 1
Decoder supports the following YUV formats: YV12 YUY2 UYVY YVYU
Decoder is capable of YUV output (flags 0x1b)
VDec: vo config request - 352 x 240 (preferred csp: Packed YUY2)
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is undefined - no prescaling applied.
videocodec: libavcodec (352x240 fourcc=58564944 [DIVX])
Could not open codec.
FATAL: Cannot initialize video driver.
VDecoder init failed :(

Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Selected video codec: [ffwmv2] vfm:ffmpeg (FFmpeg M$ WMV2/WMV8)
==========================================================================
audiocodec: framecopy (format=55 chans=2 rate=22050 bits=0 bps=15649 sample=0)
Writing AVI header...
I7:0/
VDec: vo config request - 352 x 240 (preferred csp: Planar YV12)
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is undefined - no prescaling applied.
videocodec: libavcodec (352x240 fourcc=58564944 [DIVX])
Could not open codec.
FATAL: Cannot initialize video driver.
Segmentation fault
Ik heb dingen die mij opvallen in het log even bold gezet. Allereerst zie ik de melding over de bitrate, maar ik geef helemaal geen bitrate op? Moet dat misschien wel? Ik weet niet wat gangbare bitrates zijn. De eerste pass geeft advies over bitrates om het op cd te laten passen en ik heb de bitrate behorende bij 2x800Mb ook geprobeerd (was 44444) en dan blijft het probleem gelijk.

Dan problemen met de codec, maar in de 1e pass was de codec geen probleem.

Ik denk dat ik gewoon niet helemaal begrijp hoe het moet/zit. Wie weet raad?

Overigens ben ik ook in voor geheel andere tools om dit om te zetten, zolang ik er maar geen ander OS voor hoef te installeren.

Look behind you! A three headed monkey!


  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 29-04 12:25

deadinspace

The what goes where now?

Dat kan inderdaad met mencoder (mits die de wmv kan afspelen). Voorbeelden zijn inderdaad niet zo heel goed te vinden, maar als je eenmaal een beetje doorhebt hoe het werkt is het vrij makkelijk. Als je er serieus mee bezig wilt, dan is het wel de moeite om de mplayer/mencoder manpage helemaal door te lezen, ook al is het een flinke lap.

Je kunt beter eerst gewoon single-pass encoding doen voor je two-pass encoding probeert. Iets als
code:
1
mencoder -oac mp3lame -ovc lavc -lavcopts vcodec=mpeg4:vhq:vbitrate=1000 -o output.avi input.wmv

zou moeten werken. De meeste opties zijn vrij duidelijk, en de rest staat in de manpage ;)

Verwijderd

lavc encoding zuigt. Geloof me, ik ken die dingen wel. ;). Ik moet toegeven dat de lavc decoders de beste zijn die er te vinden zijn, maar de encoders zuigen zwaar achterwerk-achtigheid. Gebruik divx4linux of xvid ofzo...

  • MrScratch
  • Registratie: December 2001
  • Laatst online: 15:25

MrScratch

I am rubber, you are glue

Topicstarter
Verwijderd schreef op 29 October 2003 @ 01:52:
lavc encoding zuigt. Geloof me, ik ken die dingen wel. ;). Ik moet toegeven dat de lavc decoders de beste zijn die er te vinden zijn, maar de encoders zuigen zwaar achterwerk-achtigheid. Gebruik divx4linux of xvid ofzo...
Ok ik zal vanavond maar eens flink gaan snuffelen in de man-page voor divx4linux en xvid als encoder. Maar ik haal uit de antwoorden dat het dus in 1 pass zou moeten kunnen. Ik ga ook nog even het voorbeeld van deadinspace proberen. Even kijken wat daar uit komt rollen.

Look behind you! A three headed monkey!


  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 29-04 12:25

deadinspace

The what goes where now?

MrScratch schreef op 29 oktober 2003 @ 10:56:
Ok ik zal vanavond maar eens flink gaan snuffelen in de man-page voor divx4linux en xvid als encoder.
mencoder kan ook gewoon de xvid en divx4linux encoders gebruiken (mits die meegecompiled zijn), doe maar eens -ovc help . Ikzelf heb eigenlijk nog nooit problemen gehad met lavc, maar ok.

Verwijderd

deadinspace schreef op 29 October 2003 @ 12:49:
mencoder kan ook gewoon de xvid en divx4linux encoders gebruiken (mits die meegecompiled zijn), doe maar eens -ovc help . Ikzelf heb eigenlijk nog nooit problemen gehad met lavc, maar ok.
Hangt heel erg van de ffmpeg versie af... Het lijkt erop alsof compiler optimizations ook erg belangrijk zijn, ik heb al veel dingen verkeerd zien gaan (note dat mplayer ffmpeg/lavc met een ongebruikelijke -O4 compileert...). Sowieso vind ik divx5 beter dan lavc's mpeg4...

  • MrScratch
  • Registratie: December 2001
  • Laatst online: 15:25

MrScratch

I am rubber, you are glue

Topicstarter
Verwijderd schreef op 29 October 2003 @ 13:06:
Hangt heel erg van de ffmpeg versie af... Het lijkt erop alsof compiler optimizations ook erg belangrijk zijn, ik heb al veel dingen verkeerd zien gaan (note dat mplayer ffmpeg/lavc met een ongebruikelijke -O4 compileert...). Sowieso vind ik divx5 beter dan lavc's mpeg4...
Ik weet niet of het nog interessant is, maar het systeem waar ik het op doe is een Gentoo bak met een Pentium III 800Mhz. Mplayer is daarop gecompileerd met de standaard compilerflags van de P3.

Look behind you! A three headed monkey!


  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 29-04 12:25

deadinspace

The what goes where now?

Verwijderd schreef op 29 October 2003 @ 13:06:
(note dat mplayer ffmpeg/lavc met een ongebruikelijke -O4 compileert...)
Mja, -O4 doet niks meer dan -O3, en die doet al nauwelijks meer dan -O2. Dus zo'n ramp is dat niet. Blijft de vraag waarom ze -O4 gebruiken, maar ok ;)

Verwijderd

-O3 is "guaranteed valid", -O4 niet. :). Waarom ze het gebruiken.. Tsja... 't Zijn zinloze-optimization junkies he? O-).

  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 29-04 12:25

deadinspace

The what goes where now?

Verwijderd schreef op 29 oktober 2003 @ 16:35:
-O3 is "guaranteed valid", -O4 niet. :).
Als -O3 gegarandeerd valid is, dan is -O4 dat ook met de huidige codebase, want -O4 (en hogere opties) zetten helemaal niks extra's meer aan t.o.v. -O3 ;)

  • MrScratch
  • Registratie: December 2001
  • Laatst online: 15:25

MrScratch

I am rubber, you are glue

Topicstarter
Goed, ik heb dus nu het volgende geprobeerd:

code:
1
2
3
4
mencoder -oac mp3lame -ovc xvid -o filmpje.avi filmpje.wmv

mencoder -oac mp3lame -ovc lavc -lavcopts vcodec=mpeg4:vhq:vbitrate=1000 
-o filmpje.avi filmpje.wmv


en beide pogingen leveren echt vreselijk brakke filmpjes op. Het moet toch minimaal hetzelfde er kunnen uitzien als dat ik het met mplayer op mijn scherm zie?

Ik ga even de 2-pass gebeuren van de xvid-codec proberen om te kijken of dat nog iets oplevert.

Look behind you! A three headed monkey!


  • smokalot
  • Registratie: Juni 2001
  • Laatst online: 15-01 22:00

smokalot

titel onder

MrScratch schreef op 29 October 2003 @ 19:33:
Goed, ik heb dus nu het volgende geprobeerd:

code:
1
2
3
4
mencoder -oac mp3lame -ovc xvid -o filmpje.avi filmpje.wmv

mencoder -oac mp3lame -ovc lavc -lavcopts vcodec=mpeg4:vhq:vbitrate=1000 
-o filmpje.avi filmpje.wmv


en beide pogingen leveren echt vreselijk brakke filmpjes op. Het moet toch minimaal hetzelfde er kunnen uitzien als dat ik het met mplayer op mijn scherm zie?

Ik ga even de 2-pass gebeuren van de xvid-codec proberen om te kijken of dat nog iets oplevert.
Wat je met mplayer op je scherm ziet is het beste wat je kunt krijgen, van encoden zal het nooit beter worden (tenzij je deinterlaced of andere filters gebruikt). Je kunt er natuurlijk wel in de buurt komen. Ik zou zeggen: probeer ns een hogere bitrate? Kun je zowel bij de xvid als bij de lavc doen trouwens. Nu pakt ie gewoon de standaard (geloof dat die 800 is bij divx via lavc)

It sounds like it could be either bad hardware or software


  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 29-04 12:25

deadinspace

The what goes where now?

MrScratch schreef op 29 October 2003 @ 19:33:
...en beide pogingen leveren echt vreselijk brakke filmpjes op.
Ow, mja, WMV he... Daar heb ik ook last van gehad.
VIDEO: [FrNo] 352x240 24bpp 1000.000 fps 0.5 kbps ( 0.1 kbyte/s)
Om de een of andere reden is dat (of ziet mplayer/mencoder dat als?) 1000 fps. Dan moet hij voor elk frame een mpeg4 frame maken, en met 1000 fps zijn er maar weinig bitjes beschikbaar per frame. Als je bij het transcoden de output fps forced (met -ofps iirc) naar 25 of 30 fps ofzo, dan zou dat weg moeten zijn.

  • MrScratch
  • Registratie: December 2001
  • Laatst online: 15:25

MrScratch

I am rubber, you are glue

Topicstarter
smokalot schreef op 29 October 2003 @ 20:21:
[...]

Wat je met mplayer op je scherm ziet is het beste wat je kunt krijgen, van encoden zal het nooit beter worden (tenzij je deinterlaced of andere filters gebruikt). Je kunt er natuurlijk wel in de buurt komen. Ik zou zeggen: probeer ns een hogere bitrate? Kun je zowel bij de xvid als bij de lavc doen trouwens. Nu pakt ie gewoon de standaard (geloof dat die 800 is bij divx via lavc)
Tsja, het enige wat ik wil is dat het van een wmv naar een avi gaat. Hoe groot het bestand wordt maakt me niet uit maar de kwaliteit mag gewoon niet minder worden. Het is al niet briljant, dus nog blokkeriger beeld is echt niet leuk meer.

Anyway, ik ben maar met de bitrate aan het spelen, ik heb nu bitrate 16000 genomen, dat is volgens mij de hoogste die er is. We zullen zien wat hier uit komt rollen. Verdomd, dat ziet er nog zelfs acceptabel uit. En de grootte is ook maar 1,5 keer toegenomen. Dat valt reuze mee.

Look behind you! A three headed monkey!


  • Bikkel-Rulez
  • Registratie: September 2003
  • Laatst online: 21-12-2025
het kan idd ook maar de film kwaliteit wordt een stuk minder na dat je ze hebt om gezet had ik namelijk wel..
Pagina: 1