News:

--

Main Menu

B-Frames _ longueur vidéo tronqué

Started by geek_du_44, May 13, 2020, 10:54:34 AM

Previous topic - Next topic

geek_du_44

Bonjour,
j'ai retrouvé une vidéo d'1h21 en AVC fait avec un vieil Avidemux en 2009.

je voulais passer le français en langue une, via le menu dédiée, mais lors de l'import Avidemux m'affiche un message concernant les B-Frames et le PresentationTimeStamps.

J'accepte la reconstruction qui a pris 1mn

mais au lieu d'1h21 je n'ai que 1mn35
j'ai testé avec la version 2.7.5 32 et 64b



info du fichier vidéos via mediaInfo:

Format                                   : Matroska
Version du format                        : Version 2
Taille du fichier                        : 4,00 Gio
Durée                                    : 1 h 21 min
Débit global moyen                       : 7 039 kb/s
Application utilisée                     : Lavf54.63.104
Bibliothèque utilisée                    : Lavf54.63.104

Vidéo
ID                                       : 1
Format                                   : AVC
Format/Info                              : Advanced Video Codec
Profil du format                         : Main@L4
Paramètres du format                     : CABAC / 4 Ref Frames
Paramètres du format, CABAC              : Oui
Paramètres du format, RefFrames          : 4 images
Identifiant du codec                     : V_MPEG4/ISO/AVC
Débit                                    : 6 643 kb/s
Largeur                                  : 1 440 pixels
Hauteur                                  : 1 088 pixels
Largeur originale                        : 1 080 pixels
Format à l'écran                         : 16/9
Format à l'écran d'origine               : 16/9
Type d'images/s                          : Variable
Images/s d'origine                       : 25,000 Im/s
Espace de couleurs                       : YUV
Sous-échantillonnage de la chrominance   : 4:2:0
Profondeur des couleurs                  : 8 bits
Type de balayage                         : MBAFF
Ordre de balayage, mode d'enregistrement : Trames entrelacées
Ordre de balayage                        : Ligne du haut d'abord
Default                                  : Oui
Forced                                   : Non
Gamme de couleurs                        : Limited
Coordonnées de chromaticité              : BT.709
Caractéristiques du transfert            : BT.709
Coefficients de la matrice               : BT.709

Audio #1
ID                                       : 2
Format                                   : MPEG Audio
Version du format                        : Version 1
Profil du format                         : Layer 3
Identifiant du codec                     : A_MPEG/L3
Identifiant du codec/Suggestion          : MP3
Durée                                    : 1 h 21 min
Type de débit                            : Constant
Débit                                    : 128 kb/s
Canaux                                   : 2 canaux
Echantillonnage                          : 48,0 kHz
Mode de compression                      : Avec perte
Taille du flux                           : 74,5 Mio (2%)
Langue                                   : Allemand
Default                                  : Oui
Forced                                   : Non

Audio #2
ID                                       : 3
Format                                   : MPEG Audio
Version du format                        : Version 1
Profil du format                         : Layer 3
Identifiant du codec                     : A_MPEG/L3
Identifiant du codec/Suggestion          : MP3
Durée                                    : 1 h 21 min
Type de débit                            : Constant
Débit                                    : 128 kb/s
Canaux                                   : 2 canaux
Echantillonnage                          : 48,0 kHz
Mode de compression                      : Avec perte
Taille du flux                           : 74,5 Mio (2%)
Langue                                   : Français
Default                                  : Oui
Forced                                   : Non

eumagga0x2a

Avez-vous essayé la dernière version nightly?

VC++: https://avidemux.org/nightly/vsWin64/ (actuellement 200508)
MinGW: https://avidemux.org/nightly/win64/ (actuellement 200504)

Si le problème persiste, ouvrez le vidéo dans Avidemux, fermez Avidemux, compressez et joignez le fichier journal admlog.txt (%localappdata%\avidemux\admlog.txt) à votre réponse SVP.

Merci.

geek_du_44

Bonjour,
j'ai testé la vidéo avec les 2 versions du logiciel > même problème

fichier adminLog.txt dans le admlog.Zz attachée

au besoin je peux joindre la vidéo de 4Gos via mon Google Drive

eumagga0x2a

Merci, le fichier mkv est probablement endommagé:

Quote[MKV] Indexing clusters
[mkvHeader::indexClusters] 22:06:29-518 FileSize = 4293344342, pos=59 size=4293344283,pos+size=4293344342
[ADM_ebml::readEBMCode_Full] 22:06:29-559 Corrupted EBML entry!

Comme si cela ne suffisait pas, l'incrément de temps et les horodatages sont faux:

Quote
[mkvHeader::ComputeDeltaAndCheckBFrames] 22:06:29-884 PTS is monotonous, probably no bframe
[mkvHeader::ComputeDeltaAndCheckBFrames] 22:06:29-884 >>> MinDelta=20000 MaxDelta=41000
[getStdFrameRate] 22:06:29-884 Best match is 4
[mkvHeader::ComputeDeltaAndCheckBFrames] 22:06:29-884 Num=1000 Den=50000 zero=0 first=0
[mkvHeader::ComputeDeltaAndCheckBFrames] 22:06:29-884 Checking deviation for native 1000 50000
[mkvDeviation::computeDeviation] 22:06:29-884 Den=50000 Num=1000  sum of error=672551, multiple=0
[mkvDeviation::computeDeviation] 22:06:29-884 MinDelta=20000 maxDelta=41000 skipped=2375
[mkvHeader::ComputeDeltaAndCheckBFrames] 22:06:29-884 Checking deviation for minDelta 20000 1000000
[mkvDeviation::computeDeviation] 22:06:29-884 Den=1000000 Num=20000  sum of error=672551, multiple=0
[mkvDeviation::computeDeviation] 22:06:29-884 MinDelta=20000 maxDelta=41000 skipped=2375
[mkvHeader::ComputeDeltaAndCheckBFrames] 22:06:29-884 Deviation        = 672551
[mkvHeader::ComputeDeltaAndCheckBFrames] 22:06:29-884 DeviationMinDelta = 672551
[mkvHeader::ComputeDeltaAndCheckBFrames] 22:06:29-884 Deviation skip    = 2375
[mkvHeader::ComputeDeltaAndCheckBFrames] 22:06:29-884 MinDelta=20000, defaultFrameDuation=20000
[mkvHeader::ComputeDeltaAndCheckBFrames] 22:06:29-884 Checking deviation for stdFrameRate=1000:50000
[mkvDeviation::computeDeviation] 22:06:29-884 Den=50000 Num=1000  sum of error=672551, multiple=0
[mkvDeviation::computeDeviation] 22:06:29-884 MinDelta=20000 maxDelta=41000 skipped=2375
[mkvHeader::ComputeDeltaAndCheckBFrames] 22:06:29-884 Deviation for stdFrameRate(4) =672551
[mkvHeader::ComputeDeltaAndCheckBFrames] 22:06:29-884 Std frame rate is equal or better
[mkvHeader::ComputeDeltaAndCheckBFrames] 22:06:29-884 Old default duration    20000 us
[mkvHeader::ComputeDeltaAndCheckBFrames] 22:06:29-884 New framerate values : 1000:50000
[mkvHeader::ComputeDeltaAndCheckBFrames] 22:06:29-884 New default duration    20000 us
[mkvHeader::ComputeDeltaAndCheckBFrames] 22:06:29-884 First frame pts     0 us
[mkvHeader::open] 22:06:29-884 Bumping DTS by 19 ms to keep PTS/DTS delta within limits for frame 4
[mkvHeader::open] 22:06:29-884 Bumping DTS by 20 ms to keep PTS/DTS delta within limits for frame 5
[mkvHeader::open] 22:06:29-884 Bumping DTS by 20 ms to keep PTS/DTS delta within limits for frame 6
[mkvHeader::open] 22:06:29-884 Bumping DTS by 20 ms to keep PTS/DTS delta within limits for frame 7
[mkvHeader::open] 22:06:29-884 Bumping DTS by 20 ms to keep PTS/DTS delta within limits for frame 8
[mkvHeader::open] 22:06:29-884 Bumping DTS by 20 ms to keep PTS/DTS delta within limits for frame 9
[mkvHeader::open] 22:06:29-884 Bumping DTS by 20 ms to keep PTS/DTS delta within limits for frame 10
[mkvHeader::open] 22:06:29-884 Bumping DTS by 20 ms to keep PTS/DTS delta within limits for frame 11
[mkvHeader::open] 22:06:29-884 Bumping DTS by 20 ms to keep PTS/DTS delta within limits for frame 12
[mkvHeader::open] 22:06:29-884 Bumping DTS by 20 ms to keep PTS/DTS delta within limits for frame 13
[mkvHeader::open] 22:06:29-884 Bumping DTS by 20 ms to keep PTS/DTS delta within limits for frame 14
[mkvHeader::open] 22:06:29-884 Default time increment is probably too low, resorting to direct mapping.

...

[ADM_Composer::checkForValidPts] 22:06:29-954 Checking file for broken PTS...
[ADM_Composer::checkForValidPts] 22:06:29-954 Checking 100 frames out of 2377.
[adm_lavLogCallback] 22:06:29-995 [lavc] Increasing reorder buffer to 2
[ADM_Composer::DecodeNextPicture] 22:06:30-001 >>>>> PTS going backward by 120 ms
[ADM_Composer::DecodeNextPicture] 22:06:30-001 Dropping frame!
[ADM_Composer::DecodeNextPicture] 22:06:30-005 >>>>> PTS going backward by 40 ms
[ADM_Composer::DecodeNextPicture] 22:06:30-005 Dropping frame!
[ADM_Composer::DecodeNextPicture] 22:06:30-008 >>>>> PTS going backward by 120 ms
[ADM_Composer::DecodeNextPicture] 22:06:30-008 Dropping frame!
[ADM_Composer::DecodeNextPicture] 22:06:30-013 >>>>> PTS going backward by 40 ms
[ADM_Composer::DecodeNextPicture] 22:06:30-013 Dropping frame!
[ADM_Composer::DecodeNextPicture] 22:06:30-016 >>>>> PTS going backward by 120 ms
[ADM_Composer::DecodeNextPicture] 22:06:30-016 Dropping frame!
[ADM_Composer::DecodeNextPicture] 22:06:30-018 >>>>> PTS going backward by 40 ms
[ADM_Composer::DecodeNextPicture] 22:06:30-018 Dropping frame!

Quoteau besoin je peux joindre la vidéo de 4Gos via mon Google Drive

Ça ne ferait pas de mal, merci. C'est le seul moyen de voir si le fichier est vraiment endommagé ou si le démultiplexeur Matroska dans Avidemux a un bogue.


eumagga0x2a

#5
Merci, le fichier est en effet endommagé à de nombreux endroits. J'ai réussi à étendre la partie du fichier utilisable par Avidemux avec un patch privé, mais le résultat n'était pas satisfaisant. Cependant, le fichier peut aider à améliorer le démultiplexeur Matroska dans Avidemux à l'avenir.

Pour l'instant, je recommande d'utiliser ffmpeg en ligne de command:

ffmpeg -i input.mkv -map 0:0 -map 0:1 -map 0:2 -c copy output.mkv

et utiliser Avidemux avec le fichier produit par ffmpeg (dans cet exemple "output.mkv").

geek_du_44

#6
 :(
Pourtant VLC lit très bien le fichier, enfin je n'ais pas relu entièrement le mkv avec VLC, juste quelques secondes toutes les x mns.

pour la ligne de commande, j'ai tenté directement depuis un cmd.exe

ffmpeg -i "Spezies zu Spezies - Espece d'especes - DEutsh - FRancais - ARTE HD - 2009-11-28.mkv" -map 0:0 -map 0:1 -map 0:2 -c copy spezies_edit_ffmpeg.mkv
'ffmpeg' n'est pas reconnu en tant que commande interne
ou externe, un programme exécutable ou un fichier de commandes.

je ne fais jamais en ligne de commande, faut-il installer ffmpeg ?

geek_du_44

re,
j'ai installé ffmpeg 4.2.2 et ai ouvert une inveite de commande directement depuis le répertoire de ffmpeg:


C:\Users\MyUserName\Downloads\ffmpeg-4.2.2-win32-static\bin>ffmpeg "C:\Users\MyUserName\Google Drive\Spezies zu Spezies - Espece d'especes - DEutsh - FRancais - ARTE HD - 2009-11-28.mkv" -map 0:0 -map 0:1 -map 0:2 -c copy "spezies_edit_ffmpeg.mkv"
ffmpeg version 4.2.2 Copyright (c) 2000-2019 the FFmpeg developers
  built with gcc 9.2.1 (GCC) 20200122
  configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt
  libavutil      56. 31.100 / 56. 31.100
  libavcodec     58. 54.100 / 58. 54.100
  libavformat    58. 29.100 / 58. 29.100
  libavdevice    58.  8.100 / 58.  8.100
  libavfilter     7. 57.100 /  7. 57.100
  libswscale      5.  5.100 /  5.  5.100
  libswresample   3.  5.100 /  3.  5.100
  libpostproc    55.  5.100 / 55.  5.100
Output #0, matroska, to 'C:\Users\MyUserName\Google Drive\Spezies zu Spezies - Espece d'especes - DEutsh - FRancais - ARTE HD - 2009-11-28.mkv':
Output file #0 does not contain any stream


aucun fichier n'a été créer. il attend sans doute un autre paramètre que je ne connais pas.

eumagga0x2a

ffmpeg -i input.mkv   ..... output.mkv

Le fichier "C:\Users\MyUserName\Google Drive\Spezies zu Spezies - Espece d'especes - DEutsh - FRancais - ARTE HD - 2009-11-28.mkv" est-il inchangé? Il aurait pu être détruit par l'erreur dans la ligne de commande. La ligne de commande ne pardonne pas les erreurs.


geek_du_44

#9
oui pas de soucis le fichier originel est OK, c'est d'ailleurs une copie.

j'ai réussis a utilisé le ffmpeg avec la 4.2.2 32b shared du site https://ffmpeg.zeranoe.com/builds :

C:\Users\Fabien BRIC\Downloads\ffmpeg-4.2.2-win32-shared\ffmpeg-4.2.2-win32-shared\bin>ffmpeg -i "C:\Users\Fabien BRIC\Google Drive\Spezies zu Spezies - Espece d'especes - DEutsh - FRancais - ARTE HD - 2009-11-28.mkv" -map 0:0 -map 0:1 -map 0:2 -c copy output.mkv
ffmpeg version 4.2.2 Copyright (c) 2000-2019 the FFmpeg developers
  built with gcc 9.2.1 (GCC) 20200122
  configuration: --disable-static --enable-shared --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt
  libavutil      56. 31.100 / 56. 31.100
  libavcodec     58. 54.100 / 58. 54.100
  libavformat    58. 29.100 / 58. 29.100
  libavdevice    58.  8.100 / 58.  8.100
  libavfilter     7. 57.100 /  7. 57.100
  libswscale      5.  5.100 /  5.  5.100
  libswresample   3.  5.100 /  3.  5.100
  libpostproc    55.  5.100 / 55.  5.100
[h264 @ 01114ec0] Increasing reorder buffer to 2
Input #0, matroska,webm, from 'C:\Users\Fabien BRIC\Google Drive\Spezies zu Spezies - Espece d'especes - DEutsh - FRancais - ARTE HD - 2009-11-28.mkv':
  Metadata:
    ENCODER         : Lavf54.63.104
  Duration: 01:21:19.28, start: 0.000000, bitrate: 7039 kb/s
    Stream #0:0: Video: h264 (Main), yuv420p(tv, bt709, top first), 1440x1080 [SAR 4:3 DAR 16:9], 50 fps, 50 tbr, 1k tbn, 50 tbc (default)
    Stream #0:1(deu): Audio: mp3, 48000 Hz, stereo, fltp, 128 kb/s (default)
    Stream #0:2(fra): Audio: mp3, 48000 Hz, stereo, fltp, 128 kb/s (default)
Output #0, matroska, to 'output.mkv':
  Metadata:
    encoder         : Lavf58.29.100
    Stream #0:0: Video: h264 (Main) (H264 / 0x34363248), yuv420p(tv, bt709, top first), 1440x1080 [SAR 4:3 DAR 16:9], q=2-31, 50 fps, 50 tbr, 1k tbn, 1k tbc (default)
    Stream #0:1(deu): Audio: mp3 (U[0][0][0] / 0x0055), 48000 Hz, stereo, fltp, 128 kb/s (default)
    Stream #0:2(fra): Audio: mp3 (U[0][0][0] / 0x0055), 48000 Hz, stereo, fltp, 128 kb/s (default)
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:1 -> #0:1 (copy)
  Stream #0:2 -> #0:2 (copy)
Press [q] to stop, [?] for help
[matroska,webm @ 01101900] Length 5 indicated by an EBML number's first byte 0x0e at pos 81264919 (0x4d80117) exceeds max length 4.
[matroska,webm @ 01101900] 0x00 at pos 82323910 (0x4e829c6) invalid as first byte of an EBML number
[matroska,webm @ 01101900] Element at 0x457bb010 ending at 0x458e97be exceeds containing master element ending at 0x457d6c44
[matroska,webm @ 01101900] Element at 0x458cae3c ending at 0x46033619 exceeds containing master element ending at 0x458dc512
[matroska,webm @ 01101900] Unknown-sized element at 0x66903910 inside parent with finite sizex
[matroska,webm @ 01101900] Length 8 indicated by an EBML number's first byte 0x01 at pos 1721812834 (0x66a0c762) exceeds max length 4.
[matroska,webm @ 01101900] Element at 0x9ab82aa7 ending at 0x9a946d0986e32 exceeds containing master element ending at 0x9ac1b3e7
[matroska,webm @ 01101900] Element at 0x9ac86661 ending at 0x17853bd7b exceeds containing master element ending at 0x9ad487b5
[matroska,webm @ 01101900] Element at 0xd0f82db9 ending at 0xd114a5cd exceeds containing master element ending at 0xd0ff10e6
[matroska,webm @ 01101900] Length 5 indicated by an EBML number's first byte 0x08 at pos 3507000048 (0xd10892f0) exceeds max length 4.
[matroska,webm @ 01101900] Element at 0xf2246380 ending at 0xf231c02c exceeds containing master element ending at 0xf22b4591
[matroska,webm @ 01101900] Element at 0xf2346693 ending at 0x101366c54 exceeds containing master element ending at 0xf2370be3
frame=121851 fps=2570 q=-1.0 Lsize= 4188644kB time=01:21:19.24 bitrate=7032.5kbits/s speed= 103x
video:4032493kB audio:152300kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.092031%



j'ai donc réutilisé Avidemux avec le fichier output.mkv, avidemux m'affiche l'erreur de B-frames et de PTS, j'ai cliqué sur oui, là je dois patienter 22mns pour le décodage.

çà semble bon :-)

j'ai jamais vu mon GPU travaillé à 100% 0_0 (voir PJ)

je vous redit çà

geek_du_44

#10
hello,
décodage terminé!

la longueur du fichier a bien été détecté, j'ai bien modifié l'ordre des pistes audio, export OK en copy copy mkv

Merci pour votre aide :-)

ps: j'ai réediter le nouveau fichier de sortie .mkv nouvellement créer pour juste exporter avec le flux audio français avec le conteneur .mp4
il m'a afficher une erreur d'export avec un problème de "invalid Time Stamps in the video" à 00:01:36,120