web-dev-qa-db-fra.com

Utilisation de FFMPEG pour convertir sans perte YUV vers un autre format pour l'édition dans Adobe Premier

J'ai un fichier vidéo YUV brut sur lequel je souhaite effectuer des modifications de base dans Adobe CS6 Premiere, mais il ne reconnaîtra pas le fichier. J'ai pensé à utiliser ffmpeg pour le convertir en quelque chose que Premiere accepterait, mais je veux que cela soit sans perte car après, j'en aurai besoin à nouveau au format YUV. J'ai pensé à avi, mov et prores, mais je n'arrive pas à comprendre la ligne de commande appropriée pour ffmpeg et comment s'assurer qu'elle est sans perte.

Merci de votre aide.

26
kilgoretrout

Oui, c'est possible. Il est normal que vous ne puissiez pas ouvrir ce fichier vidéo brut car il ne s'agit que de données brutes dans un fichier géant, sans en-tête. Adobe Premiere ne sait donc pas quelle est la taille, quel framerate ect.

Assurez-vous d'abord d'avoir téléchargé l'outil de ligne de commande FFmpeg . Ensuite, après l'installation, vous pouvez commencer la conversion en exécutant une commande avec des paramètres. Il y a quelques paramètres que vous devez remplir vous-même avant de commencer la conversion:

  1. Quel type de format de pixel YUV utilisez-vous? Le format le plus courant est YUV4: 2: 0 planaire 8 bits (YUV420p). Vous pouvez taper ffmpeg -pix_fmts pour obtenir une liste de tous les formats disponibles.
  2. Quel est le framerate? Dans mon exemple, j'utiliserai -r 25 fps.
  3. Quel encodeur souhaitez-vous utiliser? L'encodeur libx264 (H.264) est idéal pour la compression sans perte.
  4. Quelle est votre taille de cadre? Dans mon exemple, j'utiliserai -s 1920x1080

Ensuite, nous obtenons cette commande pour effectuer votre compression.

ffmpeg -f rawvideo -vcodec rawvideo -s 1920x1080 -r 25 -pix_fmt yuv420p -i inputfile.yuv -c:v libx264 -preset ultrafast -qp 0 output.mp4

Une petite explication de tous les autres paramètres:

  • Avec -f rawvideo vous définissez le format d'entrée sur un conteneur vidéo brut
  • Avec -vcodec rawvideo vous définissez le fichier d'entrée comme non compressé
  • Avec -i inputfile.yuv vous définissez votre fichier d'entrée
  • Avec -c:v libx264 vous définissez l'encodeur pour encoder la vidéo en libx264.
  • Le -preset ultrafast le paramètre accélère uniquement la compression, de sorte que la taille de votre fichier sera plus grande que sa définition sur veryslow.
  • Avec -qp 0 vous définissez la qualité maximale. 0 est le meilleur, 51 est la pire qualité dans notre exemple.
  • Ensuite output.mp4 est votre nouveau conteneur dans lequel stocker vos données.

Une fois que vous avez terminé dans Adobe Premiere, vous pouvez le reconvertir en un fichier YUV en inversant presque tous les paramètres. FFmpeg reconnaît le contenu du conteneur mp4, vous n'avez donc pas besoin de fournir de paramètres pour l'entrée.

ffmpeg -i input.mp4 -f rawvideo -vcodec rawvideo -pix_fmt yuv420p -s 1920x1080 -r 25 rawvideo.yuv

58
Nick van Tilborg