Hallo,
ich will bei eins von meinen Videos(AVI-Format, mit XviD-Codec enkodiert) einen Rand entfernen.
Habe auch schon bei Filters "null transform" ausgewählt und dann auf croopping geklickt, hat alles noch funktioniert. Habe auch bei compression den xvid-codec ausgewählt und die bitrate eingegeben. erst wenn ich auf "save as avi" klicke und nachdem ich den namen der datei angegeben hab sagt er:
Cannot start video compression:
The source image format is not acceptable
(error code -2)
wie bekomme ich es hin, dass die croopping-funktion funktioniert?
Kann es sein, dass nach dem cropping die Dimensionen des Videos ungerade sind? Das würde ich mal korrigieren; es hört sich so an, als käme XviD nicht mit dem Format zurecht…
ich will bei eins von meinen Videos(AVI-Format, mit XviD-Codec enkodiert) einen Rand entfernen.
Du weisst, dass dadurch die Qualität nur schlechter werden kann?
Müssen die Werte nicht sogar durch 8 teilbar sein?
Du weisst, dass dadurch die Qualität nur schlechter werden kann?
Beziehst du dich darauf, dass ein Video, dass mit einem verlustbehafteten Codec kodiert wurde und den selben Prozess nochmal durchläuft schlechter wird oder auf das Randwegschneiden?
jo, danke da:sourcerer, genau die auflösung war ungerade, jetzt funkts.
nur die quali wird echt etwas schlechter. kann man bei virtualdub auch ohne qualitätsverlust etwas von einem video abschneiden oder halt einen rand entfernen?
Müssen die Werte nicht sogar durch 8 teilbar sein?
Unterschiedlich. Ich glaube, bei DivX war's durch 4…
[…]kann man bei virtualdub auch ohne qualitätsverlust etwas von einem video abschneiden oder halt einen rand entfernen?
Nein. Siehe oben.
Du kannst aber mit diversen Filtern etwas nachhelfen. z.B. etwas smoothen.
Originalqualität kriegst du nicht wieder hin, da du mit einem lossy Codec etwas kodierst, das vorher bereits einen lossy Codec durchlaufen ist.
nur die quali wird echt etwas schlechter. kann man bei virtualdub auch ohne qualitätsverlust etwas von einem video abschneiden oder halt einen rand entfernen?
Du kannst auf der Zeitleiste ohne Qualitätsverlust schneiden, wenn Du Direct Stream Copy einstellst. Aber prinzipbedingt gibt es immer einen Qualitätsverlust, sobald Du Filter benutzt: das Video muss decodiert, gefiltert und neu encodet werden.
Ach ja wenn Du schon Filter benutzt, dann arbeite mit AVISynth und nimm bloss nicht die Filter von VirtualDub. Letzteres ist langsamer und verfälscht die Farben durch die Konvertierung YV12->RGB->YV12 ein bischen.
Du kannst auf der Zeitleiste ohne Qualitätsverlust schneiden, wenn Du Direct Stream Copy einstellst.
Das geht? Das ist mir echt neu… Ich dachte immer, bei Formatänderungen muss alles neu kodiert werden[img]
http://www.fb18.de/gfx/2.gif[/img]
Aber eigentlich müsste es doch theoretisch gehen verlustfrei etwas abzuschneiden, wenn man eine ganze Reihe/Spalte der 4*4 oder 8*8 Kästchen abschneidet…
schon, aber wenn man auf direct stream copy schaltet, kann man den rand nicht mehr entfernen, sprich die cropping-funktion nicht mehr aktivieren
Aber eigentlich müsste es doch theoretisch gehen verlustfrei etwas abzuschneiden, wenn man eine ganze Reihe/Spalte der 4*4 oder 8*8 Kästchen abschneidet…
Eben nicht. MPEG speichert keine Vollbilder, sondern immer nur Veränderungen zwischen den Bildern ab (ich nehme jetzt die I- und B_Frames einfach mal aus dem Konzept raus[img]
http://www.fb18.de/gfx/22.gif[/img]).
Ergo: Um den Rand zu entfernen, muss der gesammte MPEG-Stream neu übersetzt werden.
Du kannst auf der Zeitleiste ohne Qualitätsverlust schneiden, wenn Du Direct Stream Copy einstellst.
Das geht? Das ist mir echt neu… Ich dachte immer, bei Formatänderungen muss alles neu kodiert werden[img]http://www.fb18.de/gfx/2.gif[/img]
Wenn man auf der Zeitleiste schneidet, gibts aber keine Formatänderungen :-)
Macht man doch z.B., wenn man ein 1400MB AVI auf zwei CDs aufsplitten will.
EDIT: natürlich kann man nicht beliebig schneiden, sondern nur auf den Keyframes
Eben nicht. MPEG speichert keine Vollbilder, sondern immer nur Veränderungen zwischen den Bildern ab (ich nehme jetzt die I- und B_Frames einfach mal aus dem Konzept raus[img]http://www.fb18.de/gfx/22.gif[/img]).
Ergo: Um den Rand zu entfernen, muss der gesammte MPEG-Stream neu übersetzt werden.
Schon klar. Aber wenn sich eine Veränderung nicht gerdade auf den Rand bezieht könnte er doch die Alten Daten nehmen und nur die nötigen Teile neu comprimieren.
ich will ja aber nicht die länge des videos verändern, sondern einen teil des bildes abschneiden.
und das geht nur im full compressing mode
Wenn man auf der Zeitleiste schneidet, gibts aber keine Formatänderungen :-)
Macht man doch z.B., wenn man ein 1400MB AVI auf zwei CDs aufsplitten will.
Das ist aber auch etwas anderes: Hierbei bearbeitet man ja eigentlich nur das AVI-Containerformat, nicht den Inhalt.
Das macht er doch?
glaub nicht, denn die Quallität des ganzen Bildes läßt nach. Nicht nur die des Randes.
Das macht er doch?
glaub nicht, denn die Quallität des ganzen Bildes läßt nach. Nicht nur die des Randes.
Ok, da haben wir gerade aneinander vorbeigesprochen[img]
http://www.fb18.de/gfx/22.gif[/img]
Wäre aber ein schönes Feature Request: Der Codec soll Teile des Bildes einfach ignorieren.
Nicht nur die des Randes.
ich will ja den rand wegmachen.
Wäre aber ein schönes Feature Request: Der Codec soll Teile des Bildes einfach ignorieren.
Du meinst beim Decoden, damit der Rand nicht dargestellt wird? Nimm AVISynth.
ich will ja den rand wegmachen.
Also am besten ist, wenn Du die Originalquelldatei, aus der Du das XviD erstellt hast, noch auftreiben kannst, damit Du VOR dem ersten Encoding den Rand wegschneiden kannst.
Du meinst beim Decoden, damit der Rand nicht dargestellt wird? Nimm AVISynth.
ja genau, is das'n extra progam, wo kreig ichs her?
Also am besten ist, wenn Du die Originalquelldatei, aus der Du das XviD erstellt hast, noch auftreiben kannst, damit Du VOR dem ersten Encoding den Rand wegschneiden kannst.
ne, ich hab nur die datei mit dem rand
Du meinst beim Decoden, damit der Rand nicht dargestellt wird? Nimm AVISynth.
ja genau, is das'n extra progam, wo kreig ichs her?
www.avisynth.orgDamit kannst Du .avs Dateien erstellen (Textdateien), die sich wie AVI Files öffnen lassen. Du kannst croppen, resizen, filter anwenden… das sollte man auch z.B. beim DVD encoden machen (natürlich nur, wenn die DVD keinen CSS hat ;-))) Ist viel schneller, als wenn man die Filter von VirtualDub benutzt (bei mir ist das Encoden, seit ich AVISynth 2.5.2 benutze, doppelt so schnell).
EDIT: nicht vergessen, dann bei VirtualDub "Fast Recompress" einzustellen, damit auch wirklich im YV12 gearbeitet wird. Ausserdem braucht man imo VirtualDubMod.
Eine alternative, wenn Du nur den Rand nicht beim Abspielen sehen willst, ist natürlich ein vernünftiger Player, der Zoomen kann -> BSPlayer.
is dann bei avisnyth auch kein qualitätsverlust, weil die eit beim encodieren kommt es mir net so an, ich will nur die best-möglichste quali
is dann bei avisnyth auch kein qualitätsverlust, weil die eit beim encodieren kommt es mir net so an, ich will nur die best-möglichste quali
Encoden? Du sollst nix encoden. Du benutzt ein .avs Script, welches Dir die Ränder wegschneidet, beim Angucken. Das .avs läuft in jedem Player, der AVI unterstützt (also quasi jeder). Sobald Du neu encodest, ist ein Qualitätsverlust unvermeidbar.
ok, ich hab jetzt avisynth installiert, sorry hab mit dem noch nie gearbeitet.
was muss ich jetzt mache?
Doom9.org durchforsten.
IIRC, hatten die im Forum recht geile Links zu Tutorials…