Actual problem when trying to losslessly cut mp4 with B-frames and workaround

Started by Elstar`, November 12, 2022, 11:15:07 PM

Previous topic - Next topic

Elstar`

Tested on MP4/AVC 25 fps. Avidemux still silently drops some frames when saving a selection if end of selection is not an I-frame or the last frame of selection is not a P-frame. It appears that frames are dropped down to nearest P-frame (towards beginning of selection).

So, basically, if not cutting strictly on I-frames, you need to ensure that last frame in the selection is a P-frame. Checking that condition in Avidemux itself would be useful too...

eumagga0x2a

I repeat what I already tried to explain you: stream copy mode with video compressed with a codec with frame reordering cannot provide frame-accurate export, we have to drop or preserve frames depending on their timestamps and their role in the structure of the video stream, this is purely a best-effort trick.

Avidemux checks in advance that the export is not expected to be totally broken, that is already quite an achievement. No assurance about particular frames being included is possible when in copy mode, period.

Gamajo

Bonjour.
Je suis nouveau dans le Forum.
Je ne sais pas démarrer un poste sans aller dans un poste déjà démarrer.
Si ce n'est pas ici que je dois poster, je m'en excuse.
Si vous pouvez m'expliquer la procédure ça serait sympa.
À défaut je vais démarrer ici.

Voilà mon problème.
J'ai installé avidemux 2.8.1 et j'ai un soucis avec les coupures /supression de séquences video.
Quand je coupe et suprime, une boîte de dialogue s'ouvre pour me dire que je ne coupe pas au bon endroit, image non IDR. Si je force la suppression, la TV connectée plante à la lecture de ce fichier au point de coupure
Quelqu'un m'a dit qu'il fallait couper sur les images i-frame mais je ne sais pas où elles sont...
À droite des compteurs chronologiques il y a écrit : I-TFF tout le temps, n'importe où je mets le curseur c'est écrit ça quand je monte des fichiers MPEG 2 TS. (Streaming de la TNT)
Sur la capture d'écran d'un autre utilisateur on voit écrit I-frm mais c'était sur un montage vidéo mv4 qu'il allait convertir en mp4. Dois je convertir en mp4 pour pouvoir couper sur les i-frame ?

eumagga0x2a

Quote from: Gamajo on December 01, 2022, 04:42:10 PMJe ne sais pas démarrer un poste sans aller dans un poste déjà démarrer.

Go to https://avidemux.org/smif/index.php/board,2.0.html and click on the button on the right part of the page above the existing topics, labeled "NEW TOPIC". As you replied to a topic not in the French subforum, I reply in English.

Quote from: Gamajo on December 01, 2022, 04:42:10 PMQuand je coupe et suprime, une boîte de dialogue s'ouvre pour me dire que je ne coupe pas au bon endroit, image non IDR. Si je force la suppression, la TV connectée plante à la lecture de ce fichier au point de coupure

H.264 and HEVC streams in digital broadcasts mostly don't use IDR (instantaneous decoder refresh) type frames but instead use so-called recovery points which ensure one can seek to such points and start decoding without damaged (only partially decodable) pictures shown. Usually, the header of each frame carries information of the order in which this frame will be shown. This information is interpreted in context of adjacent frames, so that skipping a portion of the stream may create undesired, almost always invalid sequences. This is fundamentally different to IDR frames which reset all the otherwise continuing (and wrapping around at predictable locations) counters in the stream, allowing clean cuts.

Avidemux tries to detect especially bad discontinuities of picture order counter and warns the user accordingly. If you want to be able to cut at any frame, don't use the copy mode, accept some loss in quality (and a much lower processing speed) and re-encode.

Quote from: Gamajo on December 01, 2022, 04:42:10 PMÀ droite des compteurs chronologiques il y a écrit : I-TFF tout le temps, n'importe où je mets le curseur

The navigation slider seeks always to keyframes (indicated in Avidemux by "I" as "intra"). "TFF" means the current full picture consists of two fields (half-pictures), and the top field (the one containing all the odd lines 1,3,5,7 etc) arrives first.

Quote from: Gamajo on December 01, 2022, 04:42:10 PMSur la capture d'écran d'un autre utilisateur on voit écrit I-frm mais c'était sur un montage vidéo mv4 qu'il allait convertir en mp4

You probably meant "m4v" rather than "mv4". "m4v" is already mp4, it is just a hint that the video doesn't contain an audio track.