home
products
contribute
download
documentation
forum
Home
Forums
New posts
Search forums
What's new
New posts
All posts
Latest activity
Members
Registered members
Current visitors
Donate
Log in
Register
What's new
Search
Search
Search titles only
By:
New posts
Search forums
Search titles only
By:
Menu
Log in
Register
Navigation
Install the app
Install
More options
Contact us
Close Menu
Forums
Language specific support
Deutsches MediaPortal Forum
Hard- und Software rund um den HTPC
Software
3rd Party Software
Media-Buddy, die "eierlegende Wollmilchsau" unter den Medien-Tools.
Contact us
RSS
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an
alternative browser
.
Reply to thread
Message
<blockquote data-quote="Lehmden" data-source="post: 1295392" data-attributes="member: 109222"><p>Hi.</p><p>Ein kleiner Ausblick auf Kommendes... </p><p></p><p>Ich habe inzwischen eine Schnittfunktion in Media-Buddy eingebaut, mit der man während des normalen Durchlaufs die Videos gleich bildgenau schneiden kann. Zur Zeit ist das nur dann aktiv, wenn man neu kodiert. Ohne Neukodierung kann man nicht bildgenau schneiden. Das geht dann nur an Keyframes, da nur dort ein echtes Bild existiert. Alles zwischen zwei Keyframes wird nur als "Unterschied" abgespeichert, nicht als ganzes Bild, was die enorme Kompression überhaupt erst ermöglicht. Da die Keyframes aber nur sehr selten da liegen, wo man sie für den Schnitt gebrauchen würde, bleibt einem nichts anderes übrig, als neu zu kodieren. Sonst könnte man eben nur an den Keyframes schneiden. und die können durchaus diverse Sekunden auseinander liegen. Theoretisch könnte man auch auf die Genauigkeit pfeifen und das Schneiden eben nur an Keyframes durchführen. Mir ist das keinesfalls genau genug. Deswegen ist mein Drang, die Schnittfunktion auch ins Remuxen einzubauen, nicht grade ausgeprägt.</p><p> </p><p>Zum Schneiden wird eine Schnittliste im .csv Format benötigt, wie sie z.B. von dem Open Source Tool <a href="https://github.com/mifi/lossless-cut/releases" target="_blank">Lossless Cut</a> erzeugt werden kann. Da es sich beim .csv Format um eine reine Text Datei handelt, kann man sie auch mit jedem Editor erstellen. In einer .csv werden Daten, getrennt durch Kommata, hintereinander abgespeichert. Wenn man Lossless Cut verwendet, kann man das Video dort auch direkt bearbeiten. Allerdings muss man dann die weiteren Aktionen später trotzdem in Media-Buddy erledigen. Es gibt hier auch das sogenannte "Smart Cut", das versucht, nur den Bereich rund um den Schnitt neu zu kodieren und alles andere einfach umzumuxen. Bei h264 im .ts Container funktioniert das sogar meistens. Aber bei .mkv, .mp4 oder bei moderneren Codecs wie h265 geht das zu 99% schief. </p><p>Ich öffne das in Frage kommende Video einmal in Lossless Cut und lege dort die Schnitte fest. Statt aber das Video jetzt in Lossless Cut zu kodieren, exportiere ich nur die Schnittliste. Dazu im Datei- Menü auf Projekt exportieren > Zeitstempel (csv) gehen.</p><p></p><p>[ATTACH=full]212565[/ATTACH]</p><p></p><p>Nun wird neben der Video-Datei in Sekundenbruchteilen die Schnittliste erzeugt. Diese Schnittliste kann direkt von Media-Buddy verarbeitet werden.</p><p></p><p>So sieht eine Schnittliste wie das angehängte Beispiel von "innen" so aus:</p><p></p><p>[CODE]00:00:10.000,00:58:24.576,</p><p>[/CODE]</p><p></p><p>Es wird also hier erst ab 0 Stunden, 0 Minuten und 10,000 Sekunden angefangen zu kodieren und das Kodieren wird beendet bei 0 Stunden, 58 Minuten und 24,576 Sekunden. Der Zeitstempel ist auf 1/1000 Sekunde genau, was mehr als ausreichend ist. Außerdem kann FFMpeg diese Zeitstempel direkt verstehen. In diesem Beispiel werden die ersten 10,000 Sekunden weggeschnitten und alles, was nach 58 Minuten und 24,576 Sekunden kommt, wird ebenfalls nicht mit verarbeitet. Hier handelt es sich um das "berühmte" Titelsponsoring, also "Diese Sendung wird präsentiert von ...", am Anfang und Ende der Sendung, was ich nicht in meinem fertigen Video drin haben will.</p><p></p><p>In diesem Fall ist keine Werbung innerhalb des eigentlichen Films (Serien- Episode), da es von einem Öffentlichen Sender stammt. Aber auch Werbung innerhalb der Episode (des Films), was ja bei privaten Sendern leider immer so extrem nervt, kann man damit entfernen. Dann stehen nicht nur 2 Werte, sondern 4, 6, 8,... Werte in der Schnittliste, je nach Anzahl der Werbeblöcke.</p><p></p><p>Da FFMpeg nur zwei solcher Werte (Anfang und Ende) auf einmal verarbeiten kann, wird dann der Film in entsprechend viele Teile aufgeteilt, die am Ende wieder verlustfrei zusammengefügt werden. Dazu müssen temporäre Dateien im Media-Buddy_Temp Ordner erstellt werden, weswegen dort genug Platz verfügbar sein muss. Das Zusammenfügen erfolgt vollautomatisch und binnen weniger Sekunden. Man merkt also nichts davon. Wenn nur der Anfang und das Ende gesäubert wird wie im Beispiel oben, müssen keine temporären Videos erzeugt werden. </p><p></p><p>Die Schnittliste muss genau so benannt werden, wie das eigentliche Video, nur eben mit der Endung .csv. Zu "Video.mp4" gehört also als Schnittliste "Video.mp4.csv", wobei "Video.csv" auch funktioniert. Lossless Cut erzeugt aber eine "Video.mp4.csv". Man kann aber auch jedes andere Programm nutzen, was solche Schnittlisten erzeugen kann. Ich kenne Comskip nicht, aber kann mir vorstellen, das man auch eine Comskip Liste zum Schneiden heranziehen kann. Zur Not geht das Erzeugen der Schnittliste auch manuell im Editor. So lange der Inhalt als Komma- getrennte Liste von Zeitstempeln identifizieret werden kann, solle es funktionieren. Lossless Cut ist frei verfügbar und arbeitet gut. Deswegen wurde die Schnittfunktion auf die von Lossless Cut erzeugte Schnittliste ausgelegt.</p><p></p><p>Die Schnittfunktion ist bei allen Modulen, die Videos neu kodieren (können) automatisch aktiv. Also egal ob Serien- Assistent oder Videos Transkodieren, sobald eine Schnittliste vorhanden ist, wird sie auch verarbeitet. Ist keine Schnittliste da, läuft alles so ab wie immer. Deswegen muss man hier gar nichts extra konfigurieren.</p><p></p><p>Die Funktion ist fertig und befindet sich grade in der Testphase. </p><p></p><p>Leider gibt es noch zwei andere Probleme, die für eine neue Version behoben werden müssen. </p><p>Zum einen funktioniert der Trailer- Download nicht mehr. YouTube hat da etwas geändert, was dazu führt, das die Operation abgebrochen wird. Bis zur neuen Version sollte man den Trailer Download also vorerst deaktivieren.</p><p>Zum anderen werden zur Zeit keine Grafiken außer dem Poster von TVDB geladen. So lange die entsprechenden Grafiken entweder lokal vorhanden oder auf fanart.tv zu finden sind, kein Problem. Aber gibt es sie nur auf TVDB, muss man sie aktuell manuell laden und einfügen. Warum das so ist, wissen wir noch nicht. </p><p></p><p>Die neue Version wird erst heraus kommen, wenn zumindest das TVDB Problem gelöst ist. Nach Möglichkeit sollte aber auch der Trailer Download wieder funktionieren.</p><p></p><p>Für die Mutigen habe ich eine Vorab- Version angehängt. Einfach die Dateien im Media-Buddy Ordner gegen die aus dem angehängten Archiv austauschen und die Schnittfunktion sollte zur Verfügung stehen. Falls ihr damit irgendwelche Probleme habt, bitte unbedingt melden, danke.</p></blockquote><p></p>
[QUOTE="Lehmden, post: 1295392, member: 109222"] Hi. Ein kleiner Ausblick auf Kommendes... Ich habe inzwischen eine Schnittfunktion in Media-Buddy eingebaut, mit der man während des normalen Durchlaufs die Videos gleich bildgenau schneiden kann. Zur Zeit ist das nur dann aktiv, wenn man neu kodiert. Ohne Neukodierung kann man nicht bildgenau schneiden. Das geht dann nur an Keyframes, da nur dort ein echtes Bild existiert. Alles zwischen zwei Keyframes wird nur als "Unterschied" abgespeichert, nicht als ganzes Bild, was die enorme Kompression überhaupt erst ermöglicht. Da die Keyframes aber nur sehr selten da liegen, wo man sie für den Schnitt gebrauchen würde, bleibt einem nichts anderes übrig, als neu zu kodieren. Sonst könnte man eben nur an den Keyframes schneiden. und die können durchaus diverse Sekunden auseinander liegen. Theoretisch könnte man auch auf die Genauigkeit pfeifen und das Schneiden eben nur an Keyframes durchführen. Mir ist das keinesfalls genau genug. Deswegen ist mein Drang, die Schnittfunktion auch ins Remuxen einzubauen, nicht grade ausgeprägt. Zum Schneiden wird eine Schnittliste im .csv Format benötigt, wie sie z.B. von dem Open Source Tool [URL='https://github.com/mifi/lossless-cut/releases']Lossless Cut[/URL] erzeugt werden kann. Da es sich beim .csv Format um eine reine Text Datei handelt, kann man sie auch mit jedem Editor erstellen. In einer .csv werden Daten, getrennt durch Kommata, hintereinander abgespeichert. Wenn man Lossless Cut verwendet, kann man das Video dort auch direkt bearbeiten. Allerdings muss man dann die weiteren Aktionen später trotzdem in Media-Buddy erledigen. Es gibt hier auch das sogenannte "Smart Cut", das versucht, nur den Bereich rund um den Schnitt neu zu kodieren und alles andere einfach umzumuxen. Bei h264 im .ts Container funktioniert das sogar meistens. Aber bei .mkv, .mp4 oder bei moderneren Codecs wie h265 geht das zu 99% schief. Ich öffne das in Frage kommende Video einmal in Lossless Cut und lege dort die Schnitte fest. Statt aber das Video jetzt in Lossless Cut zu kodieren, exportiere ich nur die Schnittliste. Dazu im Datei- Menü auf Projekt exportieren > Zeitstempel (csv) gehen. [ATTACH type="full"]212565[/ATTACH] Nun wird neben der Video-Datei in Sekundenbruchteilen die Schnittliste erzeugt. Diese Schnittliste kann direkt von Media-Buddy verarbeitet werden. So sieht eine Schnittliste wie das angehängte Beispiel von "innen" so aus: [CODE]00:00:10.000,00:58:24.576, [/CODE] Es wird also hier erst ab 0 Stunden, 0 Minuten und 10,000 Sekunden angefangen zu kodieren und das Kodieren wird beendet bei 0 Stunden, 58 Minuten und 24,576 Sekunden. Der Zeitstempel ist auf 1/1000 Sekunde genau, was mehr als ausreichend ist. Außerdem kann FFMpeg diese Zeitstempel direkt verstehen. In diesem Beispiel werden die ersten 10,000 Sekunden weggeschnitten und alles, was nach 58 Minuten und 24,576 Sekunden kommt, wird ebenfalls nicht mit verarbeitet. Hier handelt es sich um das "berühmte" Titelsponsoring, also "Diese Sendung wird präsentiert von ...", am Anfang und Ende der Sendung, was ich nicht in meinem fertigen Video drin haben will. In diesem Fall ist keine Werbung innerhalb des eigentlichen Films (Serien- Episode), da es von einem Öffentlichen Sender stammt. Aber auch Werbung innerhalb der Episode (des Films), was ja bei privaten Sendern leider immer so extrem nervt, kann man damit entfernen. Dann stehen nicht nur 2 Werte, sondern 4, 6, 8,... Werte in der Schnittliste, je nach Anzahl der Werbeblöcke. Da FFMpeg nur zwei solcher Werte (Anfang und Ende) auf einmal verarbeiten kann, wird dann der Film in entsprechend viele Teile aufgeteilt, die am Ende wieder verlustfrei zusammengefügt werden. Dazu müssen temporäre Dateien im Media-Buddy_Temp Ordner erstellt werden, weswegen dort genug Platz verfügbar sein muss. Das Zusammenfügen erfolgt vollautomatisch und binnen weniger Sekunden. Man merkt also nichts davon. Wenn nur der Anfang und das Ende gesäubert wird wie im Beispiel oben, müssen keine temporären Videos erzeugt werden. Die Schnittliste muss genau so benannt werden, wie das eigentliche Video, nur eben mit der Endung .csv. Zu "Video.mp4" gehört also als Schnittliste "Video.mp4.csv", wobei "Video.csv" auch funktioniert. Lossless Cut erzeugt aber eine "Video.mp4.csv". Man kann aber auch jedes andere Programm nutzen, was solche Schnittlisten erzeugen kann. Ich kenne Comskip nicht, aber kann mir vorstellen, das man auch eine Comskip Liste zum Schneiden heranziehen kann. Zur Not geht das Erzeugen der Schnittliste auch manuell im Editor. So lange der Inhalt als Komma- getrennte Liste von Zeitstempeln identifizieret werden kann, solle es funktionieren. Lossless Cut ist frei verfügbar und arbeitet gut. Deswegen wurde die Schnittfunktion auf die von Lossless Cut erzeugte Schnittliste ausgelegt. Die Schnittfunktion ist bei allen Modulen, die Videos neu kodieren (können) automatisch aktiv. Also egal ob Serien- Assistent oder Videos Transkodieren, sobald eine Schnittliste vorhanden ist, wird sie auch verarbeitet. Ist keine Schnittliste da, läuft alles so ab wie immer. Deswegen muss man hier gar nichts extra konfigurieren. Die Funktion ist fertig und befindet sich grade in der Testphase. Leider gibt es noch zwei andere Probleme, die für eine neue Version behoben werden müssen. Zum einen funktioniert der Trailer- Download nicht mehr. YouTube hat da etwas geändert, was dazu führt, das die Operation abgebrochen wird. Bis zur neuen Version sollte man den Trailer Download also vorerst deaktivieren. Zum anderen werden zur Zeit keine Grafiken außer dem Poster von TVDB geladen. So lange die entsprechenden Grafiken entweder lokal vorhanden oder auf fanart.tv zu finden sind, kein Problem. Aber gibt es sie nur auf TVDB, muss man sie aktuell manuell laden und einfügen. Warum das so ist, wissen wir noch nicht. Die neue Version wird erst heraus kommen, wenn zumindest das TVDB Problem gelöst ist. Nach Möglichkeit sollte aber auch der Trailer Download wieder funktionieren. Für die Mutigen habe ich eine Vorab- Version angehängt. Einfach die Dateien im Media-Buddy Ordner gegen die aus dem angehängten Archiv austauschen und die Schnittfunktion sollte zur Verfügung stehen. Falls ihr damit irgendwelche Probleme habt, bitte unbedingt melden, danke. [/QUOTE]
Insert quotes…
Verification
Post reply
Forums
Language specific support
Deutsches MediaPortal Forum
Hard- und Software rund um den HTPC
Software
3rd Party Software
Media-Buddy, die "eierlegende Wollmilchsau" unter den Medien-Tools.
Contact us
RSS
Top
Bottom