Nach Rendern ist im mp4 eine Videospur zeitlich stark verzögert

Frank-Dietze schrieb am 03.03.2023 um 11:18 Uhr

Hallo Community,

ich habe ein Video Projekt mit 7 Spuren, davon 1 Audio-Spur, in Deluxe V.22.0.3.171 (UDP3) erstellt. DELL PC i7-2600 CPU 3.4GHz, 20 GB RAM, interne SSD, Windows 10 Home in aktuellster Version.
Eine Spur habe ich mit grafischen Elementen belegt, die ich an definierten Stellen im Video zeitweise einblenden lassen möchte.
Wenn ich das Projekt im Programmmonitor durchlaufen lasse funktioniert das. Die Einblendungen erscheinen exakt dann, wenn sie sollen.
Nach dem Rendern eines MPEG-4-Files, 2048x1152, Framerate 37,8101, 2D, 16:9, H.264, AAC Stereo, werden im Video (VLC und Quicktime) die Einblendungen jedoch erst mehrere Sekunden zu spät sichtbar.

Jemand eine Idee, wie ich das beheben kann?

Gruß,
Frank

Kommentare

vdl-user-v19 schrieb am 03.03.2023 um 12:36 Uhr

Framerate 37,8101

@Frank-Dietze,

Stammt die Angabe vom Ursprungsmaterial oder hast Du tatsächlich mit dieser ungewöhnlichen Framerate gerendert?

Zunächst könntest Du MediaInfo benutzen ,um erstmal festzustellen, ob es eine feste oder variable Framerate ist:

https://www.magix.info/de/tutorials/analyse-von-dateien-mit-mediainfo--932809/

Frank-Dietze schrieb am 03.03.2023 um 12:49 Uhr

Hallo vdl-user-v19,

Das Ursprungsmaterial sind Screen Recordings vom MacBook mit Quicktime. Daher wohl diese krumme FR. Die Einblendungen bestehen alle aus Grafiken im PNG oder JPG Format.

Hier die MediaInfo:

Allgemein
Vollständiger Name                      SPCS-Screen Recording.mov
Format                                   : MPEG-4
Format-Profil                            : QuickTime
Codec-ID                                 : qt   0000.00 (qt  )
Dateigröße                               : 454 MiB
Dauer                                    : 44 min 45s
Modus der Gesamtbitrate                  : variabel
Gesamte Bitrate                          : 1 418 kb/s
Kodierungs-Datum                         : UTC 2023-02-08 10:51:47
Tagging-Datum                            : UTC 2023-02-08 11:36:33
verwendete Encoder-Bibliothek            : Apple QuickTime
com.apple.quicktime.make                 : Apple
com.apple.quicktime.model                : MacBookAir9,1
com.apple.quicktime.software             : macOS 13.0.1 (22A400)
com.apple.quicktime.creationdate         : 2023-02-08T11:51:47+0100

Video
ID                                       : 1
Format                                   : AVC
Format/Info                              : Advanced Video Codec
Format-Profil                            : Main@L5
Format-Einstellungen                     : CABAC / 2 Ref Frames
Format-Einstellungen für CABAC           : Ja
Format-Einstellungen für RefFrames       : 2 frames
Format settings, GOP                     : M=2, N=60
Codec-ID                                 : avc1
Codec-ID/Info                            : Advanced Video Coding
Dauer                                    : 44 min 45s
Source duration                          : 44 min 45s
Bitraten-Modus                           : variabel
Bitrate                                  : 1 390 kb/s
maximale Bitrate                         : 768 kb/s
Breite                                   : 2 048 Pixel
Höhe                                     : 1 152 Pixel
Bildseitenverhältnis                     : 16:9
Modus der Bildwiederholungsrate          : variabel
Bildwiederholungsrate                    : 37,810 FPS
minimale Bildwiederholungsrate           : 2,609 FPS
maximale Bildwiederholungsrate           : 60,000 FPS
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scantyp                                  : progressiv
Bits/(Pixel*Frame)                       : 0.016
Stream-Größe                             : 445 MiB (98%)
Source stream size                       : 445 MiB (98%)
Titel                                    : Core Media Video
Kodierungs-Datum                         : UTC 2023-02-08 10:51:47
Tagging-Datum                            : UTC 2023-02-08 11:36:33
Color range                              : Limited
Color primaries                          : BT.709
Transfer characteristics                 : BT.709
Matrix coefficients                      : BT.709
Codec configuration box                  : avcC

//Frank

vdl-user-v19 schrieb am 03.03.2023 um 13:18 Uhr

Ok, da sieht man, dass das Material eine variable Framerate hat, was diverse Synchronisationsprobleme hervorrufen kann.

Wäre noch die Frage, welche Exporteinstellungen Du in Video deluxe gewählt hast (am besten Screenshot machen und hier einstellen) und wie die MediaInfo der von Video deluxe ausgegebenen MP4 sich darstellt.

Ich bin gerade nicht ganz im Bilde, wie gut mittlerweile Video deluxe 2023 mit variablen Framerates umgehen kann. Jedenfalls wäre ein Lösungsansatz, das Material auf eine konstante Framerate zu bringen und dann erst mit Video deluxe zu bearbeiten. (XMediaRecode und HandBrake sind da z.B. empfehlenswerte Converter, da sie keine weiteren Systemveränderungen am PC anrichten, wie viele andere Convertersoftware.)

Matthes2 schrieb am 03.03.2023 um 13:21 Uhr

Die Zeile
"Modus der Bildwiederholungsrate          : variabel"
zeigt, dass die Aufnahme mit VBR vorliegt. Versuche mal, das mit XMedia Recode oder Handbrake in eine feste Framerate (ich würde hier 60 nehmen) umzuwandeln und dann das Projekt damit aufbauen.
Bei den riesigen Unterschieden zwischen minimaler und maximaler Framerate (3,6 - 60 FPS) vermute ich stark, dass hier die Ursache liegt!

Von vorne herein zu sagen "geht nicht" gibt´s nicht, man hat es halt noch nicht (richtig) versucht!
VDL seit 2003/2004, derzeit VDL und Pro X in den jeweils aktuellen Patchleveln
PC: AMD Ryzen 7 5800X mit 32GB RAM, GeForce RTX3060 und genügend HDD-Kapazität; BS: Win 11 64 Bit Professional; Camera: Sony NEX VG 900 mit SELP 18200, SEL2870 und Leica R-Objektiven (21, 35, 50, 60, 80 - 200, 100 mit Balg und 350 mm); DJI Mini 4 Pro, DJI Pocket 2

Matthes2 schrieb am 03.03.2023 um 13:21 Uhr

@vdl-user-v19 👍Du warst etwas schneller!

Von vorne herein zu sagen "geht nicht" gibt´s nicht, man hat es halt noch nicht (richtig) versucht!
VDL seit 2003/2004, derzeit VDL und Pro X in den jeweils aktuellen Patchleveln
PC: AMD Ryzen 7 5800X mit 32GB RAM, GeForce RTX3060 und genügend HDD-Kapazität; BS: Win 11 64 Bit Professional; Camera: Sony NEX VG 900 mit SELP 18200, SEL2870 und Leica R-Objektiven (21, 35, 50, 60, 80 - 200, 100 mit Balg und 350 mm); DJI Mini 4 Pro, DJI Pocket 2

vdl-user-v19 schrieb am 03.03.2023 um 13:55 Uhr

Falls es viel Material ist bzw. die Zeit eine Rolle spielt, kann man z.B. je nach Möglichkeiten der vorhandenen Grafikkarte auch mit HandBrake die Hardwarebeschleunigungen (Nvidia NVEnc, Intel QSV oder AMD VCN) beim Konvertieren nutzen.

 

Frank-Dietze schrieb am 08.03.2023 um 11:52 Uhr

Zunächst meinen Dank für eure Tipps.

Ich habe mit Handbrake die Source Clips auf eine Framerate von 60 transcodiert und diese neuen Clips in mein Projekt importiert. Dann alles neu geschnitten und die alten Clips entfernt.
Testhalber habe ich das Projekt dann erneut als MPEG-4 gerendert und mir das Ergebnis in Quicktime und VLC angesehen. Leider hat sich zu vorher rein gar nichts geändert! Die Inserts (alles *png Bilder)über dem Hauptvideo kommen noch immer um mehrere Sekunden zeitversetzt zu spät. Im Projektmonitor erscheinen sie an den gewünschten Zeitpunkten.

Hier die Mediainfo des FR60 transcodierten Hauptclips:

Recording BR60-2nd try.mp4
Format                                   : MPEG-4
Format-Profil                            : Base Media / Version 2
Codec-ID                                 : mp42 (mp42/iso2/avc1/mp41)
Dateigröße                               : 69,1 MiB
Dauer                                    : 1 h 30 min
Gesamte Bitrate                          : 107 kb/s
Kodierungs-Datum                         : UTC 2023-03-06 07:29:38
Tagging-Datum                            : UTC 2023-03-06 07:29:38
Kodierendes Programm                     : HandBrake 1.6.1 2023012300

Video
ID                                       : 1
Format                                   : AVC
Format/Info                              : Advanced Video Codec
Format-Profil                            : Main@L4
Format-Einstellungen                     : CABAC / 2 Ref Frames
Format-Einstellungen für CABAC           : Ja
Format-Einstellungen für RefFrames       : 2 frames
Codec-ID                                 : avc1
Codec-ID/Info                            : Advanced Video Coding
Dauer                                    : 1 h 30 min
Bitrate                                  : 102 kb/s
Breite                                   : 1 850 Pixel
Höhe                                     : 1 204 Pixel
Bildseitenverhältnis                     : 3:2
Modus der Bildwiederholungsrate          : konstant
Bildwiederholungsrate                    : 60,000 FPS
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scantyp                                  : progressiv
Bits/(Pixel*Frame)                       : 0.001
Stream-Größe                             : 66,3 MiB (96%)
verwendete Encoder-Bibliothek            : x264 core 164 r3100 ed0f7a6
Kodierungseinstellungen                  : cabac=1 / ref=2 / deblock=1:0:0 / analyse=0x1:0x111 / me=hex / subme=6 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=0 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=12 / lookahead_threads=2 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=3 / b_pyramid=0 / b_adapt=1 / b_bias=0 / direct=1 / weightb=1 / open_gop=0 / weightp=1 / keyint=600 / keyint_min=60 / scenecut=40 / intra_refresh=0 / rc_lookahead=30 / rc=crf / mbtree=1 / crf=22.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / vbv_maxrate=20000 / vbv_bufsize=25000 / crf_max=0.0 / nal_hrd=none / filler=0 / ip_ratio=1.40 / aq=1:1.00
Kodierungs-Datum                         : UTC 2023-03-06 07:29:38
Tagging-Datum                            : UTC 2023-03-06 07:29:38
Color range                              : Limited
Color primaries                          : BT.709
Transfer characteristics                 : BT.709
Matrix coefficients                      : BT.709
Codec configuration box                  : avcC

Hat noch jemand eine Idee?

Ich werde noch 2 Dinge probieren:

1. den Source Clip erneut transcodieren, als 2160p 4k UltraHD mit MPEG-4 30fps,

2. export der einzelnen Spuren aus Magix als *mp4 und import in iMovie auf dem Mac. Will mal sehen, wie sich das verhält.

Frank-Dietze schrieb am 08.03.2023 um 11:59 Uhr

Noch eine Info:

nach dem Re-Import der FR60 Clips in Magix wird der Clip am Ende um einige Sekunden abgeschnitten. Wenn ich mir das File in VLC ansehe, passt es aber. Das Video geht bis zum Ende.
Im Projektmonitor, und auch in der Einzelspur fehlen aber etwa 10 Sekunden am Schluss. Ich habe es mehrmals mit erneutem Import versucht, ohne Besserung.

vdl-user-v19 schrieb am 08.03.2023 um 12:47 Uhr

Ich hätte gedacht, dass Du das Ursprungsmaterial in constante Framerate - Clips wandelst, diese in Vdl importierst und dann - mit eben jetzt diesen 'gleichmäßigen' Clips - in Vdl das Setzen der Grafiken neu vornehmen müsstest. Das augenscheinliche Fehlen von Frames könnte man sich evtl. eben durch die Umwandlung halbwegs erklären, da ja das Quellmaterial mit 2.6 - 60 fps recht große Veränderungen aufweisen kann.

Reine Player-Software gleicht so etwas dann irgendwie aus, soweit ich weiß, und ist nicht so richtig mit der Verarbeitung in einem Schnittprogramm vergleichbar.

Frank-Dietze schrieb am 08.03.2023 um 13:39 Uhr

Ich hätte gedacht, dass Du das Ursprungsmaterial in constante Framerate - Clips wandelst, diese in Vdl importierst und dann - mit eben jetzt diesen 'gleichmäßigen' Clips - in Vdl das Setzen der Grafiken neu vornehmen müsstest. ...

Sorry, wenn ich das nicht deutlich rüber gebracht habe, aber genau das habe ich gemacht.

"Modus der Bildwiederholungsrate          : konstant
Bildwiederholungsrate                    : 60,000 FPS"

vdl-user-v19 schrieb am 08.03.2023 um 14:03 Uhr

Ok, war mir bloß hinsichtlich der Neubearbeitung des Projektes nicht sicher.

Hm, seltsam, dass da immer noch ein so großer Versatz eintritt.

Da das Quellmaterial durchschnittlich mit ca. 37,810 fps ausgewiesen ist, könnte Deine Idee mit 30 fps vielleicht noch etwas nützen.

Wie sieht es eigentlich mit der Hardware aus?

Welche Grafikkarte nebst Treiberstand ist denn im Einsatz und welche Einstellungen hast Du in Vdl 2023 bei der Hardwarebeschleunigung aktiv?

(Menü Datei > Einstellungen > Programm > Geräteoptionen >Import / Verarbeitung / Export<)

Frank-Dietze schrieb am 08.03.2023 um 16:00 Uhr

Mit dem neu importierten Clip mit 30fps, und entsprechender Änderung in Vdl, sind im gerenderten Video die Inserts an den gewünschten Stellen.

Videoausgabe auf Gerät Monitor 1 @ NVIDIA GeForce GTX 750 Ti
Frage: das Kästchen bei Videoausgabe aktiviert ist nicht gesetzt, soll das?

Hardwarebeschleunigung: überall NVIDIA GeForce GTX 750 Ti

Ich habe in den letzten 6 Jahren etwa 40 Videos mit dem System erstellt und noch nie dieses Problem gehabt.
Das System ist seit Jahren technisch unverändert. Alle Treiber sind auf dem jeweils letzten Stand.

vdl-user-v19 schrieb am 08.03.2023 um 16:16 Uhr

Gut. Hinsichtlich Hardware: Video deluxe 2023 stellt etwas höhere Hardwareanforderungen eben für die hardwarebeschleunigte Verarbeitung und Ausgabe. Könnte daher evtl. sein, dass Probleme erst seit dessen Nutzung auffallen. Die Grafikkarte liegt unter den empfohlenen Voraussetzungen für Vdl 2023 und die CPU ist halt eine recht alte Intel-Generation (2.)

Weiß gerade auch gar nicht, wofür die Checkbox "Videoausgabe aktiviert" da ist, jedenfalls ist sie bei mir auch nicht angehakt.

Mir ging es nur darum, ob Du hardwarebeschleunigt arbeitest und renderst, oder die 3 Geräteoptionen auf CPU stehen hattest.

Die 750 Ti kann ja soweit hardwarebescheunigt H.264 de- und encodieren, wenn man allerdings dann H.265 nutzen will (das kann die 750 Ti nicht hardwarebeschleunigt), höher aus FullHd-Auflösung gehen will oder auch höhere Frameraten nutzt usw., wird es dann, denke ich, schon grenzwertig.

In den Magix-Angaben zur empf. Hardwarevoraussetz. für Vdl 2023 und gewissen Hinweisen aus dem Forum, ist z.B. bei Nvidia erst die GTX 1060 als geeignet anzusehen.

Ach, jetzt sehe ich gerade die o.g. Checkbox hat die Überschrift "Videoausgabe auf externes Gerät", also wird das wohl für einen optional 2. Bildschirm oder so dasein.

Frank-Dietze schrieb am 09.03.2023 um 15:34 Uhr

Gut. Hinsichtlich Hardware: Video deluxe 2023 stellt etwas höhere Hardwareanforderungen eben für die hardwarebeschleunigte Verarbeitung und Ausgabe. Könnte daher evtl. sein, dass Probleme erst seit dessen Nutzung auffallen. Die Grafikkarte liegt unter den empfohlenen Voraussetzungen für Vdl 2023 und die CPU ist halt eine recht alte Intel-Generation (2.)

Dieser Überlegung könnte ich folgen, wenn es darum ginge in Echtzeit zu rendern und abzuspielen. Da kann ich nachvollziehen, dass es eine entsprechend performante Hardware benötigt. Da ist mein 10 Jahre alter DELL natürlich limitiert.
Aber beim Rendern in ein File sehe ich das eigentlich nicht. Dauert eben das Rendern die mehrfache Filmlänge - was solls?

Interessanterweise ist ja beim Abspielen im Programmmonitor von Vdl alles gut, im gerenderten File jedoch nicht.

Nach der Transcodierung mit 30 fps als MPEG-4 in UHD ist leider die Bildqualität deutlich schlechter (kontrastärmer, Unschärfe) , wie in den Original Clips und in der 60fps HD. Außerdem kann ich wohl keine *mp4 in iMovie importieren, welches ich als Workaround versuchen will. Ich muss also noch etwas herumprobieren.

vdl-user-v19 schrieb am 09.03.2023 um 16:26 Uhr

Da das Encodieren ja lt. Deinen Einstellungen über die Grafikkarte durchgeführt wird, könnte ich mir halt vorstellen, dass es da gewisse 'Engpässe' oder so geben könnte.

Was evtl. noch eine Probier-Möglichkeit wäre, wenn Dir die Renderzeit ohnehin nicht so wichtig ist:

die Export-Einstellung in den Geräteoptionen mal anstelle der Grafikkarte auf CPU stellen, und damit einen 60 fps - Clip über die CPU rendern.