Start Trim nicht zu Keyframe, verursacht "kein Video" bei Ausgabe

H.264-Quellvideo, Konvertierungsauftrag erstellt, der versucht, X Sekunden vom Anfang des Videos abzuschneiden.

2022-01-04T15:39:01 MCEBuddy.Engine.ConversionJob → Videoaufzeichnung wird beschnitten
2022-01-04T15:39:01 MCEBuddy.Transcode.TrimVideo → Start Trim: 5
2022-01-04T15:39:01 MCEBuddy.Transcode.TrimVideo → Stop Trim: 5

→ Ausgabedateigröße prüfen [KB] → 1.177.094,00
→ FFmpeg-Ausgabedateigröße [KB] → 1.177.094,00
2022-01-04T15:39:09 MCEBuddy.Transcode.TrimVideo → TrimVideo versucht, Datei zu ersetzen
Quelle: C:\Program Files\MCEBuddy2x\working0\The A-Team - s01e02 - Mexican Slayride_ Part 2.ts
Temp: C:\Program Files\MCEBuddy2x\working0\The A-Team - s01e02 - Mexican Slayride_ Part 2-temp.ts
2022-01-04T15:39:09 MCEBuddy.Engine.ConversionJob → Trimmen erfolgreich, Trim-Parameter werden auf 0 gesetzt, um erneutes Trimmen zu vermeiden

DIESE Ausgabedatei kann nicht verarbeitet werden, daher enthält die Ausgabedatei kein Video.

2022-01-04T15:39:37 MCEBuddy.Transcode.ConvertWithFfmpeg → Befehlszeilenparameter → -threads 0 -y -i “C:\Program Files\MCEBuddy2x\working0\The A-Team - s01e02 - Mexican Slayride_ Part 2.ts” -ss 0 -vcodec copy -sn -acodec copy “C:\Program Files\MCEBuddy2x\working0\The A-Team - s01e02 - Mexican Slayride_ Part 2-converted.mp4”
WARNING> 2022-01-04T15:39:37 MCEBuddy.Transcode.ConvertWithFfmpeg → Kein Videostream erkannt, Unterstützung für Videostream wird entfernt

Ohne Änderung anderer Parameter, nur durch Entfernen von START TRIM, wird der Auftrag erfolgreich abgeschlossen.

Scheint, als bräuchten wir eine Option, am nächsten Keyframe zu schneiden?

Bug?

Forschungen deuten darauf hin, dass wir den nächsten Keyframe zur Dauer finden und dann an diese Stelle schneiden sollten.

2022-01-04T20:58:45 MCEBuddy.AppWrapper.FFmpeg --> Process arguments  -hide_banner -probesize 100M -analyzeduration 300M -y -i "C:\Program Files\MCEBuddy2x\working0\The Expanse - s05e01 - Exodus.ts" -ss 5 -t 3103 -map 0:a -acodec copy -map 0:1 -vcodec copy "C:\Program Files\MCEBuddy2x\working0\The Expanse - s05e01 - Exodus-temp.ts"

Ziemlich viele Vorschläge in diesem Thread: https://stackoverflow.com/questions/14005110/how-to-split-a-video-using-ffmpeg-so-that-each-chunk-starts-with-a-key-frame

Es gibt jedoch möglicherweise eine einfachere Lösung:

Die Dokumentation zeigt an, dass wenn -ss VOR -i übergeben wird, es als Seek funktioniert....

Ich kann keinen Weg finden, um diese Reihenfolge umzukehren – vermutlich brauchen wir einen Patch, um das zu lösen.

Ich habe angefangen, mit den CLI-Befehlen und FFMPEG auf der Kommandozeile zu experimentieren, und ich kann den Fehler reproduzieren. Leider behebt es das Problem nicht, wenn man „-ss“ vor die Eingabedatei verschiebt.

Interessanterweise funktioniert es, wenn man als Ausgabe etwas anderes als eine TS-Datei wählt. (entnommen von hier: https://stackoverflow.com/questions/57045900/how-to-find-a-safe-point-for-ss-using-ffmpeg-to-avoid-breaking-a-v-sync)

Deshalb schlägt folgendes fehl:

ffmpeg -y -ss 5 -i "The Expanse - s05e01 - Exodus.ts" -map 0:a -acodec copy -map 0:1 -vcodec copy "The Expanse - s05e01 - Exodus-temp.ts"

Aber das funktioniert:

ffmpeg -y -ss 5 -i "The Expanse - s05e01 - Exodus.ts" -acodec copy -map 0:1 -vcodec copy "The Expanse - s05e01 - Exodus-temp.mp4"

oder das:

ffmpeg -y -ss 5 -i "The Expanse - s05e01 - Exodus.ts" -acodec copy -map 0:1 -vcodec copy "The Expanse - s05e01 - Exodus-temp.mkv"

Update: „Skip Remuxing Files“ umgeht dieses Problem, bestätigt also die Ursache als FFMPEG/TS-Container. (abgesehen davon, dass es sehr viel langsamer ist) Vielleicht ein Kontrollkästchen, um beim Remuxen statt TS MP4 oder MKV zu verwenden?

Es wirft jedoch ein weiteres Problem auf. Das Abschneiden des Anfangs eines Clips scheint Untertitel zu entfernen. :frowning_face_with_open_mouth:

WARNING> 2022-01-05T07:59:40 MCEBuddy.Engine.ConversionJob --> SKIPPING REMUXING, this may lead to conversion failure since all underlying apps may not support all file formats.
WTV commercial detection is only supported by donator version of Comskip (http://www.kaashoek.com/comskip/).
WARNING> --> CCExtractor failed or no result. Disabling sentence capitalization and retrying
WARNING> --> CCExtractor failed to extract closed captions
WARNING> 2022-01-05T08:00:08 MCEBuddy.Transcode.CCandSubtitles --> No valid SRT file found, retrying with forced DVB detection
WARNING> --> CCExtractor failed or no result. Disabling sentence capitalization and retrying
WARNING> --> CCExtractor failed to extract closed captions
WARNING> 2022-01-05T08:00:18 MCEBuddy.Transcode.CCandSubtitles --> No valid SRT file found
WARNING> 2022-01-05T08:00:18 MCEBuddy.Engine.ConversionJob --> Extracting closed captions failed from original file, trying to extract closed captions from the remuxed file
WARNING> --> CCExtractor failed or no result. Disabling sentence capitalization and retrying
WARNING> --> CCExtractor failed to extract closed captions
WARNING> 2022-01-05T08:00:27 MCEBuddy.Transcode.CCandSubtitles --> No valid SRT file found, retrying with forced DVB detection
WARNING> --> CCExtractor failed or no result. Disabling sentence capitalization and retrying
WARNING> --> CCExtractor failed to extract closed captions
WARNING> 2022-01-05T08:00:37 MCEBuddy.Transcode.CCandSubtitles --> No valid SRT file found
WARNING> 2022-01-05T08:00:37 MCEBuddy.Engine.ConversionJob --> No SRT file found after extraction

Wir benötigen eine Kopie des Originalvideos und das Konvertierungsprotokoll auf unserem Server, damit wir analysieren können, was vor sich geht, und es replizieren können.

Versuchen Sie außerdem, Ihr ffmpeg auf die neueste Version zu aktualisieren, und sehen Sie, ob das hilft.

Freue mich, @Goose – schick mir per PN die Details, wohin ich die Dateien und Logs hochladen soll, und ich bekomme sie dir sofort.

Habe ffmpeg aktualisiert – scheint nicht zu helfen.

Upload-Anweisungen finden Sie hier: Welcome to MCEBuddy - README BEFORE POSTING

:man_facepalming:

Werde es erledigen. :slight_smile:

Hochgeladen wie angefragt – danke für die Zeit

Ich bin gerade beigetreten, um hierzu etwas beizusteuern. Ich bin froh, diesen Thread gefunden zu haben, ich habe das gleiche Problem. Bei mir hängt es mit PlayonCloud-Aufnahmen zusammen. Ich glaube, dass sich auf deren Seite etwas geändert hat, denn ich kann Aufnahmen, die ich vor etwa einem Monat mit Playon gemacht habe, ohne Probleme über MCEBuddy laufen lassen. Die Option „Remuxing von Dateien überspringen“ funktioniert bei mir nicht, sie verursacht eine Audioverzögerung. Wenn ich jedoch den Cut-Start entferne, funktioniert es, allerdings habe ich dann den Playon-Intro.

FWIW, ich kann sie in FFMPEG von Hand sauber schneiden, wenn ich stattdessen MP4 oder MKV verwende,

ffmpeg -ss $TRIM_DURATION -noaccurate_seek -i "$INPUT_FILENAME" -avoid_negative_ts make_zero -map 0 -c copy "$OUTPUT_FILENAME"

+1 für das, was @toadman erwähnt hat. Ich kann das ebenfalls reproduzieren, wenn ich bei PlayOn-Aufnahmen einen „Start Cut“ und „End Cut“ hinzufüge. Tritt nicht bei Live-TV-Aufnahmen derselben Sendung auf (WMC / .wtv).

Dies passiert auf zwei separaten Maschinen, eine mit älterer HW und eine mit neuerer HW. Derselbe Fehler beim Konvertieren in HEVC, MP4 oder ohne Konvertierung. Beide Maschinen funktionierten vor ein paar Wochen noch einwandfrei, ohne weitere Änderungen als die oben genannten.

Lasst mich wissen, ob das Hochladen von Log-Dateien oder Aufnahmen hilft.

@dlasher Lass mich wissen, ob dies nicht dasselbe Problem ist, das du siehst. Ich möchte deinen Thread nicht mit einem anderen Problem kapern.

Genau dasselbe Problem, Videos von PlayOn, danke fürs Überprüfen @schnood

Ich dachte, ich würde ein weiteres Beispiel posten. Ich habe die Protokolldateien auf den MCEBuddy-Server hochgeladen, falls das hilfreich ist. Wie bei einigen anderen auch: Wenn eine PlayOn-Cloud-Aufnahme mit einem Cut-Start verarbeitet wird, erscheint nach der Bearbeitung kein Video. Führe ich sie ein zweites Mal ohne Cut durch, wird sie korrekt verarbeitet und läuft einwandfrei. Aus Spaß habe ich eine PlayOn-Datei aus der Desktop-Version (v4.5) mit einem Cut-Start von 4 Sekunden erneut verarbeitet – und sie spielt problemlos ab.

Verweise auf die hochgeladenen Protokolldateien (ebenfalls hier gezippt):
Log files.zip (695,1 KB)

Log #1: stammt von einer PlayOn-Cloud-Aufnahme mit einem Cut-Start von 6 Sekunden. Nach der Verarbeitung wird kein Video angezeigt.

Log #2: bezieht sich auf dieselbe Quelldatei, jedoch ohne Cut. Sie wird verarbeitet und spielt einwandfrei ab.

Log #3: stammt von PlayOn – Desktop-Version (vor ein paar Monaten, mit v4.5). Ich habe einen Cut-Start von 4 Sekunden eingestellt; die Datei wird verarbeitet und spielt einwandfrei ab.

@Goose gibt es zusätzliche Informationen, die helfen würden? Ist das als „offizielles“ Problem vermerkt?

Ich habe dasselbe Problem.

Hier sind weitere Informationen zum Problem und eine Umgehung.

Ich hatte eine Fernsehsendung, die mit Playon aufgenommen wurde.

Ich nahm die .mp4-Datei und konvertierte sie mit einem Dateikonvertierungstool in .mp4 (mit der Idee, dass dadurch alle Segmente hinzugefügt würden, die im Original fehlen und bei denen MCEBuddy Probleme hat).

Anschließend ließ ich MCEBuddy die ersten und letzten 5 Sekunden entfernen.

Das funktionierte einwandfrei.

Dann ließ ich MCEBuddy alle Werbung mit der Comskip-Option entfernen.

Das funktionierte ebenfalls einwandfrei.

Es scheint, dass Playon geändert wurde und nicht mehr alle Segmente schreibt, die MCEBuddy erwartet.

Bis dies behoben ist, werde ich diesem Verfahren folgen.

Ich hoffe, das hilft anderen weiter.

Vielen Dank für die Logs und Beispieldateien. Es sieht so aus, als wäre die MP4-Datei, die mit der neuesten Version von PlayOn erstellt wurde, nicht spezifikationskonform und enthält Fehler, die ffmpeg beim Remuxing von MP4 zu TS zur Verarbeitung der Datei UND beim Versuch, den Anfang zu kürzen, durcheinanderbringen. Dabei gehen einige kritische Metadaten zum Videostream verloren, sodass die Datei nicht wiedergegeben werden kann.

Die kurzfristige Lösung ist, die Option Skip remuxing files auf der Seite Conversion Task → Expert settings zu aktivieren, um zu verhindern, dass MCEBuddy die MP4-Datei in TS umwandelt, und stattdessen direkt mit den MP4-Dateien arbeitet – was dieses Problem vermeiden sollte.

Die langfristige Lösung ist, dies an PlayOn zu melden, damit sie es beheben können, da @scott_mb bestätigt hat, dass es mit PlayOn Version 4.5 einwandfrei funktioniert.

Jemand in dieser Gruppe wird Playon kontaktieren?

Ich habe den Playon-Support kontaktiert. Da die Originalvideos abspielbar sind, betrachten sie dies nicht als Fehler auf ihrer Seite.