image - rawvideo 和 rgb32 值传递给 FFmpeg

标签 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 不同,因此我需要了解我传入的输入文件的格式。

那么,rawvideoFFmpeg 意味着什么?

FFmpeg 确定输入文件的原始格式类型,还是 rawvideo 表示不同的东西?

这里的rgb32是什么意思?

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

最佳答案

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

-vcodec rawvideo 表示容器内的视频数据未压缩。然而,未压缩的视频有多种存储方式,因此有必要指定 -pix_fmt 选项。在您的情况下,-pix_fmt rgb32 表示原始视频数据中的每个像素使用 32 位(红色、绿色和蓝色各 1 个字节,其余字节被忽略)。

有关选项含义的更多信息,请参阅 ffmpeg documentation .

关于image - rawvideo 和 rgb32 值传递给 FFmpeg,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7238013/

相关文章:

node.js - nodejs快速获取mp4文件缩略图

image - 裁剪图像并使用 ffmpeg 获取左侧部分

javascript - Youtube API : Starting video doesn't work

php - FFmpeg(来自视频的缩略图)在命令行中有效,但在 PHP 脚本中无效

c - time_base 适用于视频但对音频有不良影响

java - 调整图像大小使其适合 JPanel 网格

mysql - 使用 TinyMCE 发布的图像有大小限制吗?

html - 将 <img> 替换为 <div>

c++ - 使用opencv c++进行水下图像增强

Flutter FFMPEG 根据视频大小增加处理时间,即使只切割相同大小