rawvideo和rgb32值传递给FFmpeg

时间:2011-08-30 02:13:36

标签: image video ffmpeg rgb rgba

我使用此调用将文件转换为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>

那么,rawvideoFFmpeg意味着什么?

FFmpeg确定输入文件的原始格式类型,或rawvideo表示不同的内容吗?

rgb32在这里意味着什么?

输入文件的大小略大于(width * height * 8)个字节。

1 个答案:

答案 0 :(得分:10)

通常,视频文件包含视频流(其格式使用-vcodec指定),嵌入媒体容器(例如mp4,mkv,wav等)。 -f选项用于指定容器格式。 -f rawvideo基本上是一个虚拟设置,告诉ffmpeg您的视频不在任何容器中。

-vcodec rawvideo表示容器内的视频数据未压缩。但是,有许多方法可以存储未压缩的视频,因此有必要指定-pix_fmt选项。在您的情况下,-pix_fmt rgb32表示原始视频数据中的每个像素都使用32位(红色,绿色和蓝色分别为1个字节,忽略其余字节)。

有关选项含义的详细信息,请参阅ffmpeg documentation