da ihr mir schon in so vielen Dingen so nett geholfen habt, dachte ich, ihr könntet das vielleicht nochmal schaffen... :")
Wir bringen hier bei unserer Tageszeitung täglich erscheinende Flash-Videos raus. Dafür spielen wir die fertigen geschnittenen Beiträge aus Premiere als Unkomprimiertes Video in AVI-Container aus und konvertieren diese mit dem Flash Video Encoder mit dem On2 VP6 Codec auf Hoher Qualität (700KBit/s). (Größe: 400x320)
Warum sieht das Video nachher so schlecht aus?
Im Vergleich dazu das Video vom Kölner Stadtanzeiger: www.ksta.tv
Ich finde die Artefaktbildung in unseren Videos ist wahnsinnig hoch, lässt sich das verhindern?
LG!
Nikolaus
Antwort von Daigoro:
Hmm.. sieht aus, als ob die besseres Quellmaterial verwenden (oder benutzt ihr beide die gleiche Kamera?).
Und ne etwas hoehere Aufloesung haben (450x368?).
400x320 ist auch keine sehr glueckliche Aufloesung. Wenn das Ausgangsmaterial 720x576 Pal ist, wuerde ich 360x288 nehmen (ganzahlig durch 2 geteilt).
Oder das Material auf 640x480 'croppen' (also Rander wegschneiden) und nicht runter-skalieren/interpolieren. (das mit ca. 1,5 mBit/s gibt fuer meinen Geschmack eine fuer den Computer sehr ertraegliche FLV Qualitaet)
"Dafür spielen wir die fertigen geschnittenen Beiträge aus Premiere als Unkomprimiertes Video in AVI-Container aus .."
Wieso unkomprimiert? Die Filme werden doch sicher nicht unkomprimiert aufgenommen, da bringt das auspielen in einen anderen Codec eher Verlust als Gewinn. (oder meinst du im original Codec mit dem aufgenommen wurde, also un-transcodiert oder so).
Und die 700kb/s sind in zeiten von 2-16mBit ADSL nicht so prall. Kann man ruhig auf ueber 1kb/s gehen fuer 'high quality".
Antwort von Meggs:
Ich finde die Artefaktbildung in unseren Videos ist wahnsinnig hoch, lässt sich das verhindern?
Die Artefaktildung wird geringer bzw. verschwindet, wenn ihr die Bitrate höher setzt, bei gleicher Auflösung. Ab Premiere 2.0 könnt ihr mit dem Adobe Mediaencoder auch gleich aus Premiere heraus als Flash Video exportieren.
Antwort von tommyb:
Mit "unkomprimiert" meint er unkomprimiert, d.h. riesegroße Datei. Das ist der beste Weg wenn man etwas zu FLV codieren will.
@nikolaus-online
Bei den beiden Videobeispielen handelt es sich um völlig unterschiedliches Material was die Codec-Anforderungen betrifft.
KSTA:
Dieses Video besteht aus stehenden Szenen (Kinosaal) und Filmausschnitten die aufgrund ihres Formates nur die hälte des Bildes ausfüllen (mit großen schwarzen Balken). Das lässt sich sehr gut komprimieren, vorallem wenn man nicht mit einer festen Bitrate sondern "qualitätsbasierend" codiert. D.h. abhängig vom eingestellen Wert wird bei einfachen Szenen weniger Bitrate verbraten, bei schwierigen mehr. Macht die Datei unkontrollierbar von der Größe her, aber gibt die beste kontrollierbare Qualität.
BBV-TV
Die Videos sind real-life-camcorder-Aufnahmen. Sowas lässt sich grundsätzlich immer schlechter komprimieren als das was wir bei KSTA sehen. Zu all dem kommt noch die feste Bitrate von 700kbit. Die ist in diesem Fall einfach nicht vernünftig.
Entweder man codiert nach Qualität, oder aber man codiert mit zwei Durchgängen und der festen 700kbit Bandbreite. Das ist dann zwar hinderlich fürs Streamen, aber qualitativ die bessere Entscheidung.
Auflösung:
Die Auflösung sollte immer durch 16 teilbar sein. 400x320 lässt das zu und ist auch absolut in Ordnung.
Interlacing:
Wichtig ist, dass Ihr die Videos ehe sie komprimiert werden auch "deinterlaced". Mit horizontalen Streifen kann das Flash Video Format nur sehr wenig anfangen (vorallem nicht bei 700kbit).
Rauschen:
Das Material welches Ihr nutzt sollte auch einem kleinen Rauschfilter zum Opfer fallen. Entweder Ihr entrauscht das Material (sofern rauschen vorhanden) oder aber der Codec macht das in dem er alle Details killt (siehe die Kinder mit dem Bogen).
Ich kann euch Flix Pro von On2 ans Herz legen. Das hat einen Denoiser eingebaut und auch einen Deinterlacer. Außerdem kann man damit qualitätsbasierend codieren.
Ich selbst nutze zwar Avisynth um zu skalieren und zu deinterlacen/entrauschen, das würde aber euren Workflow etwas langsamer machen weswegen die eingebauten Features von Flix besser für euch sein sollten.
Antwort von Daigoro:
Mit "unkomprimiert" meint er unkomprimiert, d.h. riesegroße Datei. Das ist der beste Weg wenn man etwas zu FLV codieren will.
Hab ich auch gelesen, konnte ich aber -zumindest fuer reines I Frame Material wie DV Avi oder MJPEg - bisher nicht bestaetigen.
Im Quellformat aus'm NLE Programm rausrendern und zu FLV wanden sieht fuer mich besser aus.
(wobei das auch an der Qualitaet der eingesetzen Encoder liegen koennte - ich hab halt nur so Freeware Sachen im Einsatz)
Auflösung:
Die Auflösung sollte immer durch 16 teilbar sein. 400x320 lässt das zu und ist auch absolut in Ordnung.
Dachte durch die Macroblock Groesse.
Auch reiner Erfahrungswert fuer 'sieht am besten aus': SD Material auf 640x480 (gut, das ist dann sowohl durch 16, als auch durch 8 Teilbar...) beschneiden und dann auf 320x240 (.. und ganzzahlig durch 2 geteilt) runterrechnen, wenn ueberhaupt noetig (falls die Datenrate sehr gering sein muss).
Antwort von tommyb:
Runterskalieren kann man wie man lustig ist. Da Pixel eh neu berechnet werden, ist es relativ Wurst ob man sie genau durch zwei teilt oder nicht. Das ist nur dann wichtig, wenn man einen schlechten Skalierer benutzt (Obacht! Selbst der Windows Movie Maker macht das gut!)
Wenn man ein Bild von 720x576 auf 640x480 croppt dann gibt es zwei entscheidende Probleme:
1. Es werden 80 Pixel (40 links, 40 rechts) in der horizontalen gekillt (das ist mehr als der Overscan am Röhren-TV!) und 96 in der vertikalen.
2. Es wird von einer Auflösung im 5:4 Format auf eine Auflösung im 4:3 Format gecroppt. D.h. das Seitenverhältnis stimmt nicht (leichte Eierköpfe).
BTW besteht ein Macroblock aus 16x16 Pixeln (MPEG4 ASP).
Antwort von Daigoro:
Runterskalieren kann man wie man lustig ist. Da Pixel eh neu berechnet werden, ist es relativ Wurst ob man sie genau durch zwei teilt oder nicht. Das ist nur dann wichtig, wenn man einen schlechten Skalierer benutzt (Obacht! Selbst der Windows Movie Maker macht das gut!)
Nicht ganz, da die neuberechneten Pixel ihre Informationen ja irgendwo herbekommen muessen.
Wenn man 2 Pixel in 1 Pixel wandelt ist das relativ eindeutig.
Bei 3 Pixeln auf 2 und unguenstigen Motiven (z.b. Muster mit starkem kontrast) kann das Ergebnis recht scheusslich aussehen.
siehe: "Grossbaustelle Schule" Video - Waende, Daecher ..
Wenn man ein Bild von 720x576 auf 640x480 croppt dann gibt es zwei entscheidende Probleme:
1. Es werden 80 Pixel (40 links, 40 rechts) in der horizontalen gekillt (das ist mehr als der Overscan am Röhren-TV!) und 96 in der vertikalen.
2. Es wird von einer Auflösung im 5:4 Format auf eine Auflösung im 4:3 Format gecroppt. D.h. das Seitenverhältnis stimmt nicht (leichte Eierköpfe).
Die Aenderung des Seitenverhaeltnisses geschieht ja nicht durch stauchen/strecken, sondern durch wegschneiden unterschiedlich grosser Bereiche. Da gibt's keine Eierkoepfe.
BTW besteht ein Macroblock aus 16x16 Pixeln (MPEG4 ASP).
Bei VP6 auch? Ich konnte da nix handfestes drueber finden. :(
Vielleicht koennte man auch H.264 verwenden - wird ja seit Flash .. irgendwas .. auch als Codec im FLV Container unterstuetzt.
Antwort von tommyb:
Nicht ganz, da die neuberechneten Pixel ihre Informationen ja irgendwo herbekommen muessen.
Wenn man 2 Pixel in 1 Pixel wandelt ist das relativ eindeutig.
Bei 3 Pixeln auf 2 und unguenstigen Motiven (z.b. Muster mit starkem kontrast) kann das Ergebnis recht scheusslich aussehen.
siehe: "Grossbaustelle Schule" Video - Waende, Daecher ..
Videoleinwände nutzen eben die minderwertige Skalierung, bzw. haben sowieso eine grobe Auflösung.
Testweise einfach einen 1080p Trailer runterladen und an einem Röhrenmonitor in unterschiedlichen Auflösungen anschauen. Außer weniger Details wird es immer gut aussehen.
Muster und starke Kontraste leiden generell wenn man sie runterskaliert. Egal ob nun 2:1 oder 3:2. Bei einem werden sie halt grau, beim anderen etwas dunkleres Grau.
Die Aenderung des Seitenverhaeltnisses geschieht ja nicht durch stauchen/strecken, sondern durch wegschneiden unterschiedlich grosser Bereiche. Da gibt's keine Eierkoepfe.
Wenn ich ein vormals nicht quadratisches Seitenverhälnis so beschneide, dass es am Ende ein 640x480 Bild hat mit quadratischen Pixeln, ist das genau so wie eine Ausschnittsvergrößerung. Die Verzerrung bleibt gleich.
Vielleicht koennte man auch H.264 verwenden - wird ja seit Flash .. irgendwas .. auch als Codec im FLV Container unterstuetzt.
Angeblich soll Flash CS3 einen h264 Encoder haben.
Antwort von nikolaus-online:
Vielen lieben Dank für die vielen Antworten
(und die Geschwindigkeit, mit der ihr die Antworten raushaut...)
Das der Flash Video Encoder CS3 H264 unterstützt kann ich nicht sagen - zur Auswahl stehen nach wie vor Sorensen und On2.
Flix Pro werde ich mal austesten. Danke für den Tipp.
Das Format (400x320) umzustellen dürfte unseren Webprogrammierer in den Selbstmord treiben. :") Aber das habe ich getestet - sieht nicht besser aus.
Wir müssen mit unserem WebTV aber auch aufpassen, dass wir eine möglichst große Zielgruppe abdecken - und bei uns auf dem "Lande" gibt es noch nicht wirklich überall 16Mbit...
Liebe Grüße!
Nikolaus
Antwort von tommyb:
Dann würde ich bei VP6 bleiben und nicht zu h264 wechseln. Das ist IMHO noch etwas anstrengend für den kleinener Rechner.
Wichtig ist nur 2pass oder aber Qualitätsbasierend.
Antwort von Wiro:
Hallo,
noch ne Meinung dazu:
Ihr braucht weder einen anderen Encoder noch einen anderen Codec noch H.264 noch ein anderes Schnittprogramm oder sonst etwas anderes ;-)
Die Videos sind soweit schon in Ordnung - zur Beurteilung kann man die Bauchbinden gut heranziehen.
Die schlechte Nachricht:
Die Beiträge von Düring und Schroer sind bildlich okay, nur bei Nikolaus Kellermann sind sie verzerrt. Da ist beim Exportieren irgend etwas schiefgelaufen. Was das ist läßt sich aus der Ferne nicht sagen - wahrscheinlich eine falsche Formateinstellung. Ich würde mich mal mit den anderen kurzschließen und genau hinschauen, wie die ihre Videos exportieren. Es ist bestimmt nur eine Kleinigkeit. Oder hast Du (Nikolaus) den Schärferegler zu weit hochgedreht? Das kann ebenfalls zu solchen Klötzchen-Bauchbinden führen. Überleg mal genau ;-)
Noch was fällt auf:
Euere Videos sind mit 400x320 nicht im 4:3-Format - die von den Kölnern schon.
Die dadurch entstehenden Verzerrungen bügelt der Player zwar einigermaßen aus, aber das Bild ist horizontal gestaucht (schlanke Personen, leichte Eierköpfe).
Scheinbar seid Ihr aber an die Bildhöhe von 320 px gebunden, wegen der Werbeeinblendungen und anderem Fremdmaterial. Richtig wäre, Euere Beiträge mit Quadratpixeln und 426x320 px zu exportieren - dann stimmt das Seitenverhältnis. Soweit ich das von hier aus überblicken kann müßte der Webdesigner nicht einmal etwas am Code ändern - der FLV-Player macht das beim verwendeten Code mit großer Wahrscheinlichkeit automatisch.
Nur so als Überlegung.
Gruß Wiro
Antwort von Daigoro:
Muster und starke Kontraste leiden generell wenn man sie runterskaliert. Egal ob nun 2:1 oder 3:2. Bei einem werden sie halt grau, beim anderen etwas dunkleres Grau.
Wenn du dir das Baustellenvideo anschaust, vor allem die kritischen Bereiche, wird da eben anscheinend nicht gemischt, sondern es 'flimmert' und die Linien hüpfen hin und her.
Sieht nach einem ungünstigen Downscale Algorithmus aus.
Antwort von nikolaus-online:
Das Baustellenvideo war ein Test. :") Aber ist euch gut aufgefallen. Ich hab das mit einem Kompressor ausgespielt, statt unkomprimiert. Dadurch scheint der On2 da ein bisschen grissel draus gemacht zu haben.
Weiß gar nicht, ober der Flash CS3 Video Encoder eine 2-Pass VBR verarbeitung zulässt...
Der Flux Pro macht das zwar, aber die Qualität war jetzt nicht unglaublich viel besser.
Danke an alle Adleraugen! Ich halte euch auf dem Laufenden. :")
Nikolaus
Antwort von tommyb:
Nein, Flix ist eigentlich nicht so gut wenn man da kein entrauschtes und detailsarmes Material drauf gibt. Leider.
Antwort von Daigoro:
Das Baustellenvideo war ein Test. :") Aber ist euch gut aufgefallen. Ich hab das mit einem Kompressor ausgespielt, statt unkomprimiert. Dadurch scheint der On2 da ein bisschen grissel draus gemacht zu haben.
Wobei ich da in den Bereichen keine Artefakte sehe, sondern eben ein 'springen' der Linien.
Artefakte seh ich vor allem massig bei sehr detaillierten und bewegten Szenen.
Bei sehr ruhigen Szenen (z.b. die Muelltonne, oder der Blonde Junge mit dem schwazren Shirt, der in so ner Huette steht) sieht das Bild dagegen vergleichsweise klar aus und selbst harte Kontraste (z.b. die Schrift auf dem Tshirt oder der Tonne) werden gut dargestellt.
Selbe Szene, Schwenk zur Gruppe von Kindern um den Tisch und schon ist alles voller sehr auffaelliger und haesslicher Artefakte (z.b. der Mund des Jungen im Hintergrung sieht aus wie 2 rosane Rechtecke).
Deshalb hatte ich auf unzureichende Datenrate getippt.
Dass das Material nicht entrauscht ist, spielt da natuerlich auch nochmal rein, aber beim Runterskalieren sollte das Rauschen an sich schon gemindert werden ((Anzahl Ausgangspixel*Signal)/sqrt(Anzahl Ausgangspixel*Rauschen) - wenn die Interpolation vernuenftig funktioniert und vor der Kompression stattfindet.
Auf der Seite von On2 gibt's aber auch bewegte und groessere Filme (wobei der Snowboardfilm seeehr nach compositing aussieht - der Hintergrund ist fast 100% statisch!) mit der Datenrate - nur sind die vielleicht mit variabler Datenrate gerendert und nur im schnitt 700k/s - steht da leider nicht dabei - oder grundsaetzlich sehr hochwerting (bei Kinofilm Trailern sollte das Ausgangsmaterial eigentlich sehr gut sein).