Forum Linux.général supprimer une frame d'un fichier avi

Posté par  .
Étiquettes : aucune
0
12
juil.
2006
Bonjour,

voila, après avoir chercher 2 bonnes heures sur Internet, je n'ai toujours rien trouvé

J'ai un fichier avi corrompu en 2 points :

- il n'a pas d'index : enfin ca apparemment ce n'est pas un problème
- la frame 53933 est corrompue, il ne s'agit pas d'une keyframe. Cette erreur m'empêche totalement de voir la suite du fichier sur tous les lecteurs (xine, mplayer, vlc).

Je cherche donc un logiciel ou bien une petite ligne de commande qui me permettrait de retirer cette frame défectueuse (de préférence sans avoir à tout réencoder)

merci
  • # avidemux

    Posté par  . Évalué à 2.

    Avidemux devrait faire l'affaire, il est graphique et relativement simple d'utilisation (c'est une sorte de virtualdub).
  • # Mplayer...

    Posté par  . Évalué à 1.

    Salut,

    Pour info, Mplayer sait ré-indéxer les vidéo à problème avec le switch "-idx". Je suppose que tu pourrais donc refaire ta vidéo avec Mencoder de la façon suivante :

    $ mencoder -idx origine.avi -oac copy -ovc copy -o destination.avi

    Tiens nous au courant, j'ai essayé vite fait sur un bout de fichier AVI et ça semble fonctionner.
    • [^] # Re: Mplayer...

      Posté par  . Évalué à 1.

      je connais avidemux mais malheureusement, il ne veut pas ouvrir le fichier d'origine (avec les deux defauts).
      "Info: Could not open the file"

      je connais egalement mencoder avec -idx, je l'ai appliqué au fichier, ca me sort un avi propre mais le fichier est tronqué au secteur defectueux 53933.

      Virtualdub a reussi à l'ouvrir, seulement je ne connais rien à ce logiciel, pourriez-vous me décrire l'opération pour supprimer une frame (là aussi je n'ai rien trouvé de convaincant à ce sujet)
  • # Et de deux ....

    Posté par  . Évalué à 1.

    Tu peux aussi essayer de couper ton fichier en deux dans un premier temps. avisplit du paquet transcode devrait faire l'affaire.

    $ avisplit -t 0-frame-1,frame+1-frame_total -i ton_fichier -o base_fichiers

    Toutefois, je crois qu'il faille que la frame+1 soit une frame clé. A vérifier.

    Puis tu recolle les morceaux:

    $ avimerge -i base_fichiers* -o fichier_sans_frame.avi

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.