navimarin
19.02.07, 21:34
So, jetzt wollte ich mir hier vielleicht noch ein paar Anregungen holen.
Ich versuche grad ein Skript zu schreiben dass mir eine DVD in eine MP4 umwandelt.
Leider unterstützen alle mir bekannten Tools nur ein Encodieren mit einem Core.
MEncoder kann ja zum Beispiel mit einem Dual Core nix anfangen.
Das fand ich doof und deshalb hab ein bissel rumgespielt.
Ausserdem bin ich eher ein Freund der Console.
Zumal die ganzen grafischen Programme kaum das machen was sie sollen.
Ich bin mit dvd::rip und acid-rip nicht wirklich zu Rande gekommen.
OGMRip war ganz cool, unterstütz leider auch nur einen Core und ich bin sehr eingeschränkt in den Encodieroptionen.
Somit spiele ich jetzt schon eine ganze Weile rum.
Mit mencoder bin ich schon so weit gewesen dass ich eine DVD bei voller Auflösung (!) mit x264 auf 780MB gepresst bekam (der Codec ist der Hammer!!!).
Jetzt wollte ich das so umbasteln dass ich x264 direkt benutze und nicht über mencoder.
Allerdings gestaltet sich das schon schwieriger.
x264 akzeptiert nur yuv yuv4mpeg und avis als input.
Avis scheint nur unter win32 zu gehen, somit bleibt yuv4mpeg.
Ich hab es bis jetzt so gemacht dass ich per MPlayer mit -dumpstream die DVD auf die Platte geschoben habe, dann per mplayer den audiostream extrahiert.
Wenn ich nun den Videostream als yuv4mpeg auf die Platte schreiben lasse werde ich ja nicht mehr froh (70GB nach 15min).
Das wird also nix.
Somit füttere ich x264 gerade über ein FIFO (mkfifo) mit den Daten von mplayer.
Aber wenn ich das richtig sehe dann spielt mplayer die DVD dann in Echtzeit ab und schiebt das in den FIFO.
mplayer -vo yuv4mpeg:file=XXX"
Damit verliere ich aber wieder total viel Zeit (vor allem im ersten Pass). Jetzt wollte ich per mencoder und -ovc raw den ganzen Spass über den FIFO an x264 weiterreichen, das geht aber nicht weil x264 den FIFO dann seltsamer weise nicht öffnen kann.
Hat jemand eine Idee dazu? Oder einen anderen Weg den x264 mit Daten zu füttern?
mfg
navimarin
edit von psy:
beitrag für die leserlichkeit ein wenig bearbeitet ;)
Ich versuche grad ein Skript zu schreiben dass mir eine DVD in eine MP4 umwandelt.
Leider unterstützen alle mir bekannten Tools nur ein Encodieren mit einem Core.
MEncoder kann ja zum Beispiel mit einem Dual Core nix anfangen.
Das fand ich doof und deshalb hab ein bissel rumgespielt.
Ausserdem bin ich eher ein Freund der Console.
Zumal die ganzen grafischen Programme kaum das machen was sie sollen.
Ich bin mit dvd::rip und acid-rip nicht wirklich zu Rande gekommen.
OGMRip war ganz cool, unterstütz leider auch nur einen Core und ich bin sehr eingeschränkt in den Encodieroptionen.
Somit spiele ich jetzt schon eine ganze Weile rum.
Mit mencoder bin ich schon so weit gewesen dass ich eine DVD bei voller Auflösung (!) mit x264 auf 780MB gepresst bekam (der Codec ist der Hammer!!!).
Jetzt wollte ich das so umbasteln dass ich x264 direkt benutze und nicht über mencoder.
Allerdings gestaltet sich das schon schwieriger.
x264 akzeptiert nur yuv yuv4mpeg und avis als input.
Avis scheint nur unter win32 zu gehen, somit bleibt yuv4mpeg.
Ich hab es bis jetzt so gemacht dass ich per MPlayer mit -dumpstream die DVD auf die Platte geschoben habe, dann per mplayer den audiostream extrahiert.
Wenn ich nun den Videostream als yuv4mpeg auf die Platte schreiben lasse werde ich ja nicht mehr froh (70GB nach 15min).
Das wird also nix.
Somit füttere ich x264 gerade über ein FIFO (mkfifo) mit den Daten von mplayer.
Aber wenn ich das richtig sehe dann spielt mplayer die DVD dann in Echtzeit ab und schiebt das in den FIFO.
mplayer -vo yuv4mpeg:file=XXX"
Damit verliere ich aber wieder total viel Zeit (vor allem im ersten Pass). Jetzt wollte ich per mencoder und -ovc raw den ganzen Spass über den FIFO an x264 weiterreichen, das geht aber nicht weil x264 den FIFO dann seltsamer weise nicht öffnen kann.
Hat jemand eine Idee dazu? Oder einen anderen Weg den x264 mit Daten zu füttern?
mfg
navimarin
edit von psy:
beitrag für die leserlichkeit ein wenig bearbeitet ;)