Je veux enregistrer un bmp
fichier en 1.mp4
utilisant Ffmpeg, comment y parvenir?
La question est très simple. J'ai un fichier source, appelons-le source.png
et je veux l'encoder comme bmp
, mais l'enregistrer en tant que fichier avec l'extension mp4
. Bien sûr, une façon de le réaliser consiste à le sauvegarder en tant que fichier avec une bmp
extension, puis à l’utiliser en ligne de commande pour le renommer mp4
. Mais ce n'est pas ce que je veux. Je veux que ce soit enregistré directement sous mp4
.
J'ai cherché sur internet et j'ai trouvé que pour y parvenir, il fallait spécifier un -f
paramètre. Ceci est ma ligne de commande:
ffmpeg -hide_banner -i source.png -f bmp 1.mp4
Et bien sûr, j'ai une erreur Requested output format 'bmp' is not a suitable output format.
. J'ai continué à chercher une solution et j'ai trouvé que l'appel de Ffmpeg avec paramètre -formats
affiche tous les formats pris en charge. Je l'ai fait et je n'ai trouvé qu'un seul format contenant le mot bmp
:
D bmp_pipe piped bmp sequence
Ensuite, j'ai remplacé -f bmp with
-f bmp_pipe`, mais j'ai eu la même erreur. Alors, comment le faire correctement?
En général, ma question est la suivante: extension donnée (par exemple bmp
dans ce cas), comment déterminer le mot qui doit être placé après -f
pour pouvoir encoder de la même manière que cette extension est présente?
Peut-être que je n'étais pas assez clair dans la question. Je suis à la recherche d'un moyen de trouver le lien entre l' extension ( bmp
, png
, mp4
, avi
, etc.) et le paramètre Ffmpeg je dois passer pour encoder à cette extension.
Fondamentalement, je crée une application d'interface utilisateur où:
- L'utilisateur entre l'extension (par exemple
mp4
) - L'utilisateur entre le nom du fichier de sortie (par exemple
C:\1.exe
(juste un exemple stupide)) - J'ai besoin de générer un processus ffmpeg qui encodera le fichier d'entrée comme le fichier de sortie se trouve dans l'extension spécifiée par l'utilisateur
J'espère que c'est plus clair maintenant.
.mp4
). Puis-je remplacer-c:v bmp
par une autre extension et cela fonctionnera?-f ext
-c:v ext -f image2
et pour tous les formats vidéo, j’ai besoin de passer-f ext
, non? Y a-t-il des exceptions?-f
. Exécuterffmpeg -muxers
pour obtenir une liste des-f
valeurs disponibles . Il n'y a pas de liste centrale des extensions liées aux multiplexeurs.