Je veux enregistrer un bmpfichier en 1.mp4utilisant Ffmpeg, comment y parvenir?
La question est très simple. J'ai un fichier source, appelons-le source.pnget 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 bmpextension, 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 -fparamè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 -formatsaffiche 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 bmpdans ce cas), comment déterminer le mot qui doit être placé après -fpour 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 bmppar une autre extension et cela fonctionnera?