2.7.5 geht bei schwierigem Video noch, darüber hinaus nicht mehr.

Started by Strunz, December 13, 2020, 10:41:15 AM

Previous topic - Next topic

eumagga0x2a

Bitte die *.idx2-Datei wieder löschen, die TS-Datei laden, dann Avidemux beenden und admlog.txt an die Antwort anhängen.

Strunz

Okay, hab vorher nochmal alle avidemux-Ordner in appdata gelöscht.

eumagga0x2a

Hier passiert es:

[checkForValidPts] 18:47:29-160 Checking file for broken PTS...
[checkForValidPts] 18:47:29-160 Checking 100 frames out of 19975.
[tsDemux] Wanted frame 1, going back to frame 0, last frame was 13,
[adm_lavLogCallback] 18:47:29-166 [lavc] reference count overflow
[adm_lavLogCallback] 18:47:29-166 [lavc] decode_slice_header error
[adm_lavLogCallback] 18:47:29-166 [lavc] no frame!
[adm_lavLogCallback] 18:47:29-179 [lavc] illegal modification_of_pic_nums_idc 7
[adm_lavLogCallback] 18:47:29-179 [lavc] decode_slice_header error
[adm_lavLogCallback] 18:47:29-179 [lavc] no frame!
[adm_lavLogCallback] 18:47:29-180 [lavc] illegal modification_of_pic_nums_idc 7
[adm_lavLogCallback] 18:47:29-181 [lavc] decode_slice_header error
[adm_lavLogCallback] 18:47:29-181 [lavc] no frame!
[adm_lavLogCallback] 18:47:29-183 [lavc] Reference 3 >= 2
[adm_lavLogCallback] 18:47:29-183 [lavc] error while decoding MB 1 0, bytestream 22463
[adm_lavLogCallback] 18:47:29-184 [lavc] reference count overflow
\00C, 8160 MV errors in B frame
[adm_lavLogCallback] 18:47:29-184 [lavc] reference count overflow
[adm_lavLogCallback] 18:47:29-184 [lavc] decode_slice_header error
[adm_lavLogCallback] 18:47:29-184 [lavc] no frame!
[DecodeNextPicture] 18:47:29-204 >>>>> PTS going backward by 360 ms
[DecodeNextPicture] 18:47:29-205 Dropping frame!
[DecodeNextPicture] 18:47:29-207 >>>>> PTS going backward by 360 ms
[DecodeNextPicture] 18:47:29-207 Dropping frame!

Wie sieht es bei deaktiviertem libavcodec-Multithreading aus?

eumagga0x2a

Vielleicht wäre es interessanter, die maximale Anzahl von Threads schrittweise zu senken, bis das Problem verschwindet. Mein Windows-Laptop hat max. 4 logische Kerne.

Strunz

Hehe, wenn man es manuell mit dem Regler verstellen will, dann ist 8 das Maximum.
Damit tritt das Problem auch nicht auf.

Was aber, wenn man mehr Cores hat?  ;)
Ich habe tatsächlich 12 echte Kerne, ohne SMT. Letzteres habe ich generell deaktiviert, da es beim encoden nix bringt.

eumagga0x2a

Das Problem hat definitiv mit libavcodec-Multithreading zu tun und verschwindet bei mir nur wenn ich die maximale Anzahl von Threads auf 4 senke. Über 4 wird ein Frame nicht richtig dekodiert, aber die Schwelle, um PTS als unzuverlässig zu deklarieren, liegt bei zwei.

Quote from: Strunz on February 18, 2021, 07:06:00 PMWas aber, wenn man mehr Cores hat

Ich habe es versäumt, die maximale Anzahl von Threads selbst mit Automatik auf 8 zu begrenzen. Je nach Codec, beginnt libavcodec bei noch mehr Threads zu spinnen.

Strunz

Also 8 ist noch ok? Das liest sich ja wirklich kompliziert. Hab ja Null Ahnung wie das alles im Hintergrund läuft, bin echt nur einfacher Nutzer. Aber danke für den "fix", werde es auf 8 belassen.

Betrifft das auch das encoding? Werde es einfach mal schnell testen.
Edit: Taskmanager sagt trotzdem 100%, das zählt für mich.  :)

eumagga0x2a

Encoding ist eine andere Geschichte, dort kocht jeder Encoder sein eigenes Süppchen.

Bei diesem Sample sind auf meinem Laptop bereits 5 Threads zu viel. Bitte ins Log schauen, ab welcher Anzahl von Threads die obigen Fehlermeldungen aus admlog.txt verschwinden. Sie dürfen nicht auftreten, überhaupt keine einzige.

Strunz

Bei mir kommt es ebenfalls ab 5 Threads zu den Fehlern im Log. CPU-Auslastung ist aber auch bei 4 noch zu 100%.

Die LAV-Filters sind das vermutlich nicht? Wenn doch, die werden ja hier auch ständig weiterentwickelt, falls das von Interesse ist. Wenn nicht, war das für die lols. ;)

eumagga0x2a


eumagga0x2a

Quote from: Strunz on February 18, 2021, 07:39:54 PMBei mir kommt es ebenfalls ab 5 Threads zu den Fehlern im Log.

Demnach müsste man die Obergrenze eigentlich bei 4 setzen :-((

Strunz


eumagga0x2a

Quote from: Strunz on February 18, 2021, 07:39:54 PMDie LAV-Filters sind das vermutlich nicht?

Hätte erst den Link anklicken sollen, aber diese Software hat mit Avidemux nichts zu tun und Avidemux nichts mit ihr. Wie ihre Entwickler Multithreading in libavcodec angehen entzieht sich meiner Kenntnis.