PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Schnittmethode: mencoder



klingelschild
13.10.2012, 21:57
Danke für deine Antwort!


1) es bleiben bei mir etliche tmp Dateien übrig. mit tmp10-17 und gopEnde und gopStart. Schaue ich morgen mal, woran das liegt
Ich hielts für hilfreich wenn beim Testen die Zwischenschritte nicht gelöscht werden. Bei Nichtgefallen kann man einfach Zeile 43 wieder einkommentieren :)

keyint=1 hat folgenden Fehler behoben: Die geschnittene GOP wurde komplett neu kodiert, die Audiospur nur teilweise. Erklären konnte ichs mir nicht, aber bei wenigen Sekunden Video, die damit kodiert werden, habe ich mir um die Dateigröße auch keinen Kopf gemacht.

Wie gesagt, mit den Kodiereinstellungen hab ich nicht viel Erfahrung. In der ersten Version von mir waren das jetzt einfach nur Einstellungen, die nach einer schnellen Suche für hohe Qualität auffindbar waren.

monarc99
14.10.2012, 18:31
Ich hielts für hilfreich wenn beim Testen die Zwischenschritte nicht gelöscht werden. Bei Nichtgefallen kann man einfach Zeile 43 wieder einkommentieren :)

Ok, also ein Feature ^^



keyint=1 hat folgenden Fehler behoben: Die geschnittene GOP wurde komplett neu kodiert, die Audiospur nur teilweise. Erklären konnte ichs mir nicht, aber bei wenigen Sekunden Video, die damit kodiert werden, habe ich mir um die Dateigröße auch keinen Kopf gemacht.

Ja, um die Dateigröße mache ich mir da auch keine Sorgen. Eher um die CPU Last. Ein I-Frame zu dekodieren ist aufwändiger als ein P/B Frames zu dekodieren.
Und 1 IDR/I-Frame alle 250 Frames und viele IDR/I-Frames nacheinander ist doch ein Unterschied. Sprich während der Film flüssig läuft, könnte die Schnittstelle (bei einer älteren CPU) dann ruckeln.

Ich hab mal folgende Datei schnitten:
http://otrkeyfinder.com/index.php?search=Navy_CIS_12.09.23_20-15_sat1_60_TVOON_DE%20HQ
http://cutlist.at/getfile.php?id=9712950

Leider ist bei mir der Ton bei der geschnittenen Datei async. Per mplayer getestet. Sowohl Software-Dekodierung als auch VDPAU.
Kannst du es mal bei dir testen?

mfg,
monarc

klingelschild
14.10.2012, 21:02
Ja, um die Dateigröße mache ich mir da auch keine Sorgen. Eher um die CPU Last. Ein I-Frame zu dekodieren ist aufwändiger als ein P/B Frames zu dekodieren.
Und 1 IDR/I-Frame alle 250 Frames und viele IDR/I-Frames nacheinander ist doch ein Unterschied. Sprich während der Film flüssig läuft, könnte die Schnittstelle (bei einer älteren CPU) dann ruckeln.

Hm.. Dann müsste man mal experimentieren ab wie viel Keyframes der Fehler auftritt, bzw ob der Fehler garnichts damit zu tun hatte. Möglicherweise war keyint=1 nur der Overkill und irgendetwas anderes (wie zB die x264-Kodiereinstellungen o.ä.) hätten auch geholfen.
Testweise hab ich gerade mal keyint=1 auf keyint=100 gesetzt und die Stelle geprüft bei der ich weiß, dass der Fehler auftritt (der brüllende MGM-Löwe, gleich am Anfang von Die_Thomas_Crown_Affaere_12.09.15_20-15_vox_130_TVOON_DE.mpg.HQ.avi). Das Ergebnis war, dass der Löwe eben nicht gebrüllt hat. Identisches Verhalten tritt bei keyint=25 auf, nur dass der Ton dann ein klein wenig später abbricht.



Ich hab mal folgende Datei schnitten:
http://otrkeyfinder.com/index.php?search=Navy_CIS_12.09.23_20-15_sat1_60_TVOON_DE%20HQ
http://cutlist.at/getfile.php?id=9712950

Leider ist bei mir der Ton bei der geschnittenen Datei async. Per mplayer getestet. Sowohl Software-Dekodierung als auch VDPAU.
Kannst du es mal bei dir testen?

Kann ich nicht nachvollziehen, der Ton ist bei mir genauso wie in der ungeschnittenen Version. Hast dus mit den x264-Kodiereinstellungen kodiert die schon in der Datei waren, oder mit denen aus Post #2? Bei welcher Sekunde wars denn in der geschnittenen Version asyncron? Und ists sowohl in der entsprechenden tmp-Datei als auch in der gop asyncron?

Mögliche Fehlerquellen für einen asyncronen Ton, die ich beobachten konnte:
- Es wurde zu wenig Ton aus der GOP geschnitten (siehe oben, das war ja der Grund für keyint=1)
- Innerhalb eines Teils der neu kodiert wurde: Fehler beim kodieren der Audiospur, wobei der Fehler nicht mit keyint=1 behoben wurde.

monarc99
15.10.2012, 16:56
Hm.. Dann müsste man mal experimentieren ab wie viel Keyframes der Fehler auftritt, bzw ob der Fehler garnichts damit zu tun hatte. Möglicherweise war keyint=1 nur der Overkill und irgendetwas anderes (wie zB die x264-Kodiereinstellungen o.ä.) hätten auch geholfen.
Testweise hab ich gerade mal keyint=1 auf keyint=100 gesetzt und die Stelle geprüft bei der ich weiß, dass der Fehler auftritt (der brüllende MGM-Löwe, gleich am Anfang von Die_Thomas_Crown_Affaere_12.09.15_20-15_vox_130_TVOON_DE.mpg.HQ.avi). Das Ergebnis war, dass der Löwe eben nicht gebrüllt hat. Identisches Verhalten tritt bei keyint=25 auf, nur dass der Ton dann ein klein wenig später abbricht.

Probier mal ein normales keyint=250 und dafür Bframes aus (bframes=0 in x264opts). Vielleicht hilfts ... auch wenn ich keine große Hoffnung hege.



Kann ich nicht nachvollziehen, der Ton ist bei mir genauso wie in der ungeschnittenen Version. Hast dus mit den x264-Kodiereinstellungen kodiert die schon in der Datei waren, oder mit denen aus Post #2?

Ich habe beide Varianten ausprobiert. Machten keinen Unterschied. Ich werde es mal mit einer anderen mencoder Version probieren.



Bei welcher Sekunde wars denn in der geschnittenen Version asyncron? Und ists sowohl in der entsprechenden tmp-Datei als auch in der gop asyncron?


Sie sind soweit man das gleich feststellen kann, wenn async, dann von Anfang an. Alle Dateien haben defekte MP3 Audio Frames am Ende.

Navy_CIS_12.09.23_20-15_sat1_60_TVOON_DE.mpg.HQ.gopStart11.avi - nur Sprecher und Titelmusik, vielleicht sync oder async
Navy_CIS_12.09.23_20-15_sat1_60_TVOON_DE.mpg.HQ.tmp10.avi - gleicher Inhalt wie gotStart11 nur Werbung fehlt. vielleicht sync oder async

Navy_CIS_12.09.23_20-15_sat1_60_TVOON_DE.mpg.HQ.tmp11.avi - async - großer Teil des Films

Navy_CIS_12.09.23_20-15_sat1_60_TVOON_DE.mpg.HQ.gopEnde11.avi - sync
Navy_CIS_12.09.23_20-15_sat1_60_TVOON_DE.mpg.HQ.tmp12.avi - sync - gleicher Inhalt wie gopEnde11

Navy_CIS_12.09.23_20-15_sat1_60_TVOON_DE.mpg.HQ.tmp13.avi - async - großer Teil des Films

Navy_CIS_12.09.23_20-15_sat1_60_TVOON_DE.mpg.HQ.gopEnde13.avi - sync
Navy_CIS_12.09.23_20-15_sat1_60_TVOON_DE.mpg.HQ.tmp14.avi - identisch zu gopEnde13, sync

Navy_CIS_12.09.23_20-15_sat1_60_TVOON_DE.mpg.HQ.tmp15.avi - zu kurz um Sync zu sehen
Navy_CIS_12.09.23_20-15_sat1_60_TVOON_DE.mpg.HQ.gopStart16.avi - tmp15 mit Werbung, sync nicht bestimmbar

Navy_CIS_12.09.23_20-15_sat1_60_TVOON_DE.mpg.HQ.tmp16.avi - großer Teil, async

Navy_CIS_12.09.23_20-15_sat1_60_TVOON_DE.mpg.HQ.gopEnde16.avi - nur Abspann
Navy_CIS_12.09.23_20-15_sat1_60_TVOON_DE.mpg.HQ.tmp17.avi - nur Abspann

klingelschild
18.10.2012, 19:15
Ich fass mir den bisherigen Stand jetzt mal zusammen:


Aktueller Stand:
1.) mencoder zum schneiden scheint prinzipiell über große Versionssprünge hinweg zu funktionieren (Voraussetzung: Ich kann die Startzeit zum Schneiden auch bis auf die o.g. Genauigkeit angeben; werde ich testen)
1.1) Aber: Der Ton ist asyncron (Grund ist unbekannt)
2.) mplayer zum Keyframes auslesen ist ungenügend, da die Genauigkeit nicht ausreicht.
3.) Es wird keyint=1 benötigt damit es keine Probleme mit dem Ton gibt

Weitere Vorgehensweise:
4.) Es muss eine genauere Methode für die Keyframes gefunden werden. (-> (2) und (3))
5.) Beim schneiden muss der Ton seperat geschnitten werden. Sollte kein Problem sein werden, wenn die Schnitte genau genug sind. (-> (3) und (1.1))
6.) Sinnvoll ist es wohl gleich komplett auf mkv/mp4 umstellen. Die Rückumwandlung in avi lässt sich als Option für alte Player einfügen, sollte aber nicht die Parade aufhalten.


Das ganze ist durchaus machbar, gegen mencoder spricht ja nichts wenn (5.) funktioniert. Ich habs grad mal kurz getestet, mencoder kann auch mit den neuen Formaten umgehen.
I.V.m (6.) könnte die Lösung für (4.) bei mkv zB mkvinfo sein, bzw was äquivalentes für mp4.
Sobald es die Zeit erlaubt werd ich mich mal dransetzen :)

klingelschild
22.10.2012, 20:39
Ich danke dir! :)

Bei mir siehts im Moment so aus: Ich werd mich darum kümmern, aber wenns jetzt im Semester zeitlich nicht anders geht, ist das evtl. erst in den nächsten Semesterferien möglich. Andererseits ist der Thread hier ja für jeden offen, bis dahin hat vielleicht schon jemand anderes das ganze implementiert.