Vidéos illisibles après import de depuis mon smartphone (avec outil d'importation windows)

Bonjour,

Je débute avec mon smartphone (un Ultym5 de chez Bouygues, sous Androïd). Il fait de jolies vidéos mais j’ai un gros souci : impossible de les lire sur le PC après les avoir passées à la moulinette de l’outil d’importation des photos et vidéos de windows. Je le fais régulièrement avec l’appareil photo et cela se passe sans souci, donc je ne me suis pas méfié. J’ai bien évidemment coché la case “supprimer les photos après importation” : je me retrouve donc avec des vidéos renommées et illisibles sur mon PC, et plus rien sur le téléphone. Comme certaines vidéos sont irremplaçables (premières fois debout de ma fille qui a 1 an), je suis bien dégoûté ! :frowning:

Pour info, j’ai fait des tests depuis ce problème ! quand je copie-colle une vidéo depuis le téléphone dans un répertoire de l’ordi, je peux lire les mp4 sans souci : le problème vient donc visiblement de l’outil d’importation qui “corrompt” les fichiers. (je suis sous windows 7)

J’ai fait une analyse avec MediaInfo d’un fichier modifié et du même fichier non modifié, voilà ce que ça donne :

FICHIER ORIGINAL :
[spoiler]
Général
Nom complet : C:UsersAdminPictures2015-06-16VID_20150616_114918.mp4
Format : MPEG-4
Profil du format : Base Media
Identifiant du codec : isom
Taille du fichier : 5,41 Mio
Durée : 5s 184ms
Débit global moyen : 8 757 Kbps
Date d’encodage : UTC 2015-06-16 09:49:24
Date de marquage : UTC 2015-06-16 09:49:24

Vidéo
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Profil du format : Baseline@L3.1
Paramètres du format, CABAC : Non
Paramètres du format, RefFrames : 1 image
Paramètres du format, GOP : M=1, N=30
Identifiant du codec : avc1
Identifiant du codec/Info : Advanced Video Coding
Durée : 4s 826ms
Durée de la source duration : 4s 828ms
Débit : 7 893 Kbps
Largeur : 1 280 pixels
Hauteur : 720 pixels
Format à l’écran : 16/9
Rotation : 90°
Type d’images/s : Variable
Images par seconde : 30,034 Im/s
Images/s mini : 28,846 Im/s
Images/s maxi : 31,239 Im/s
Espace de couleurs : YUV
Sous-échantillonnage de la chrominance : 4:2:0
Profondeur des couleurs : 8 bits
Type de balayage : Progressif
Bits/(Pixel*Image) : 0.285
Taille du flux : 4,54 Mio (84%)
Taille du flux source : 4,54 Mio (84%)
Titre : VideoHandle
Langue : Anglais
Date d’encodage : UTC 2015-06-16 09:49:24
Date de marquage : UTC 2015-06-16 09:49:24
mdhd_Duration : 4826

Audio
ID : 2
Format : AAC
Format/Info : Advanced Audio Codec
Profil du format : LC
Identifiant du codec : 40
Durée : 5s 184ms
Type de débit : Constant
Débit : 156 Kbps
Débit nominal : 96,0 Kbps
Canaux : 2 canaux
Position des cannaux : Front: L R
Echantillonnage : 48,0 KHz
Mode de compression : Avec perte
Taille du flux : 98,7 Kio (2%)
Titre : SoundHandle
Langue : Anglais
Date d’encodage : UTC 2015-06-16 09:49:24
Date de marquage : UTC 2015-06-16 09:49:24
[/spoiler]

FICHIER IMPORTE :
[spoiler]Général
Nom complet : C:UsersAdminPictures2015-06-16VID_20150616_114918 (2).mp4
Format : MPEG-4
Profil du format : Base Media
Identifiant du codec : isom
Taille du fichier : 5,41 Mio
Durée : 5s 184ms
Débit global moyen : 8 757 Kbps
Date d’encodage : UTC 2015-06-16 09:49:24
Date de marquage : UTC 2015-06-16 09:49:24

Vidéo
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Profil du format : Baseline@L3.1
Paramètres du format, CABAC : Non
Paramètres du format, RefFrames : 1 image
Identifiant du codec : avc1
Identifiant du codec/Info : Advanced Video Coding
Durée : 4s 826ms
Durée de la source duration : 4s 828ms
Débit : 7 893 Kbps
Largeur : 1 280 pixels
Hauteur : 720 pixels
Format à l’écran : 16/9
Rotation : 90°
Type d’images/s : Variable
Images par seconde : 30,034 Im/s
Images/s mini : 28,846 Im/s
Images/s maxi : 31,239 Im/s
Espace de couleurs : YUV
Sous-échantillonnage de la chrominance : 4:2:0
Profondeur des couleurs : 8 bits
Type de balayage : Progressif
Bits/(Pixel*Image) : 0.285
Taille du flux : 4,54 Mio (84%)
Taille du flux source : 4,54 Mio (84%)
Titre : VideoHandle
Langue : Anglais
Date d’encodage : UTC 2015-06-16 09:49:24
Date de marquage : UTC 2015-06-16 09:49:24
mdhd_Duration : 4826

Audio
ID : 2
Format : AAC
Format/Info : Advanced Audio Codec
Profil du format : LC
Identifiant du codec : 40
Durée : 5s 184ms
Type de débit : Constant
Débit : 156 Kbps
Débit nominal : 96,0 Kbps
Canaux : 2 canaux
Position des cannaux : Front: L R
Echantillonnage : 48,0 KHz
Mode de compression : Avec perte
Taille du flux : 98,7 Kio (2%)
Titre : SoundHandle
Langue : Anglais
Date d’encodage : UTC 2015-06-16 09:49:24
Date de marquage : UTC 2015-06-16 09:49:24[/spoiler]

La seule différence que j’ai détectée dans le fichier modifié est l’absence de la ligne :
Paramètres du format, GOP : M=1, N=30

Je suis allé au bout de mes connaissances en informatique, j’espère trouver de l’aide ici !:yeux4:
Merci de me dire ce que vous en pensez, et surtout si j’ai une chance de “réparer” mes fichiers pour pouvoir les lire ?

:hello:

Tu essaies de lire les vidéos avec quel logiciel sur ton PC ?

WMP, VLC, QuickTime : rien ne marche !

PS : je viens d’essayer sur les conseils d’un “spécialiste” avec Potplayer aussi, et le verdict est toujours le même : écran noir ! :-(:
Edité le 18/06/2015 à 21:49

salut, tu pourrais donner une video daubé pour qu’on regarde ce que cela donne chez nous?
(peut etre que www.cjoint.com… suffirait si elle est de la même taille que celle de ton exemple mediainfo)

Bonne idée !

Voici une petite video de test qui s’avère vérolée : www.cjoint.com…

J’espère que vous pourrez m’aider à trouver la solution !!! :wink:

tu peux peut être bricoler avec ce soft www.videohelp.com…
mais a priori il faut un fichier sain pour lui donner les bonnes infos

en essayant comme ca au feeling j’ai eu un morceau de video mal encodé et sans son, j’ai vu un pc portable sur une table avec des carreaux blancs (entouré de noir) avec une souris a coté

donc y a peut être moyen mais va falloir piger les commandes a entrer

si tu me files la video ok de cet exemple je peux chercher a faire mieux

voila ce que dit l’outil si on ne met pas d’options (j’ai pas pu faire le step 1) , le fichier .h264 de sortie je l’ai lu directement dans VLC mais a priori va falloir un autre outil pour l’assembler:

recover_mp4_to_h264 v1.19 © 2011-2014 Dmitry Vasilyev slydiman@mail.ru
slydiman.homeip.net…

This utility can recover H.264/AVC stream from unfinalized MP4/MOV files
without (or empty) header. You may got the unfinalized file in case of damaging
camcorder during recording or such. This utility has been tested with files
recorded by GoPro, but it may work with other camcorders too.
Usage:
recover_mp4_to_h264 in_good_similar.mp4 --avcc
recover_mp4_to_h264 in_corrupted.mp4 out_video.h264 [out_audio.aac | out_audio.wav | out_audio.mp3] []
recover_mp4_to_h264 in_corrupted.mp4 out_video.h264 [–aac | --pcm | --mp3] []

Supported recorders:
Default is Ambarella (used in GoPro, etc.)
Specify --eos in case of Canon EOS
Specify --apple in case of some Apple software encoder
Specify --android in case of Android smartphone
Specify --motorola in case of Motorola smartphone
Specify --samsung in case of Samsung camcorder
Step 1: Use any good previous file with the same resolution and bitrate
to generate the AVC configuration record, for example

recover_mp4_to_h264.exe GOPR0346.MP4 --avcc
Note: It will create the file ‘avcc.hdr’ in the current directory.
Step 2: Recover H.264 stream from the corrupted file, for example
recover_mp4_to_h264.exe GOPR0347.MP4 GOPR0347.h264 GOPR0347.aac
Note: The file ‘avcc.hdr’ must be exist.
Note: Specify --pcm or the WAV file name in case of recovering MOV file written by Canon EOS.
Step 3: Use any other utility (Yamb or ffmpeg for example)
to recreate the MP4/MOV file from the H.264 stream (GOPR0347.h264).
Note MP4 does not support PCM sound, you must create MOV in this case.
Edité le 21/06/2015 à 21:59

Merci ! J’avoue que là je n’arrive pas vraiment à suivre, mais je suis content car c’est mon premier message d’espoir depuis la perte des vidéos. Celle que j’ai envoyée existe aussi en état correct, voici le lien :
www.cjoint.com…

Merci de votre aide !:super:

bon je sais pourquoi cela ne marche pas
quand tu l’importes windows ajoutes des meta-data au début du fichier et y fait une erreur

avec le logiciel AtomicParlsey je peux voir le probleme

P:downloadAtomicParsley-win32-0.9.0AtomicParsley-win32-0.9.0>atom tee.mp4 -T
Atom ftyp @ 0 of size: 24, ends @ 24
Atom moov @ 24 of size: 3758, ends @ 3782
Atom mvhd @ 32 of size: 108, ends @ 140
Atom trak @ 140 of size: 1955, ends @ 2095
Atom tkhd @ 148 of size: 92, ends @ 240
Atom mdia @ 240 of size: 1855, ends @ 2095
Atom mdhd @ 248 of size: 32, ends @ 280
Atom hdlr @ 280 of size: 44, ends @ 324
Atom minf @ 324 of size: 1771, ends @ 2095
Atom vmhd @ 332 of size: 20, ends @ 352
Atom dinf @ 352 of size: 36, ends @ 388
Atom dref @ 360 of size: 28, ends @ 388
Atom stbl @ 388 of size: 1707, ends @ 2095
Atom stsd @ 396 of size: 155, ends @ 551
Atom avc1 @ 412 of size: 139, ends @ 551
Atom avcC @ 498 of size: 37, ends @ 535
Atom pasp @ 535 of size: 16, ends @ 551 ~
Atom stts @ 551 of size: 800, ends @ 1351
Atom stss @ 1351 of size: 36, ends @ 1387
Atom stsz @ 1387 of size: 600, ends @ 1987
Atom stsc @ 1987 of size: 52, ends @ 2039
Atom co64 @ 2039 of size: 56, ends @ 2095
Atom trak @ 2095 of size: 1547, ends @ 3642
Atom tkhd @ 2103 of size: 92, ends @ 2195
Atom mdia @ 2195 of size: 1447, ends @ 3642
Atom mdhd @ 2203 of size: 32, ends @ 2235
Atom hdlr @ 2235 of size: 44, ends @ 2279
Atom minf @ 2279 of size: 1363, ends @ 3642
Atom smhd @ 2287 of size: 16, ends @ 2303
Atom dinf @ 2303 of size: 36, ends @ 2339
Atom dref @ 2311 of size: 28, ends @ 2339
Atom stbl @ 2339 of size: 1303, ends @ 3642
Atom stsd @ 2347 of size: 91, ends @ 2438
Atom mp4a @ 2363 of size: 75, ends @ 2438
Atom esds @ 2399 of size: 39, ends @ 2438
Atom stts @ 2438 of size: 96, ends @ 2534
Atom stsz @ 2534 of size: 992, ends @ 3526
Atom stsc @ 3526 of size: 52, ends @ 3578
Atom co64 @ 3578 of size: 64, ends @ 3642
Atom udta @ 3642 of size: 140, ends @ 3782
-------Atom meta @ 3650 of size: 52, ends @ 3702
-----------Atom hdlr @ 3662 of size: 32, ends @ 3694
-----------Atom ilst @ 3694 of size: 8, ends @ 3702
-------Atom Xtra @ 3702 of size: 80, ends @ 3782 ~

Atom free @ 3782 of size: 806382, ends @ 810164
Atom mdat @ 810164 of size: 4864644 (^), ends @ 0
(^)denotes a 64-bit atom length

Tout ce qui est en gras est ajouté (j’ai ajouté les tirets pour montré l’indentation normal que sur la partie qui est intéressante)
y a peut être un problème de taille
52 n’est pas égale a 32+8 (sa marche comme des repertoires)
80 + 52 ne fait pas 140

en tout cas en virant ce bloc 3642 a 3782 avec un éditeur hexadecimal ta video remarche
la seul différence ensuite en faisant une comparaison avec la bonne c’est une adresse en debut de fichier mais cela n’a pas l’air de gêner la lecture

en résumé rapide:
outil en ligne de commande atomicparsley :
sourceforge.net…

ouvrir un interpreteur de commande à l’endroit de l’executable et une COPIE video a faire (pas faire un test sur une video qui existe qu’en 1 seul exemplaire)
AtomicParsley.exe nomvideo -T
cela donne la liste comme dans le code au dessus

ouvrir la video avec un editeur hexadecimal (gnere HexEdit www.hexedit.com… )

supprimer la partie donné par la ligne (faire alt+D pour passer en adresse Decimal dans hexedit)
Atom udta @ 3642 of size: 140, ends @ 3782
la zone a supprimer debute a 3642
fin a 3782

je sais pas si hexedit supportera des videos de plusieurs Go par contre, jamais testé avec un aussi gros fichier

bon au pire tu pourrais m’en donner une autre hs? je confirme que la manip marche vraiment et je te donne comment je fais avec une video
Edité le 22/06/2015 à 18:40

je t’ai fait une petite video : www.cjoint.com…

jusqu’a 1min26 je te montre les différences que l’on peut voir entre tes 2 fichiers : l’adresse du début et le bloc ajouté

ensuite la manip proprement dite :

  • je te montre comment voir l’“atom” a supprimer
    (touche shift + bouton droit sur le nom du répertoire pour avoir “ouvrir une fenetre de commande ici”
    j’ai mis …\ avant le nom de la video car la video est dans le repertoire precedent et pas dans le repertoire de l’executable)

  • je le supprimes
    normalement il faut faire yes 2fois (1 fois autorise l’edition et l’autre la suppression ou un truc du genre)
    en regardant ma video je me suis rendu compte que je me suis surement planté dans l’intervale supprimé: j’ai fait 3643-3783 au lieu de 3642-3782
    cela ne fait rien car j’avais 00 dans les 2 cas mais bon c’est probablement à partir de l’octet d’avant que j’aurais dû faire ma suppression

si tu es motivé il reste la première différence en debut de fichier
dans la video je ne touche pas cette adresse du debut, la lecture marche sans, mais on peut aussi la corriger pour revenir parfaitement à l’original avant l’import
en fait dans la bonne video l’adresse est 0E22 et dans l’importé 0EAE , c’est de l’hexadecimal 0EAE-0E22=8C
8C c’est 140 en décimal
le décalage c’est donc la taille ajouté, indiqué par le size dans l’atom Atom udta @ 3642 of size: 140, ends @ 3782
donc pour la corriger :
dans la calculatrice windows en mode programmeur on se met en hexadecimal on tape l’adresse actuelle (0EAE)
on passe en mode decimale on a 3758
on soustrait avec le size de l’atom 3758 - 140 = 3618
on repasse en hexadecimal E22
on met 0E22 à la place de 0EAE
Edité le 23/06/2015 à 14:08

Merci Feunoir pour le temps que tu as consacré à ma demande. Je suis désolé, j’ai dû louper un truc dans les notifications, je n’avais pas vu ton dernier message.

Je t’envoie un lien vers une autre vidéo mais dont je ne dispose pas d’une version correcte. Comme il y a potentiellement ma fille dessus, j’ai pas trop envie que ça traîne sur le net alors je te l’envoie en MP…

En tout cas tout ce que tu décris me semble un peu trop compliqué pour moi, mes compétences informatiques sont vraiment limitées, j’ai peur de passer des heures à galérer sans y arriver… Mais je vais essayer, après mes vacances de juillet ! :wink:

Mais si jamais j’échoue : est-ce que je peux me permettre de te demander une aide privée un peu plus poussée pour me sortir de la panade ?

je t’ai repondu en MP
une nouvelle video de la manip pour réparer cette nouvelle video

y a vraiment que 3 étapes :

  • voir avec AtomicParsley.exe l’adresse de Atom udta
  • supprimer a partir de cette adresse sur la taille donnée
    une fois cela fait la video marche, mais pour revenir au fichier avant exportation
  • corriger la taille de l’Atom Moov en début de fichier (enlever 140 decimal au nombre hexadecimal)

dit le moi si cela coince, a quel endroit

attention : utilise bien une copie des video hs pour faire la manip (tant que tu modifies pas l’original hs tu peux ressayer sur une nouvelle copie de l’original mais si tu modifies l’original en te trompant (erreur sur la zone a supprimer ) elle est foutue)
Edité le 29/06/2015 à 17:56

:hello:
ça y est : j’ai pris le temps de suivre les consignes, et je viens de “sauver” les 2 vidéos les plus importantes (celles où ma fille se met debout pour la première fois). Je peux lire ces vidéos avec VLC, mais toujours pas avec WMP, cela dit ce n’est pas bien grave !

:clap: Merci Feunoir pour ton aide et tes explications, avec la vidéo de mode d’emploi j’ai réussi à m’en sortir, même si cela m’a demandé des efforts importants pour m’y plonger (je n’avais plus tapé de lignes de commandes sous CMD depuis 20 ans !). Mais le principal, c?est que ça MARCHE !!! :super:

Je n’ai pas bien compris les explications sur la taille de l’atom Moov : j’ai compris le principe mais où et avec quel outil peut-on modifier cette valeur ? En tout cas ce n’est pas bien grave, le principal c?est de pouvoir lire la vidéo !

Je vais donc continuer l’application de cette recette pour “nettoyer” les 6 ou 7 vidéos qui restent corrompues !
:jap: