1 votes

Existe-t-il un moyen de transcoder le MPEG-PS avec des timecodes incorrects en MPEG-4 AVC avec ffmpeg ?

J'ai quelques fichiers vidéo dans MPEG-PS\MPEG-4 Visual\MPEG Audio ces fichiers ont des codes temporels corrompus, ce qui empêche la plupart des lecteurs de les lire correctement. Lorsque j'essaie de l'ouvrir avec VLC, la vidéo est lue correctement, mais l'indicateur de durée totale du fichier change constamment, sautant d'un côté à l'autre.

J'ai essayé de convertir simplement les fichiers en MPEG-4\AVC\AAC avec cette commande :

ffmpeg.exe -nostdin -y -loglevel info  -i "D:\input.mp4"  -f mp4  "D:\output.mp4"

Mais cela a abouti à un fichier dont la durée est incorrecte. La lecture du flux vidéo est correcte, mais la durée générale du fichier obtenu est supérieure de quelques heures à ce qu'elle devrait être, ce qui signifie qu'il y a quelques heures d'images noires et de silence à la fin.

Existe-t-il un moyen de convertir MPEG-PS\MPEG-4 Visual\MPEG Audio a MPEG-4\AVC\AAC avec la correction ou la création d'une nouvelle ligne du temps ?

0voto

Eugen Rieck Points 19064

Deux possibilités s'offrent à vous :

  • utiliser le paramètre -t pour s'arrêter au point final souhaité
  • Utiliser un concat d'entrée : Un clip correct très court (par exemple, 1 image noire), puis le clip défectueux. Avec un concat ffmpeg utilisera les horodatages de la première entrée, puis adaptera les horodatages suivants pour les ajouter de manière transparente.

Vous pouvez également utiliser la fonction -c copy afin d'éviter le recodage s'il n'est pas nécessaire.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X