Avidemux Forum

Non-English => Avidemux-German => Topic started by: Tiger-Fun on December 31, 2021, 07:13:42 PM

Title: I-Frames werden nur alle 3 Sekunden angezeigt
Post by: Tiger-Fun on December 31, 2021, 07:13:42 PM
Hallo, ich habe folgende Frage.
Das Quellmaterial das ich schneiden will hat ein GOP von 30 bei ebenfalls 30 Frames pro Sekunde. Also müßte ja auch jede Sekunde ein I-Frame erstellt werden an dem ich schneiden kann (in LosslesCut wird mir auch jede Sekunde ein I-frame angezeigt).

Wenn ich das Video jedoch in avidemux einlese kannn ich mit den Schnitttasten immer nur in 3 Sekunden Intervallen vor und zurückspringen um zu schneiden.

Muß mich noch was umstellen um sekundengenau schneiden zu können?
Danke schon mal für die Unterstützung
Title: Re: I-Frames werden nur alle 3 Sekunden angezeigt
Post by: eumagga0x2a on January 01, 2022, 10:04:28 PM
Quote from: Tiger-Fun on December 31, 2021, 07:13:42 PMWenn ich das Video jedoch in avidemux einlese kannn ich mit den Schnitttasten immer nur in 3 Sekunden Intervallen vor und zurückspringen um zu schneiden.

Geht es um Version 2.8.0 von Avidemux? Wenn es nicht die aktuelle 2.8.0 ist, bitte zuallererst auf 2.8.0 aktualisieren – ältere Versionen werden nicht mehr unterstützt.

Wenn es sich um Avidemux unter Windows handelt, bitte admlog.txt aus %localappdata%\avidemux\ vom Laden dieses Videos an die Antwort anhängen.

Quote from: Tiger-Fun on December 31, 2021, 07:13:42 PMMuß mich noch was umstellen um sekundengenau schneiden zu können?

Wenn die GOP-Länge 30 ist und FPS ~30 Bilder pro Sekunde beträgt und der Encoder keinen Open-GOP-Stream erzeugt (ich gehe von H.264 oder HEVC aus), so dass alle Keyframes IDR sind, sollte Avidemux im Kopiermodus sekundengenau schneiden können.
Title: Re: I-Frames werden nur alle 3 Sekunden angezeigt
Post by: Tiger-Fun on January 02, 2022, 01:12:03 PM
Ja, es geht um die Version 2.8.
Quelldatei ist mp4.
Admlog.txt ist angehängt.

Nebenbei - wenn ich die Datei mit Avidemux 2.7.1 öffne, werden mir P-Frames mit sekundengenauem Schnitt angeboten.

Danke für die Unterstützung
Title: Re: I-Frames werden nur alle 3 Sekunden angezeigt
Post by: eumagga0x2a on January 02, 2022, 02:30:53 PM
Der Hauptunterschied zwischen alten Versionen (vor 2.7.8, wenn ich mich nicht irre) und 2.8.0 beim Öffnen von MP4-Dateien mit H.264-komprimiertem Video besteht darin, dass sich alte Versionen auf die Informationen vom Container verließen, während die neuen Slice Headers von allen Frames dekodieren, um den Typ von jedem Frame genau zu bestimmen (alte Versionen konnten nicht zwischen P- und B-Frames in MP4 unterscheiden, was für Copy Mode ein Problem darstellte).

Falls die Funktion, die diese Analyse durchführt, fehlerhaft arbeitet, können dabei auch falsche Typbestimmungen herauskommen :-) Sofern das Video harmlos und nicht von intimer Natur ist, bitte ein kurzes (~1 Minute lang) Sample vom Video über WeTransfer, Mega, Dropbox oder Google Drive bereitstellen, damit ich dies überprüfen kann. Es sollte reichen, ein Stückchen im Kopiermodus (gerne ohne Audio) zu exportieren.
Title: Re: I-Frames werden nur alle 3 Sekunden angezeigt
Post by: eumagga0x2a on January 02, 2022, 02:38:10 PM
Übrigens, die Statistik vom Dekodieren der ersten 100 Frames

[ADM_Composer::addFile] 12:49:45-779 H264 sometimes has invalid timestamps which confuse avidemux, checking

(Unwichtige Meldungen gelöscht)

[ADM_Composer::checkForValidPts] 12:49:46-422 -------- Stats :----------
[ADM_Composer::checkForValidPts] 12:49:46-422 nbBFrames:0
[ADM_Composer::checkForValidPts] 12:49:46-422 nbPFrames:97
[ADM_Composer::checkForValidPts] 12:49:46-422 nbIFrames:1
[ADM_Composer::checkForValidPts] 12:49:46-422 nbNoImage:2
[ADM_Composer::checkForValidPts] 12:49:46-422 nbPtsgoingBack:0
[ADM_Composer::checkForValidPts] 12:49:46-422 -------- /Stats ----------

legt den Schluss nahe, dass der Abstand von mindestens 100 Frames zwischen Keyframes der Realität entspricht.
Title: Re: I-Frames werden nur alle 3 Sekunden angezeigt
Post by: Tiger-Fun on January 03, 2022, 09:27:48 AM
Laut dem Techniker der die Aufnahme steuert, erlaubt die Kamera/Software keine direkt Einstellung des I-Frams sondern bietet GOP 30 als Voreinstellung an.

Einen ca. 1 Minuten langen Schnipsel aus dem Vdeo findest du hier:
https://drive.google.com/file/d/10AvwJiRLyVZF-Wv0GxBUXCdGnaDRFLS6/view?usp=sharing

Das Stück mußte ich mit Avidemux 2.7.8 schneiden da bei 2.8 zu einen heftigen Bild/Ton Versatz kommt.
Title: Re: I-Frames werden nur alle 3 Sekunden angezeigt
Post by: eumagga0x2a on January 03, 2022, 11:27:49 AM
Danke, jetzt wird einiges klarer. IDR-Frames, die einzig für sauberen Schnitt geeignet sind, liegen in diesem H.264 Stream 3 Sekunden voneinander entfernt. Allerdings gibt es zwischendurch auch Nicht-IDR-Frames, die Informationen (SPS und PPS NALUs) beinhalten, um von denen die Dekodierung zu starten. Sie werden nicht als Keyframes anerkannt weil die dafür erforderlichen SEI NALUs im Stream komplett fehlen. Wenn der H.264 Encoder in der Kamera nicht dazu gebracht werden kann, SEI zu generieren und auch in den Stream einzufügen, sind diese Hätte-sein-können-Keyframes leider völlig nutzlos.

Quote from: Tiger-Fun on January 03, 2022, 09:27:48 AMDas Stück mußte ich mit Avidemux 2.7.8 schneiden da bei 2.8 zu einen heftigen Bild/Ton Versatz kommt.

Das kann ich mit dem Sample nachvollziehen. Die Ursache ist dass der H.264 Stream keine Timing-Informationen beinhalten während die Bildrate der Kamera wild schwankt. Bei Matroska versucht Avidemux, dahinter eine Standard-Bildfrequenz zu erraten, was hier leider auch gelingt :-D

Avidemux 2.7.8 ist einfach schlechter im FPS-Raten, was in diesem Problemfall von Vorteil (und überall sonst von massivem Nachteil) ist.

Das Neukodieren mit dem "Bildfrequenz ändern"-Filter von NTSC (29,97 FPS) nach 30 FPS erzeugt beim Speichern mit dem MP4 Muxer ein gut synchronisiertes mp4 Video.
Title: Re: I-Frames werden nur alle 3 Sekunden angezeigt
Post by: Tiger-Fun on January 04, 2022, 10:09:47 AM
Danke für die Rückmeldung, werde mit dm Techniker mal sprechen was das seitens der Kamera/Software machbar ist.
Title: Re: I-Frames werden nur alle 3 Sekunden angezeigt
Post by: eumagga0x2a on January 04, 2022, 02:45:23 PM
Ich würde schlicht und einfach das Originalvideo mit dem "Resample FPS" Filter ohne Interpolation und 30 FPS als Zielfrequenz mit gewünschten Einstellungen im Bezug auf Qualität und GOP-Länge mit x264 neu kodieren. Die gute visuelle Qualität des Materials sorgt meines Erachtens für die nötige Reserve.
Title: Re: I-Frames werden nur alle 3 Sekunden angezeigt
Post by: Tiger-Fun on January 05, 2022, 09:51:09 AM
Ja, ist sicher eine Möglichkeit. Wobei gerade die Möglichkeit zu schneiden ohne neu zu codieren zu müssen für mich nicht unwichtig ist (Zeitfaktor, geschnittenes Video nach Aufzeichung zeitnah online, max 4 Wochen online - dann weg).
Title: Re: I-Frames werden nur alle 3 Sekunden angezeigt
Post by: eumagga0x2a on January 05, 2022, 10:34:59 AM
Dann sollte man IMHO an der Quelle ansetzen und in eine andere Kamera investieren. Zum Beispiel, die populäre Lumix DC-GH5 erzeugt einwandfreie H.264 Streams mit konstanter Bildrate, die problemlos im Kopiermodus geschnitten werden können. Was für Erzeugnis zeichnet sich für diesen, streng genommen kaputten H.264 Stream verantwortlich?
Title: Re: I-Frames werden nur alle 3 Sekunden angezeigt
Post by: Tiger-Fun on January 05, 2022, 04:02:13 PM
Ich frag den Techniker mal nach Hersteller bzw. Typenbezeichnung.
Title: Re: I-Frames werden nur alle 3 Sekunden angezeigt
Post by: Tiger-Fun on January 05, 2022, 04:37:05 PM
Vom Techniker folgende Info erhalten:
"Kamera eine Sony SRG-300H (verwendet wird der HDMI Ausgang).
Das Encoding, Recording und Streaming wird von einem Extron SMP 111 erledigt."
Title: Re: I-Frames werden nur alle 3 Sekunden angezeigt
Post by: Tiger-Fun on January 17, 2022, 09:56:44 AM
So, nachdem der Techniker die neuste Firmware aufgespielt hat, in der man nun die I-Frame auf 1 Sekunde setzen kann, klappt das mit dem Sprung und Schnitt in 1 Sekunden Intervallen problemlos. Jedoch nur in der Version 2.78 - bei Version 2.8 ist Bild und Ton (nach dem einlesen in AVIdemux) nicht mehr synchron.

Title: Re: I-Frames werden nur alle 3 Sekunden angezeigt
Post by: eumagga0x2a on January 17, 2022, 04:40:05 PM
Quote from: Tiger-Fun on January 05, 2022, 04:37:05 PMDas Encoding, Recording und Streaming wird von einem Extron SMP 111 erledigt."

Sorry, habe deine Antwort von vor zwei Wochen erst jetzt bemerkt. Sehr interessant. Ein Profi-Gerät, Schrott als Ergebnis. Vermutlich würde ein starker Rechner mit OBS drauf das Problem lösen und dabei weniger kosten.

Quote from: Tiger-Fun on January 17, 2022, 09:56:44 AMJedoch nur in der Version 2.78 - bei Version 2.8 ist Bild und Ton (nach dem einlesen in AVIdemux) nicht mehr synchron.

Gleich beim Öffnen von MP4-Dateien, die SMP 111 erzeugt? Oder erst nach dem Remuxen zu MKV? Anscheinend hat die aktuelle Firmware weder das Problem der fehlenden Zeitbasis im H.264-Stream noch das der schwankenden Bildrate gelöst.
Title: Re: I-Frames werden nur alle 3 Sekunden angezeigt
Post by: Tiger-Fun on January 21, 2022, 02:53:05 PM
Quote from: eumagga0x2a on January 17, 2022, 04:40:05 PM
Quote from: Tiger-Fun on January 05, 2022, 04:37:05 PMDas Encoding, Recording und Streaming wird von einem Extron SMP 111 erledigt."

Gleich beim Öffnen von MP4-Dateien, die SMP 111 erzeugt? Oder erst nach dem Remuxen zu MKV? Anscheinend hat die aktuelle Firmware weder das Problem der fehlenden Zeitbasis im H.264-Stream noch das der schwankenden Bildrate gelöst.

In der mir angelieferte MP4 Datei ist Bild und Ton beim Abspielen mit VLC völlig in Ordnung. Erst nach dem Import in avidemux laufen Bild und Ton sowohl in der Vorschau als auch in der neu gemuxter Datei auseinander.
Title: Re: I-Frames werden nur alle 3 Sekunden angezeigt
Post by: eumagga0x2a on January 21, 2022, 06:40:07 PM
Quote from: Tiger-Fun on January 21, 2022, 02:53:05 PM[...] nach dem Import in avidemux laufen Bild und Ton [..] in der Vorschau [...] auseinander.

Dann wäre es sehr wichtig so eine Original-MP4-Datei (möglichst kompakt, natürlich) als Sample zu erhalten.
Title: Re: I-Frames werden nur alle 3 Sekunden angezeigt
Post by: Tiger-Fun on January 22, 2022, 11:47:16 AM
Link zur unbearbeiteten Datei:
https://drive.google.com/file/d/1okAYAkFACcd5_aSQWG8ZQ4_WW2Hy_bQ7/view?usp=sharing
Title: Re: I-Frames werden nur alle 3 Sekunden angezeigt
Post by: eumagga0x2a on January 22, 2022, 04:57:12 PM
Danke, bei mir sind Bild und Ton beim Abspielen dieses nicht gerade kompakten Samples perfekt synchron, auch nach dem Export eines Ausschnitts im Kopiermodus als MP4 und als MKV – nach dem Laden der erzeugten Datei, natürlich.

Zeitangaben im H.264-Stream fehlen nach Firmware-Update weiterhin, dafür sind alle Keyframes nun IDR, daher funktioniert die Navigation wie gewünscht auch ohne SEI-NALUs.

Welche Videoanzeige verwendest du in Avidemux? Hoffentlich nicht "Qt"? Bei "Qt" malt die CPU jedes Pixel aufs Bildschirm, diese Schnittstelle dient als Fallback für den Fall, dass alles andere versagt. Bitte mit "DXVA2" und "OpenGL" versuchen. Ebenfalls sollte in Avidemux entweder Dekodierung von Video in Hardware (DXVA2) oder alternativ Multithreading in libavcodec aktiviert werden.
Title: Re: I-Frames werden nur alle 3 Sekunden angezeigt
Post by: Tiger-Fun on January 23, 2022, 11:14:25 AM
Danke für die Unterstützung.
Das Problem scheint das (irrtümlich) für die Dekodierung nicht aktivierte DXVA2 gewesen zu sein, alle anderen Parameter waren schon passend gesetzt.

Grüße
Title: Re: I-Frames werden nur alle 3 Sekunden angezeigt
Post by: eumagga0x2a on January 23, 2022, 12:11:22 PM
Quote from: Tiger-Fun on January 23, 2022, 11:14:25 AMDas Problem scheint das (irrtümlich) für die Dekodierung nicht aktivierte DXVA2 gewesen zu sein

Ich würde aus diesem Anlass die Notwendigkeit einer derart hohen Bildwiederholrate hinterfragen. Für schnelle Sportarten oder für Naturaufnahmen mit vielen Schwenks sind 60 Bilder pro Sekunde sicherlich gut, aber für durchweg statische Szenen wie hier völlig unnötig und eine große Speicherplatz- und Bandbreitenverschwendung. Wenn die Kamera das zulässt, würde ich auf 25 fps runtergehen.
Title: Re: I-Frames werden nur alle 3 Sekunden angezeigt
Post by: Tiger-Fun on January 23, 2022, 05:12:13 PM
Laut meinen Infos wird mit 29,97 FPS aufgezeichent, ob da die Reduktion auf 25 FPS sowiel bringt?
Title: Re: I-Frames werden nur alle 3 Sekunden angezeigt
Post by: eumagga0x2a on January 23, 2022, 05:23:03 PM
Oops, da habe ich zwei Samples durcheinandergebracht. Klar, beim Sample liegt FPS bei ungefähr 29,97 – mit konstanter Bildwiederholrate hätte man 30000/1001 benutzt. Auf 25 FPS runterzugehen würde nur ~17% Einsparung bringen.

Aus dem Avidemux-Log:

[parseStbl] 17:17:27-711  [STSD] VIDEO avc1, size 173
[STSD] vendor
[STSD] width :1920
[STSD] height :1080
[STSD] datasize :0
[STSD] FrameCount :1
Codec string :0 <>
LEFT:87
Reading avcC, got avcC
avcC size:79
avcC Revision             :1
avcC AVCProfileIndication :64
avcC profile_compatibility:0
avcC AVCLevelIndication   :29
avcC lengthSizeMinusOne   :ff
avcC NumSeq               :e1
avcC sequenceParSetLen    :40
 0000 : 'd.)...Eb..Tq...   27 64 00 29 ad 84 05 45 62 b8 ac 54 71 08 0a 8a
 0010 : .qX...$.!9<.'..O   c5 71 58 a8 e2 10 24 85 21 39 3c 9f 27 e4 fe 4f
 0020 : ..y..M..B...O...   c9 f2 79 b9 b3 4d 08 12 42 90 9c 9e 4f 93 f2 7f
 0030 : '..<....*.....l.   27 e4 f9 3c dc d9 a6 1b 2a 01 e0 08 9f 96 6c 04
avcC numOfPictureParSets  :1
avcC Pic len              :4

 0000 : .(..               04 28 fe 1e
 [extractSPSInfo_mp4Header] 17:17:27-722  Parser created
 [extractSPSInfo_mp4Header] 17:17:27-725  Codec created
 [extractSPSInfo_mp4Header] 17:17:27-780  Context created, ticks_per_frame = 2
Used bytes 0/79 (+5)
[H264] No timing information
Taking crop into account, left: 0, right: 0, top: 0, bottom: 8
 [extractSPSInfo_mp4Header] 17:17:27-805  Width2 : 1920
 [extractSPSInfo_mp4Header] 17:17:27-805  Height2: 1080
 [extractSPSInfo] 17:17:27-805  width:1920
 [extractSPSInfo] 17:17:27-805  height:1080
 [extractSPSInfo] 17:17:27-805  fps1000:0
 [extractSPSInfo] 17:17:27-805  hasStructInfo:0
 [extractSPSInfo] 17:17:27-805  hasPocInfo:1
 [extractSPSInfo] 17:17:27-805  CpbDpbToSkip:0
 [extractSPSInfo] 17:17:27-805  log2MaxFrameNum:16
 [extractSPSInfo] 17:17:27-805  log2MaxPocLsb:8
 [extractSPSInfo] 17:17:27-805  frameMbsOnlyFlag:1
 [extractSPSInfo] 17:17:27-805  darNum:0
 [extractSPSInfo] 17:17:27-805  darDen:1
 [parseStbl] 17:17:27-805  stts:0
 [parseStbl] 17:17:27-805  Time stts atom found (157662)
 [parseStbl] 17:17:27-805  Using myscale 30000
 [parseStbl] 17:17:27-887  Stss:5261
 [parseStbl] 17:17:27-926  0 frames /157662 nbsz..
 [parseStbl] 17:17:27-939  nbCo: 153211
 [indexify] 17:17:27-974  Build Track index, track timescale: 30000
 [indexify] 17:17:27-989  Histogram map has 110 elements.
Frame duration 930 count: 1
Frame duration 934 count: 1
Frame duration 943 count: 1
Frame duration 947 count: 1
Frame duration 952 count: 3
Frame duration 953 count: 1
Frame duration 956 count: 2
Frame duration 958 count: 1
Frame duration 960 count: 1
Frame duration 962 count: 3
Frame duration 963 count: 1
Frame duration 964 count: 1
Frame duration 965 count: 7
Frame duration 966 count: 1
Frame duration 967 count: 5
Frame duration 968 count: 7
Frame duration 969 count: 7
Frame duration 970 count: 7
Frame duration 971 count: 6
Frame duration 972 count: 12
Frame duration 973 count: 7
Frame duration 974 count: 13
Frame duration 975 count: 25
Frame duration 976 count: 23
Frame duration 977 count: 26
Frame duration 978 count: 38
Frame duration 979 count: 38
Frame duration 980 count: 32
Frame duration 981 count: 43
Frame duration 982 count: 56
Frame duration 983 count: 67
Frame duration 984 count: 107
Frame duration 985 count: 124
Frame duration 986 count: 115
Frame duration 987 count: 165
Frame duration 988 count: 157
Frame duration 989 count: 187
Frame duration 990 count: 169
Frame duration 991 count: 214
Frame duration 992 count: 280
Frame duration 993 count: 508
Frame duration 994 count: 1340
Frame duration 995 count: 9178
Frame duration 996 count: 21003
Frame duration 997 count: 3770
Frame duration 998 count: 1137
Frame duration 999 count: 818
Frame duration 1000 count: 1514
Frame duration 1001 count: 5315
Frame duration 1002 count: 42512
Frame duration 1003 count: 55952
Frame duration 1004 count: 7214
Frame duration 1005 count: 1685
Frame duration 1006 count: 676
Frame duration 1007 count: 435
Frame duration 1008 count: 336
Frame duration 1009 count: 308
Frame duration 1010 count: 297
Frame duration 1011 count: 279
Frame duration 1012 count: 230
Frame duration 1013 count: 176
Frame duration 1014 count: 137
Frame duration 1015 count: 114
Frame duration 1016 count: 87
Frame duration 1017 count: 86
Frame duration 1018 count: 75
Frame duration 1019 count: 72
Frame duration 1020 count: 70
Frame duration 1021 count: 59
Frame duration 1022 count: 48
Frame duration 1023 count: 32
Frame duration 1024 count: 23
Frame duration 1025 count: 20
Frame duration 1026 count: 17
Frame duration 1027 count: 23
Frame duration 1028 count: 18
Frame duration 1029 count: 18
Frame duration 1030 count: 20
Frame duration 1031 count: 15
Frame duration 1032 count: 6
Frame duration 1033 count: 7
Frame duration 1034 count: 5
Frame duration 1035 count: 3
Frame duration 1036 count: 3
Frame duration 1037 count: 6
Frame duration 1038 count: 4
Frame duration 1039 count: 2
Frame duration 1040 count: 3
Frame duration 1043 count: 3
Frame duration 1044 count: 1
Frame duration 1045 count: 1
Frame duration 1046 count: 1
Frame duration 1047 count: 2
Frame duration 1048 count: 3
Frame duration 1049 count: 4
Frame duration 1055 count: 1
Frame duration 1058 count: 1
Frame duration 1065 count: 1
Frame duration 1077 count: 1
Frame duration 1110 count: 1
Frame duration 1120 count: 1
Frame duration 1124 count: 2
Frame duration 1125 count: 9
Frame duration 1126 count: 10
Frame duration 1127 count: 2
Frame duration 1132 count: 2
Frame duration 1141 count: 1
Frame duration 1149 count: 1
Frame duration 1167 count: 1
Frame duration 1199 count: 1
 [indexify] 17:17:27-995  Video index done.
 [indexify] 17:17:27-995  Setting video timebase to 1 / 30000
 [indexify] 17:17:27-995  Variable frame rate, 33367 us per frame on average.
 [parseStbl] 17:17:27-995  Movie duration = 5260745
 [parseStbl] 17:17:27-995  # images = 157662
 [parseStbl] 17:17:27-995  Avg fps 29969,519531