Ffmpeg - 将 bmp 文件保存为不同的扩展名

Ffmpeg - 将 bmp 文件保存为不同的扩展名

我想使用Ffmpeg保存一个bmp文件1.mp4,如何实现?

问题很简单。我有一些源文件,我们称之为source.png,我想将其编码为bmp,但要将其保存为扩展名为的文件mp4。当然,实现它的一种方法是将其保存为bmp扩展名为的文件,然后使用命令行将其重命名为mp4。但这不是我想要的。我希望它直接保存为mp4

我在网上搜索了一下,发现要实现这个功能,必须指定-f参数。这是我的命令行:

ffmpeg -hide_banner -i source.png -f bmp 1.mp4

当然,我得到了一个错误Requested output format 'bmp' is not a suitable output format.。我继续寻找解决方案,发现使用参数调用 Ffmpeg-formats会显示所有支持的格式。我照做了,发现只有一种格式包含单词bmp

D  bmp_pipe        piped bmp sequence

然后我替换了-f bmp with-f bmp_pipe`,但再次出现相同的错误。那么,如何正确执行此操作?

总的来说,我的问题是:给定扩展名(例如bmp在这种情况下),如何确定需要放置在后面的单词-f以便对扩展名进行编码?


也许我的问题不够清楚。我正在寻找一种方法来找到扩展名(、、、bmp等)与我需要传递以编码到该扩展名的 Ffmpeg 参数之间的联系。pngmp4avi

基本上,我正在创建一个用户界面应用程序,其中:

  1. 用户输入分机号(例如mp4
  2. 用户输入输出文件名(例如C:\1.exe(只是一个愚蠢的例子))
  3. 我需要生成 ffmpeg 进程,该进程将对输入文件进行编码,就像输出文件位于用户指定的扩展名中一样

我希望现在更加清楚了。

答案1

您必须通过父级复用器来获取图像序列image2

ffmpeg -i in.png -c:v bmp -vframes 1 -f image2 out.mp4

运行 ffmpeg-muxers以获取可用值的列表-f。没有链接到多路复用器的中央扩展列表。

相关内容