Videodateien schneiden, codieren, croppen .ts ( Transportstream )

Hallo, also schwarze Balken sendet niemand - viel zu teuer. Oder bist Du Dir sicher, dass das 4:3 Inhalt ist, der in 16:9 Pillarbox dargestellt wird, um AFD (Automatic Format Detection)zu vermeiden? Und das wird so gesendet? Irks. Das ist dann ein HD-Sender bei dem Du upgescaleten SD-Content guckst....? brr. Oder macht die Dreambox das? Aber zurück: Wenn Du da so einen Filter nimmst und der was am fertig encodierten Bild machen muss, dann erzwingt das Reencoding, korrekt.

Framegenaues Schneiden... beißt sich mit "schnell". Da muss erst einmal transcodiert werden, am besten auf einen möglichst verlustarmen Intermediate-Code wie ProRes und von da aus geht's dann weiter. Bzw. auch avidemux würde dann das ganze Video reenkodieren.

Da musst Du Dir prinzipiell die Fragen stellen, was Du eigentlich willst. Wenn es schnell sein soll, ist ja oben beschrieben, dann schneide an Keyframes und ignoriere den schwarzen Rand, das 4:3 sieht eh nirgendwo besser aus, selbst wenn es fehlen sollte (heutige TVs sind ja alle 16:9) und enkodiert kostet das wenige Dutzend Kilobyte im fertigen File.
Ich hätte gesagt, noch pragmatischer wäre es, SD-Content auf SD-Sendern aufzunehmen (oder die nächste Wiederholung abzuwarten), die sollten dank AFD zwischen 4:3 und 16:9 umschalten, aber in der Tat, die Bitraten sind dort mittlerweile jenseits von Gut und Böse.
 
Also bei mir auf dem M2 Max läuft Avidemux gut, jedoch bei Neuenkodierung benötigt es je nach dem auch noch etwa die Hälfte der Echtzeit, weil nur CPU Encoding. Da ist selbst Handbrake schneller. Wenn es darum geht, das Encodieren der GPU zu überlassen warum nicht gleich Davinci Resolve nehmen? Selbst die Gratis Version reicht das für die geforderten Aufgaben längstens. TS-Streams würde ich in MP4 Dateien abspeichern, ist kompatibler.
 
Also ich beschneide meine aufnahmen direkt auf dem Satreceiver (VU+ Duo 4K se) und lade sie dann auf den Rechner, wo ich sie dann mittels remux in ein .mkv umwandle und dabei gff unnötige Datenspuren entferne (Videotext, unnötige Tonspuren). Das sind insgesamt zwei Arbeitsschritte, die zusammen kaum länger dauern als die Datei von der STB auf den Rechner zu kopieren :)

Wenn du framegenauen Schnitt willst lad die Datei auf den Mac, wandle sie mittels remux in ein .mp4 und schneide sie dann framegenau im programm deiner wahl: quicktime wäre da das simpelste. Allerdings rendert der mac die datei dabei neu und das dauert halt ein wenig.
 
Framegenaues Schneiden... beißt sich mit "schnell". Da muss erst einmal transcodiert werden, am besten auf einen möglichst verlustarmen Intermediate-Code wie ProRes und von da aus geht's dann weiter.

Framegenaues Schneiden ist durchaus auch ohne transkodieren möglich, wenn man für den Start eines Segmentes einen I-Frame verwendet (das muss kein key-Frame sein) und als Ende eines Segmentes einen P-Frame.

Bei einem Szenenwechsel von Film auf Werbung nimmt man also als Ende des Film-Segmentes, den letzten P-Frame vor der Werbung und beim Wechsel von Werbung auf Film, als Start des nächsten Film-Segmentes eben den ersten I-Frame des Filmsegmentes.

Diese Segmente können dann problemlos wieder zusammengefügt werden, ohne Transkodierung und ohne dass an den Schnittstellen Artefakte entstehen.

Da reicht in ffmpeg selbst der einfache concat-Filter

Es gibt mit dem concat-Filter aber ein anderes Problem und zwar den Sync der Audio-Spur. Der Audio-Sync kann je nach Audio-Codec an den Schnittstellen verloren gehen. Die einzige Möglichkeit ist, dass die Audio-Spur beim Zusammenfügen der Segmente transkodiert wird. Ein einmaliges transkodieren wird dabei die Audioqualität nicht hörbar verschechtern, wenn man eine passende Bitrate nimmt.

Ich schneide so seit langer Zeit ts-Streams framegenau, ohne den Audiosync zu verlieren.

Allerdings mache ich das alles auf Terminal-Ebene mit ffmpeg, da selbst Losslesscut das framegenau schneiden nicht so genau an den P-Frames erlaubt, wie es sein müsste. (zumindest war das das letze Mal noch so als ich es damit getestet habe)
 
yep, so meinte ich das eigentlich auch. Die Diskussion war ja nicht auf i-Frame-Ebene, von daher habe ich das als "nicht erstrebenswert" impliziert.
 
Also bei mir auf dem M2 Max läuft Avidemux gut, jedoch bei Neuenkodierung benötigt es je nach dem auch noch etwa die Hälfte der Echtzeit, weil nur CPU Encoding. Da ist selbst Handbrake schneller. Wenn es darum geht, das Encodieren der GPU zu überlassen warum nicht gleich Davinci Resolve nehmen? Selbst die Gratis Version reicht das für die geforderten Aufgaben längstens. TS-Streams würde ich in MP4 Dateien abspeichern, ist kompatibler.
Na das ist doch mal eine Aussage, ein M2 Max braucht die hälfte der Laufzeit zu neu codieren. In dem Fall ist mein alter Intel 3,7 Ghz nicht langsamer. Ich dachte eben genau das macht ein M doppelt so schnell. Die Streams ändere ich allerdings in der Endung nicht, da ich überall mit Infuse gucke ist das nicht notwendig.
 
Hallo, also schwarze Balken sendet niemand - viel zu teuer. Oder bist Du Dir sicher, dass das 4:3 Inhalt ist, der in 16:9 Pillarbox dargestellt wird, um AFD (Automatic Format Detection)zu vermeiden? Und das wird so gesendet? Irks. Das ist dann ein HD-Sender bei dem Du upgescaleten SD-Content guckst....? brr. Oder macht die Dreambox das? Aber zurück: Wenn Du da so einen Filter nimmst und der was am fertig encodierten Bild machen muss, dann erzwingt das Reencoding, korrekt.

Framegenaues Schneiden... beißt sich mit "schnell". Da muss erst einmal transcodiert werden, am besten auf einen möglichst verlustarmen Intermediate-Code wie ProRes und von da aus geht's dann weiter. Bzw. auch avidemux würde dann das ganze Video reenkodieren.

Da musst Du Dir prinzipiell die Fragen stellen, was Du eigentlich willst. Wenn es schnell sein soll, ist ja oben beschrieben, dann schneide an Keyframes und ignoriere den schwarzen Rand, das 4:3 sieht eh nirgendwo besser aus, selbst wenn es fehlen sollte (heutige TVs sind ja alle 16:9) und enkodiert kostet das wenige Dutzend Kilobyte im fertigen File.
Ich hätte gesagt, noch pragmatischer wäre es, SD-Content auf SD-Sendern aufzunehmen (oder die nächste Wiederholung abzuwarten), die sollten dank AFD zwischen 4:3 und 16:9 umschalten, aber in der Tat, die Bitraten sind dort mittlerweile jenseits von Gut und Böse
Nun zur Zeit nehme ich am Wochenende auf Nitro, A-Team oder auf One, Detektiv Rockford auf. Das Bildmaterial ist Erstklassik, A-Team ist jetzt fast durch und ich musste keine 130€ für Blue-Ray Box ausgeben. Aber die Sendung wird in 1280 x 720 ausgestrahlt in dass, das 4:3 Bild mit 976x720 eingebettet ist. Also links und rechts schwarze streifen. Schaut man es z.B auf einem iPad an so wird das Bild in Pillarbox dargestellt also Rundum schwarze Balken. So ist das z.B. auch wenn man Waipu TV Krimi guckt wo ein alter Derrick läuft. Also schneide ich die Streifen li re weg und hab voll Bild. Das ist halt mein Ding könnte man sagen. Mein iPad ist mein Reisebegleiter folglich wird hier viel geguckt.
 
Rockford läuft doch auch auf One ohne Werbung. Da nehme ich das momentan auf. ;)
Kann man nicht auf dem iPad einfach doppeltap und dann wird das 16:9 auf 4:3 aufgezoomt? Und wenn du eh mit Infuse schaust, das hat doch auch eingebaute Zoom Modi, jedenfalls auf dem ATV.

Mein Avidemux Beispiel ist sicher nicht repräsentativ. War nur ein schneller versuch mit einem Full HD 4:3 bei dem ich die Pillarbox Balken weggeschnitten habe. Und wie gesagt, mit Davinci zB geht das viel schneller. In meinem kurzen Versuch (ohne spez Einstellungen) knapp 3 Min für ein 27 Min FHD Video.
 
Na das ist doch mal eine Aussage, ein M2 Max braucht die hälfte der Laufzeit zu neu codieren. In dem Fall ist mein alter Intel 3,7 Ghz nicht langsamer. Ich dachte eben genau das macht ein M doppelt so schnell. Die Streams ändere ich allerdings in der Endung nicht, da ich überall mit Infuse gucke ist das nicht notwendig.
Naja die entscheidende Frage ist, ob die Software VideoToolBox unterstützt (also GPU-Rendering) oder „nur“ CPU-Recoding. Ich habe da mal Vergleiche mit Handbrake gemacht, die Ergebnisse muss ich mal raussuchen :) VTB-Recodierungen haben meiner Erinnerung nach jeweils unter 30 Minuten gebraucht, reines CPU-Rendern über 2h.

Nichts im Vergleich zu den Zeiten, als man zwei Filme über Nacht rendern mußte und er morgens immer noch nicht fertig war 😅
 
Ich habe da mal Vergleiche mit Handbrake gemacht, die Ergebnisse muss ich mal raussuchen

Quelle: Ts-Stream 8000 MBit/s, 5.1 AC3, 1920x1080
Ziel: HEVC, croppen auf 1920x800, downmix auf 2 ch Dolby Prologic II

transkodiert auf Mac Studio M1, ffmpeg, hevc_videotoolbox -> 560 fps
 
"Troja" 3'16" 4K-BD-Rip, per CQ55 VTB (GPU), x265 RF24 (CPU) und VTB (GPU) mit fester Bitrate 8Mbit/s auf M1, M2, M4:

Bildschirmfoto 2025-03-11 um 12.51.29.png


Dass der M2 kaum schneller war als der M1 könnte an der deutlich langsameren internen SSD liegen. Alle drei Modelle mit Mindestausstattung 256GB Flash-Speicher.
 
Dass der M2 kaum schneller war als der M1 könnte an der deutlich langsameren internen SSD liegen. Alle drei Modelle mit Mindestausstattung 256GB Flash-Speicher.

... ich meine mal gelesen zu haben, dass die Media-Engine beim M2 unverändert blieb
 
Wäre auch ne erklärung. Rein von den Benchmarks her hätte der M2 jedenfalls etwa 16% (CPU) bzw. Fast 50% (Metal) schneller sein „müssen“.
 
Naja die entscheidende Frage ist, ob die Software VideoToolBox unterstützt (also GPU-Rendering) oder „nur“ CPU-Recoding. Ich habe da mal Vergleiche mit Handbrake gemacht, die Ergebnisse muss ich mal raussuchen :) VTB-Recodierungen haben meiner Erinnerung nach jeweils unter 30 Minuten gebraucht, reines CPU-Rendern über 2h.

Nichts im Vergleich zu den Zeiten, als man zwei Filme über Nacht rendern mußte und er morgens immer noch nicht fertig war 😅
Mein iMac hat die Radeon Pro 580X 8 GB und Avidemux unterstützt VideoToolbox, das tolle an der Sache ist das der iMac das dann in ca. 6-8min codiert hat, also einen Bruchteil benötigt. Problem ist, es läuft anschließend nicht Ruckelfrei. Auf dem Mac via VLC-Player ruckelt es hin und wieder, da bleibt 2 sec das Bild stehen, der Ton läuft weiter. Dann fängt sich das wieder, Video und Audio bleiben aber Synchron. Und dann passiert es wieder von vorne. Aus Dummheit und nicht kontrollieren habe ich so schon eine ganze Staffel einer Serie zerstört. Auch Infuse mag das VideoToolBox Thema gar nicht. Hin und Her spulen funktioniert normaler weise in Wimpernschlag Geschwindigkeit. Das kackt ab beim spulen ohne Ende. Man spult eine gewünschte Zeit drückt Play und es dauert gefühlt 5-8 sec bis ers hat, dann läuft aber erst der Ton und das Bild wird in einer art Megaschnellen Vorlauf zum bereits laufenden Ton heran gespult.
Eine Katastrophe........ Mit Handbreak habe ich ähnliche Erfahrungen gemacht, damals habe ich Baywatch in HD mitgeschnitten und hab sofort bemerkt das auch enorm Tiefenschärfe flöten geht. Das konnte ich Pamela nicht antun und ging auch hier wieder zum neu codieren zurück.

Ich dachte halt der iMac jetzt 6 Jahre alt wird und weil Intel basierend vermutlich dieses Jahr aus dem Support fliegt und bei dem M Prozessoren immer gesagt wird man kann 4 oder 6 4K Streams Parallel bearbeiten oder ähnliches, dachte ich halt OK mein lächerliches 720p oder 1080i aus dem TV macht der dann im Handumdrehen. Aber in dem Fall Fehlanzeige.
 
Alles was du beschreibst deutet darauf hin, dass du falsche / unpassende Parameter für das transcoding wählst, beim "ruckeln" betrifft das bitrate bzw. cq und beim Spulen eine zu große GOP.

Und acuh wenn Infuse ein Video nicht so recht mag, liegt es an diesen Punkten. Hinzu kommt möglocherweise noch ein falsches FourCC, was aber nichts mit videotoolbox zu tun hat.

Hardware-encoding mit videotoolbox läuft perfekt bei mir auf allen M-Macs. Ich mach das seit Jahren und habe auch zu videotoolbox im ffmpeg-Projekt ein kleinwenig mit beigetragen es zu patchen.
 
also ich öffne Avidemux und stell auf Videotoolbox H264, sollte das Video z.B. 8196kbps Videostream haben, was ich mit MediaInfo auslese, trage ich bei Max Bitrate diese Zahl ein und bei Bitrate etwas weniger z.B 8000. bei GOP Size steht 100 und kein Haken bei Allow B-frames. Dann lets go. Ach so ja Profile High. Audiospur steht meist auf Copy, aber sollten wie beim ZDF 5 Tonspuren drin sein entferne ich alle bis auf eine. Was könnte ich da ändern?
 
ich nutze avidemux nicht und kann dir daher nciht sagen, was die mit den eisntellungen genau meine.

Allerdings sieht das für mich so aus, als ob avidmeux lediglich bitrate-encoding mit videotoolbox unterstützt. Die Angabe von Mx und min Bitrate macht mit videotoolbox keinen Sinn, da es diese Parameter nicht so gibt. Man kann dort entweder eine konstante Bitrate setzen, oder eine avarage bitrate. Aber kein Minimum und kein Maximum. Auch das in vt enthaltene Data-Rate-Limit ist keine harte Grenze sondern eine zielmarke, die durchaus überschritten werden kann

Für mich sieht es so aus als ob avidemux das einfach fehlerhaft anspricht und so einen buffer underrun produziert. Das erklärt dann die Aussetzer, da einzelne Szenen gar nicht soviel bits haben, wie der Player erwartet.

Die GOP-Size von 100 bedeutet dann, dass alle 4 Sekunden bei einer 25fps TV-Aufnahme ein I-Frame gesetzt wird. Player spulen üblicherweise immer vonI-Frame zu I-Frame. Du springst also immer 4 Sekunden. und bei deiner hohen Bitrate, dauert dass dann jenach Netzwerkanbindung / - Protokoll auch noch, bis der Buffer wieder genügend bits hat.

Mein Tipp:

Deine Bitratenwahl ist eindeutig zu hoch. Es macht keinen Sinn die gleiche Bitrate zu verwenden, wie die Aufnahme. Dann kannst du gleich gar nicht transkodieren. Wenn die Quelle MPEG2 mit 8000 MBits ist, dann reichen bei h264 locker um die 4000/5000 MBits aus. Bei HEVC nochmals weniger so ca 3000 MBits. Und dann häätest du eine herivoragende Qualität.

Noch besser: verwende die Quality-Settings von videotoolbox und nicht eine feste Bitrate. avidemux kann das aber offensichtlich nicht.

Die GOP-Größe solltest du videotoolbox überlassen

B-Frames solltest du immer nutzen.

Und: Nimm lieber Handbrake. Die sprechen videotoolbox korrekt an. Als Qaulity-Setting ist sowas um die cq=60 der beste Startpunkt. Noch besser und vorallem flexibler wäre ffmpeg in Terminal.app. Aber das ist nichts für Einsteiger.
 
Also ich konvertiere auch schon seit jahren alles per Handbrake für meinen plexserver. Anfangs immer mit variabler bitrate, weil mir die feste qualität (CQ) immer zu unterschiedliche ergebnisse brachte (mal war ein 2h film hinterher fast 20GB groß, mal nur 3GB), bis ich irgendwann feststellte, dass diese unterschiede in der tonspur ihren ursprung hatten: AC3 oder AC3+ tonspuren nehmen da bspw nur ein paar hundert MB ein, ein HD Tonformat kann aber durchaus ein paar GB groß sein. Tlw größer als die Vidospur :D wenn man dann vll noch mehrere tonspuren (TrueHD und AC3 und vll noch die englische tonspur in HD Ton) im container läßt, kommen derart große dateien zustande :D

Seit ich das weiß bin ich vom CQ 45-50 auf CQ60 umgestiegen, aber großartige Qualitäts Unterschiede konnte ich da eigentlich nicht erkennen. Bei großen schwarzen flächen erkennt man manchmal ein paar klötzchen, aber die sind tlw auch beim original von der BD zu sehen! Also selbst bei CQ45 bin ich mit der Quali voll zufrieden (und ich bin da durchaus anspruchsvoll ;) ), aber das muss man vll selber bissel variieren. Bei einem Western wie „Erbarmungslos“ bspw, die eher ruhig verlaufen und wo viele Szenen quasi mit mehrsekündigen „Standbildern“ vorkommen reichen CQ45 locker aus, bei einem Actionkracher mit vielen Explosionen, wilden Kamerafahrten usw sind ein paar CQ mehr vll besser. Aber da das an der Dateigröße auch nicht mehr viel ändert kann man auch standardmäßig CQ60 verwenden.

Also versuch mal Handbrake. Die GUI wirkt zwar nicht unbedingt „intuitiv“ (auch weil es da gefühlt unendlich viele Parameter zu setzen gibt, was ich aber links liegen lasse), aber nach ein paar durchgängen findet man sich da durch. Wenn du magst kann ich dir mal mein Preset zusenden, wenn ich das hinkriege :D

Was ich allerdings iwie nich nicht hinbekommen habe, ist HB so zu konfigurieren, dass es tonspuren automatisch auf „Passthrough“ setzt. Aber das sind letztendlich auch nur 2 klicks, um das einzustellen.
 
Zurück
Oben Unten