我使用此调用将文件转换为PNG格式:
ffmpeg.exe -vframes 1 -vcodec rawvideo -f rawvideo -pix_fmt rgb32 -s <width>x<height> -i infile -f image2 -vcodec png out.png
我想使用可以链接或编译成闭源商业产品的转换器,与FFmpeg
不同,所以我需要了解传入的输入文件的格式。< / p>
那么,rawvideo
对FFmpeg
意味着什么?
FFmpeg
确定输入文件的原始格式类型,或rawvideo
表示不同的内容吗?
rgb32
在这里意味着什么?
输入文件的大小略大于(width * height * 8)
个字节。
答案 0 :(得分:10)
通常,视频文件包含视频流(其格式使用-vcodec
指定),嵌入媒体容器(例如mp4,mkv,wav等)。 -f
选项用于指定容器格式。 -f rawvideo
基本上是一个虚拟设置,告诉ffmpeg您的视频不在任何容器中。
-vcodec rawvideo
表示容器内的视频数据未压缩。但是,有许多方法可以存储未压缩的视频,因此有必要指定-pix_fmt
选项。在您的情况下,-pix_fmt rgb32
表示原始视频数据中的每个像素都使用32位(红色,绿色和蓝色分别为1个字节,忽略其余字节)。
有关选项含义的详细信息,请参阅ffmpeg documentation。