Vidéos familiales numérisées corrompues ou illisibles : des solutions existent !
- mcrays2
- 30 avr.
- 6 min de lecture

Les vidéos de famille occupent une place essentielle dans la généalogie et la valorisation des archives privées. Elles captent ce que les documents écrits ne peuvent restituer : les voix, les gestes, les visages, l’atmosphère d’un foyer à un moment donné. Ces témoignages vivants constituent une mémoire familiale d’une richesse considérable, souvent unique et non reproductible.
Pourtant, leur conservation sur le long terme soulève des défis croissants. L’évolution technologique rapide des formats vidéo, des codecs et du matériel de lecture rend difficile la pérennité de ces enregistrements. Un fichier produit il y a quinze ou vingt ans dans un format alors courant peut devenir aujourd’hui illisible, faute de compatibilité avec les lecteurs disponibles ou en raison d’une corruption liée au vieillissement des supports.
Nous avons eu à traiter deux cas concrets parmi d'autres illustrant parfaitement ces défis :
un fichier MOV corrompu d’une part,
des fichiers MPEG Program Stream (.ps) issus d’enregistrements vidéo anciens d’autre part.
Voici comment nous les avons résolus, étape par étape, en utilisant des outils gratuits et open source.
Si l'idée même de lire ce tuto vous donne des boutons, si vous avez un grand nombre de vidéos à traiter, si vous rencontrez d'autres problèmes que ceux décrits ici, n'hésitez pas prendre contact pour un devis gratuit ! Contact
Cas n°1 : un fichier MOV avec moov atom manquant
Le problème : un fichier MOV illisible
Première étape face à un fichier .mov impossible à ouvrir : distinguer un problème de lecteur d’une véritable corruption du fichier.
Choisir le bon lecteur
Le format MOV est un format Apple. Windows ne le lit pas nativement, ce qui explique que le lecteur Windows Media Player soit souvent mis en échec. La solution la plus simple : VLC Media Player (logiciel libre, gratuit), qui lit nativement les fichiers MOV sans codec supplémentaire.
Si VLC ne parvient pas non plus à ouvrir le fichier, c’est que le problème est plus profond : le fichier est probablement corrompu.
Le diagnostic : le moov atom est manquant
Pour tenter une réparation, on se tourne naturellement vers FFmpeg, l’outil de traitement vidéo de référence (open source, gratuit).
La commande de base :
ffmpeg -i fichier_corrompu.mov -c copy fichier_repare.mov
Mais FFmpeg a retourné cette erreur :
moov atom not found
Error opening input: Invalid data found when processing input
Ce message est un diagnostic en soi. Le moov atom est la partie du fichier MOV qui contient toutes les métadonnées essentielles : durée, codec, index des images. Sans lui, aucun lecteur ne peut interpréter le fichier.
Ce type de corruption survient typiquement lorsque l’enregistrement a été interrompu brutalement : batterie à plat, coupure de courant, transfert incomplet. Le fichier est écrit sur le disque, mais l’index final n’a jamais eu le temps d’être inscrit.
La solution : reconstruire le moov atom avec untrunc
L’outil adapté à ce cas précis s’appelle untrunc. Son principe est élégant : il emprunte la structure d’un fichier vidéo sain enregistré avec le même appareil et les mêmes réglages pour reconstruire les métadonnées manquantes du fichier corrompu.
Prérequis indispensable
Disposer d’un fichier MOV valide issu du même appareil photo ou caméra. C’est la clé de voûte de la méthode.
Installation sous Windows
Le projet original untrunc n’existe qu’en version Linux/Mac.
Il existe cependant un build Windows prêt à l’emploi, maintenu par anthwlock, mais il en existe sans doute d'autres.
Windows SmartScreen peut afficher un avertissement au premier lancement. Cliquez sur « Informations complémentaires » puis « Exécuter quand même » — comportement normal pour un exécutable non signé.
Utilisation
Lancez l’interface graphique :
untrunc.exe -gui
Dans la fenêtre qui s’ouvre, sélectionnez votre fichier MOV valide comme référence, puis le fichier corrompu à r
éparer.
Le fichier réparé a été généré avec succès et est à nouveau parfaitement lisible.
Cas n°2 : des fichiers .ps avec timestamps corrompus
Le problème : une barre de temps incohérente dans VLC
Les fichiers .ps (MPEG Program Stream) sont typiques des enregistrements effectués sur des magnétoscopes numériques ou des boîtiers TNT des années 2000. Leur structure interne est souvent fragile : pas d’index temporel fiable, timestamps discontinus, paquets corrompus.
Dans notre cas, VLC parvenait à lire les fichiers, mais :
la barre de progression était totalement fausse : durée affichée de 7 heures au lieu d’une heure, impossibilité de naviguer dans la vidéo.
Le son et l’image étaient également désynchronisés d’environ 1,5 seconde.
Le diagnostic : ce que le log FFmpeg révèle
L’analyse du fichier par FFmpeg a immédiatement révélé plusieurs problèmes cumulés :
Un timestamp de départ à 28 541 secondes (soit ~7h54) : typique d’une capture TNT qui encode l’heure réelle de diffusion.
Une discontinuité massive en cours de fichier (DTS passant de 309 600 à 2 569 127 689).
Des paquets audio AAC corrompus provoquant une erreur dès 9 minutes sur 1 heure de vidéo.
Des timestamps audio non monotones (qui reculent) causant un décalage son/image.
La méthode de résolution : quatre niveaux d’intervention
Niveau 1 — Simple remballage (insuffisant ici)
La première tentative, la plus rapide, consiste à changer de conteneur sans réencoder :
ffmpeg -i fichier.ps -c copy fichier.mkv
Insuffisant : les paquets AAC corrompus ont causé une erreur dès 9 minutes, interrompant la conversion.
Niveau 2 — Ignorer les erreurs et réencoder l’audio
On ajoute des drapeaux de tolérance aux erreurs et on réencode l’audio au lieu de le copier :
ffmpeg -fflags +genpts+discardcorrupt -err_detect ignore_err -i fichier.ps -c:v copy -c:a aac -b:a 128k -af "aresample=async=1" fichier_v2.mkv
Résultat : la conversion aboutit jusqu’au bout, mais la durée affichée dans VLC reste de 7h55 — le timestamp initial à 28 541 secondes n’a pas été corrigé.
Niveau 3 — Rééencoder la vidéo avec reconstruction complète des timestamps
C’est la solution qui a finalement fonctionné pour la barre de temps. On réencode également la vidéo, ce qui permet de reconstruire entièrement les timestamps :
ffmpeg -fflags +genpts+discardcorrupt+igndts -err_detect ignore_err -i fichier.ps -vf "setpts=PTS-STARTPTS" -c:v libx264 -preset veryfast -crf 23 -c:a aac -b:a 128k -af "aresample=async=1000,asetpts=PTS-STARTPTS" -avoid_negative_ts make_zero fichier_final.mkv
Les options clés :
+igndts : ignore complètement les DTS source et se base sur les PTS.
setpts=PTS-STARTPTS : repart de zéro pour les timestamps vidéo.
asetpts=PTS-STARTPTS : idem pour l’audio.
aresample=async=1000 : resynchronisation audio agressive.
La barre de temps de VLC est désormais correcte. Reste le décalage son/image.
Niveau 4 — Corriger le décalage audio
Le son étant en retard constant d’environ 1,5 seconde sur l’image, une méthode simple permet de mesurer précisément ce décalage :
ouvrir le fichier dans VLC et utiliser Outils → Piste Synchronisation (touches J et K) pour ajuster en temps réel jusqu’à obtenir la synchronisation parfaite. VLC affiche la valeur exacte en millisecondes.
Une fois la valeur confirmée (1,5 s dans notre cas), on applique la correction en retardant le flux vidéo à l’entrée, sur le fichier déjà converti :
ffmpeg -itsoffset 1.5 -i fichier_converti.mkv -i fichier_converti.mkv -map 0:v -map 1:a -c:v copy -c:a copy fichier_final_sync.mkv
Cette commande lit le fichier deux fois : elle prend la vidéo du premier flux (décalée de 1,5 s) et l’audio du second (intact), sans aucun réencodage. Le résultat est immédiat et la vidéo est parfaitement synchronisée.
Cas n°3 dérivé du cas n°2 (sur un autre fichier) : flux audio non reconnu
Sur un second fichier .ps, FFmpeg n’a pas réussi à détecter le flux audio (0 channels), produisant un fichier muet. Le log affichait :
Could not find codec parameters for stream 0 (Audio: aac, 0 channels)
Consider increasing the value for the 'analyzeduration' and 'probesize' options
La solution : forcer FFmpeg à analyser davantage de données avant de commencer la conversion, en augmentant les seuils d’analyse :
ffmpeg -analyzeduration 100M -probesize 100M -fflags +genpts+discardcorrupt+igndts ...
Récapitulatif des méthodes
Symptôme | Cause probable | Solution |
Le fichier ne s’ouvre pas dans Windows Media Player | Format MOV non supporté nativement sous Windows | Installer VLC |
VLC ne lit pas le fichier | Fichier corrompu | Tenter FFmpeg |
FFmpeg retourne « moov atom not found » | Index vidéo absent (enregistrement interrompu) | Utiliser untrunc |
Barre de temps incohérente (durée erronée) | Timestamps corrompus ou offset TNT | FFmpeg avec setpts + avoid_negative_ts |
La conversion s’arrête en cours de fichier | Paquets audio AAC corrompus | FFmpeg avec discardcorrupt + réencodage audio |
Fichier converti muet | Flux audio non détecté au début du fichier | Ajouter -analyzeduration 100M -probesize 100M |
Décalage son/image constant | Offset fixe entre flux audio et vidéo | Mesurer avec VLC (J/K), corriger avec -itsoffset |
Outils utilisés
VLC Media Player — videolan.org 🇫🇷 (association VideoLAN, France)
FFmpeg — ffmpeg.org 🌍 (open source, communauté internationale)
untrunc (build anthwlock) — github.com/anthwlock/untrunc 🌍 (open source, gratuit)
En conclusion
Souriez ! Un fichier vidéo ancien ou corrompu n’est pas forcément perdu. Les outils open source disponibles permettent, avec méthode et patience, de récupérer la quasi-totalité de ces enregistrements.
Rendre accessibles ces témoignages vivants aux générations futures, c'est un des aspects de la valorisation d'archives privées et c'est l'une des missions de Nostalys !
Alors, n'hésitez pas prendre contact avec moi pour un devis gratuit ! Contact



Commentaires