Marscel
2009-02-09, 19:57:13
Gerade beim Durchtesten von offenen Video-Encodern bin ich auf Dirac (http://diracvideo.org/) gestoßen. Dazu diesen (http://sourceforge.net/project/showfiles.php?group_id=102564&package_id=112141&release_id=626818) Codec runterladen und die Sourcen kompiliert.
Da ist nun ein Programm "EncodeDirac", zum Erstellen von Dirac-Videos, das verlangt als Quelle ein YUV444P, YUV422P oder YUV420P Video.
Okay, scheint die Art zu sein, in der Rohvideos gespeichert werden. Jetzt hab ich hier testweise ein paar Sekunden Video im MPEG2 (6MB), Quelle ist DVB-T, 720x576, 25 fps. Kein Raw-Video-Typ, richtig?
Jetzt kann ich über ffmpeg mit "-i i.mpg o.yuv" ein YUV-Video erstellen, das ist 220MB groß. Im Verbose von ffmpeg steht sowas von
Output #0, rawvideo, to 'o.yuv':
Stream #0.0: Video: rawvideo, yuv420p, 720x576 [PAR 16:15 DAR 4:3], q=2-31,
200 kb/s, 25.00 tb(c)
Sieht doch eigentlich gut aus, oder (yuv420p)?
Jetzt jag ich die o.yuv Datei in den Encoder, Parameter "-SD576I50", laut Readme ein Preset für YUVs in folgendem Format:
SD576I50 : width=720; height=576; 4:2:2 format; 25 frames/sec
Dauert ne ganze Weile, 15 MB kommen raus.
1. VLC spielt die Datei gar nicht ab, stottert 10sec durch ein schwarzes Bild.
2. ffplay gibt das hier aus (Equilibrium, Endkampf):
http://www.aplh.de/marscel/3dc/drc.jpg
Die Frames aus dem Ur-MPEG2 sind alle irgendwie da, Farbe stimmt natürlich gar nicht, allgemeines durcheinander Flimmern dieser, Abspielen dauert auch einige Sekunden länger als das Original.
Was mach ich wo falsch?
EDIT: Die Kovertierung MPG2 -> YUV ist nicht fehlerbehaftet, denn die Rückwandlung von YUV -> MPG2 (über ffmpeg) funktioniert korrekt.
EDIT2: Die Rückkonvertierung von DRC -> YUV -> MPG2 funktioniert ebenfalls.
Da ist nun ein Programm "EncodeDirac", zum Erstellen von Dirac-Videos, das verlangt als Quelle ein YUV444P, YUV422P oder YUV420P Video.
Okay, scheint die Art zu sein, in der Rohvideos gespeichert werden. Jetzt hab ich hier testweise ein paar Sekunden Video im MPEG2 (6MB), Quelle ist DVB-T, 720x576, 25 fps. Kein Raw-Video-Typ, richtig?
Jetzt kann ich über ffmpeg mit "-i i.mpg o.yuv" ein YUV-Video erstellen, das ist 220MB groß. Im Verbose von ffmpeg steht sowas von
Output #0, rawvideo, to 'o.yuv':
Stream #0.0: Video: rawvideo, yuv420p, 720x576 [PAR 16:15 DAR 4:3], q=2-31,
200 kb/s, 25.00 tb(c)
Sieht doch eigentlich gut aus, oder (yuv420p)?
Jetzt jag ich die o.yuv Datei in den Encoder, Parameter "-SD576I50", laut Readme ein Preset für YUVs in folgendem Format:
SD576I50 : width=720; height=576; 4:2:2 format; 25 frames/sec
Dauert ne ganze Weile, 15 MB kommen raus.
1. VLC spielt die Datei gar nicht ab, stottert 10sec durch ein schwarzes Bild.
2. ffplay gibt das hier aus (Equilibrium, Endkampf):
http://www.aplh.de/marscel/3dc/drc.jpg
Die Frames aus dem Ur-MPEG2 sind alle irgendwie da, Farbe stimmt natürlich gar nicht, allgemeines durcheinander Flimmern dieser, Abspielen dauert auch einige Sekunden länger als das Original.
Was mach ich wo falsch?
EDIT: Die Kovertierung MPG2 -> YUV ist nicht fehlerbehaftet, denn die Rückwandlung von YUV -> MPG2 (über ffmpeg) funktioniert korrekt.
EDIT2: Die Rückkonvertierung von DRC -> YUV -> MPG2 funktioniert ebenfalls.