108 votes

En utilisant ffmpeg pour obtenir des informations sur la vidéo - pourquoi dois-je spécifier un fichier de sortie ?

Je suis en train d'utiliser ffmpeg pour obtenir des informations sur un fichier vidéo et je ne veux pas sauvegarder les informations dans un fichier. ffmpeg renvoie toutes les informations sur la vidéo, mais renvoie une erreur car je ne spécifie pas de fichier de sortie. La commande que j'utilise est :

ffmpeg -i C:\Test\3FA8D0E6-BD61-D160-98BB41304D63FAE3.mp4

L'erreur que je reçois est "Au moins un fichier de sortie doit être spécifié"

Je fais appel à cela en ColdFusion en utilisant , et la sortie est stockée dans une variable locale, c'est pourquoi je ne veux pas spécifier de fichier... Je n'ai tout simplement pas besoin de stocker cela dans un fichier.

Si cela fait une différence, je fais cela sur Windows.

192voto

blahdiblah Points 17382

Il y a une erreur car FFmpeg exige qu'un fichier de sortie soit spécifié. L'utiliser juste pour obtenir des informations sur un fichier n'est pas son utilisation prévue.

Option 1: Ignorer l'erreur. FFmpeg imprime d'abord les informations sur le fichier, vous pouvez donc simplement obtenir les informations dont vous avez besoin et ignorer l'erreur.

Option 2: Utiliser ffprobe à la place. FFprobe est un autre outil généralement empaqueté avec FFmpeg conçu pour obtenir des informations sur les fichiers multimédias. Il peut même sortir les informations dans une variété de formats facilement analysables pour éviter de devoir analyser la sortie de FFmpeg.

29voto

O.Badr Points 21

Très tard, mais j'espère que cela pourra aider quelqu'un s'il ne souhaite pas utiliser ffprobe (voir réponse de @blahdiblah).

Vous pouvez utiliser Null avec ffmpeg comme indiqué dans la documentation:

ffmpeg -i C:\Test\3FA8D0E6-BD61-D160-98BB41304D63FAE3.mp4 -f null -

9voto

Redtopia Points 721

J'ai fini par utiliser ffprobe à la place. Voici mon code de test ColdFusion ... gardez à l'esprit que cela pourrait être mieux écrit. À ce stade, je suis seulement intéressé par la largeur/hauteur/durée.

5voto

alemol Points 81

Il est possible de le faire avec ffmpeg et si vous ne voulez pas enregistrer les informations dans un fichier, vous pouvez simplement les envoyer vers /dev/null dans les systèmes *nix.

ffmpeg -i fichier.mp4 -hide_banner -f null /dev/null

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X