Hallo alle zusammen!
Ich habe den VirtualDub 1.8.8 Portable und möchte gerne in Aufnahmen von OTR die Werbung rausschneiden. Die genaue Frameabtastung das Entfernen vom Werbeblock klappt super - natürlich mit Direct Stream Copy.
Doch ich lese hier öfters und auch sonst überall,dass es beim Reiter Video noch die Funktion "Smart Rendering" gibt. Habe mich schon ein wenig informiert und gelesen,doch nich wirklich hinter den Sinn dieser Funktion gekommen,und ob es mir vllt bei meinem DivX Videoschnitt auch wirklich hilft.
Würde mich über eine kurze Erklärung für einen Halb-Profi im Gebiet freuen;)
Schönen Dank.
Mfg XVIII
Smart Rendering im Virtual Dub 1.8.8
-
-
SmartRendering sorgt dafür, dass nicht ganze Video neu berechnet wird wenn Du schneidest.
Normal bist Du dabei entweder nur an die Keyframes gebunden, wenn Du nicht alles neu berechnen lassen willst. Durch die Aktivierung von SmartRendering in Verbindung mit DirectStreamCopy werden nur die paar Frames bis zum nächsten Keyframe neu berechnet. -
Vor ein paar Jahren hatte ich mal auf einem anderen Board eine "wunderhübsche" :p Erklärung gepostet, warum man mit "Direct stream copy" nur an Keyframes schneiden kann:
Zitat von TomKellerAllllssssssooooooooo....
Man kann beim verlustlosen Schneiden von Videos (und das betrifft ALLE Videoformate) nur bis zu einem Keyframes schneiden. Warum das so ist, kann man bei Brother John's Encodingwissen nachlesen. Ist auch ganz logisch: Keyframes = I-Frames (Intraframes). Sie enthalten den kompletten (!) Bildinhalt... komprimiert ähnlich wie JPEG Bilder. P-Frames und B-Frames hingegen enthalten nur Bildunterschiede und nicht den gesamten Bildinhalt. Ein Schnitt kann also nicht bis (sagen wir mal) zu einem P-Frame gehen - damit würde man dem P-Frame ja das vorhergehende Frame "wegnehmen" auf das es sich bezieht. Die Folge wären grausame Bildfehler, die sich weiter verschlimmern würden, bis das nächste Keyframe kommt (das ja wieder das komplette Bild enthält). Sowas kennt jeder, der schonmal eine defekte AVI hatte (da gibt's dann an der defekten Stelle "lustige" Schlieren, verzogene Farben und Formen usw.). Darum erlaubt VirtualDub kein beliebiges Schneiden bei eingestellter "Direct stream copy". Klar soweit (?)...Das Problem bei der Sache ist: XviD oder DivX setzen die Keyframes nach Bedarf. Meist bei Szenenwechseln (da dort die größten Unterschiede zum vorhergehenden Frame sind) - im Codec selbst kann man aber meist noch einstellen, nach wievielen Frames maximal wieder ein Keyframe kommen soll. Bei XviD nennt sich das "Maximum I-Frame Intervall" und steht standardmäßig auf 300. Das heißt: wenn der Codec 300 Frames lang keinen Grund sah ein Keyframe zu setzen, wird trotzdem eins gesetzt. Ergo: es kann schonmal etwas "dauern", bis das nächste Keyframe kommt.
Um doch beliebig schneiden zu können, müßte man entweder den kompletten Film reencoden (= zeitaufwändig + Qualitätsverlust) oder halt nur ein Stück Film bis zum nächsten Keyframe encoden und das einfügen.
Und da der Mensch ein sehr visuell veranlagtes Wesen ist - mal ein Beispiel...
Angenommen, das ist ein Film (die verschiedenen Framearten bitte bei Brother John nachlesen):
Und von diesem Film will ich per "Direct stream copy" das hier rausschneiden:
Wer die Erklärung durchgelesen hat, weiß aber: DAS GEHT NICHT! Der Schnitt würde mitten zwischen zwei P-Frames gehen - und sowas ist nicht zulässig.Es ginge nur das:
... oder alternativ das :
Jetzt will ich aber unbedingt das Stück im oberen Beispiel rausschneiden. Und dafür gibt's nur zwei Möglichkeiten:
- Ich schneide in VirtualDub - stelle aber nicht auf "Direct stream copy", sondern encode den kompletten Film neu. So werden die Keyframes beim Encoden neu gesetzt. Nachteil: Qualitätsverlust & Zeitaufwand.
- Ich schneide nur ein Stück raus (und zwar so weit wie ich darf) und encode vom Rest (Rest = alle Frames bis zum nächsten Keyframe) nur die Frames, die ich brauche:
Da hier alles einzelne Schritte sind, ist's allerdings nötig, das Ergebnis manuell zusammenzustückeln. Das heißt: den ersten unveränderten schwarzen Block (bis zum grünen Rahmen) in VirtualDub laden, den neu encodeten blauen Block per "Append AVI segment" dranhängen und den letzten (ebenfalls unveränderten) schwarzen Block per "Append AVI segment" an den Schluß dranhängen.
Das Problem hierbei: man muß den blauen Block mit exakt den gleichen Einstellungen neu encoden, wie den schwarzen Block. Ansonsten weigert sich VirtualDub die Stücke zusammenzufügen (bei zu starken Abweichungen in der Bitrate), oder es gibt Bildfehler (wenn man Einstellungen wählt, die im Original nicht gewählt waren... wie GMC & Co.).
Eindeutiger Vorteil des Ganzen: da nur ein Bruchteil des Videos neu encodet wird geht's viel schneller und der restliche Film wird qualitätsmäßig nicht verändert!
Damals gab's auch noch kein "Smart Rendering" in VirtualDub bzw. kein ausgereiftes AviDemux mit seinem "Smart copy". Aber im Prinzip macht "Smart Rendering" bzw. "Smart Copy" genau das zuletzt genannte automatisch. Voraussetzung für ein fehlerfrei abspielbares Ergebnis bleibt aber: die Encodingeinstellungen für die reencodeten Bruchstücke sollten möglichst identisch mit denen des Originals sein. -
Also ist es auf jeden Fall besser mit "Direct Stream Copy" und "Smart Rendering" zu schneiden,weil dann die Qualität des Restes gleich bleibt,und nur das Stück um die Werbung neu gecodet wird. So einigermaßen richtig verstanden? Brauche das auch nich jeden Tag,doch wenn es so eine Funktion gibt,die bessere Möglichkeiten und Ergebnisse bietet,aktivier ich die doch flott.
-
Du kannst auf jeden Fall auch nur bei "Direct stream copy" bleiben - das ist immer unproblematischer. Allerdings muss dir dann klar sein, dass damit 100%ig beliebiges Schneiden nicht möglich ist! Meist ist das nicht SO schlimm - wenn's z.B. nach der Werbung nahtlos weitergeht, gibt's sowieso meist einen "harten" Wechsel zwischen Schwarzbild und Serie/Film... da ist dann deshalb eh meist ein Keyframe, an dem man mit "Direct stream copy" schneiden kann.
Aber ab und zu werden nach der Werbung auch noch mal ein paar Sekunden wiederholt - wer da die Aufnahme vor und nach der Werbung absolut nahtlos (!) zusammenfügen will, muss unter Umständen "Smart Rendering" nehmen. Allerdings musst du dann auch einen Codec auswählen und konfigurieren - und wie gesagt: die Codec-Einstellungen sollten dem Original entsprechen (sonst gibt es eventuell Bildfehler ab der Schnittstelle... oder der Player crasht... oder die Wiedergabe ruckelt... oder... oder... oder). Ist also nicht ganz so unproblematisch...
-
Achso, Du meinst zum Beispiel bei Dr. House. Wenn ich da die Werbung nur rausschneide werden ja ca 20 Sek noch von vor der Werbung wiederholt,und wenn ich die raushaben möchte,und das das Video dann normal weitergeht,dann brauch ich Smart Rendering.
Ich denke ich bleibe aber ersma bei Direct Stream Copy,da ich eher nur Shows für mich selber aufnehme für 1x schauen dann bearbeite so bisschen die Werbung raus,damit ich am Player nit spulen muss. Aber sons geht das alles. Dankeschön nochmal.