linux - 从视频ffmpeg中提取原始输出文件(无扩展名)

标签 linux opencv ffmpeg

ffmpeg -i timer.mp4 -r 1 output_%01d.png
这每秒以 png 格式提取帧,我想要原始格式(而不是我需要在没有扩展名的情况下提取的图像)。
需要从视频中提取没有扩展的帧。
你知道提取没有扩展名的帧的命令吗(即 ffmpeg -i timer.mp4 -r 1 output_%01d ,但这会出错)

最佳答案

文件的扩展名并不能真正确定其内容的格式——这只是一种 Windows 主义。
您说您想要“原始”输出,但这可能意味着“原始 RGB”、“原始 YUV”或“原始 MJPG 帧”,所以我假设您想要 RGB888 数据。您可以像这样在 5 秒内每秒获得 1 帧:

ffmpeg -i INPUT -t 5 -r 1 -pix_fmt rgb24 q-%d.raw
不过就我个人而言,我会选择完全相同的 PPM,但在顶部增加了 3 行,告诉您是二进制还是 ASCII、宽度和高度以及 8 位还是 16 位:
ffmpeg -i INPUT -t 5 -r 1 q-%d.ppm
您可以像处理原始文件一样处理这些文件,但也可以使用 feh 将它们作为图像查看。 , Photoshop , GIMP 等等,我认为这是一个很好的好处。以下是 1280x720 视频的前 3 行:
P6
1280 720
255
该文件的其余部分只是二进制的 RGB888。

关于linux - 从视频ffmpeg中提取原始输出文件(无扩展名),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62476259/

相关文章:

audio - 如何让 FFmpeg 在单循环静音视频中自动注入(inject) mp3 音轨?

c - libvlc 获取媒体类型(音频或视频)

c - 用于附加共享内存段的 shmat

c++ - 合并几个 boost 序列化的 OpenCV Mats

c++ - OpenCV/Eigen3 编译失败

c++ - 避免线程本地存储开销(使 ffmpeg YADIF 可扩展)

linux - tcsh 脚本 - 不会使用 cygwin 输出简单的 ls -l 命令

php - 安装 phabricator 时无法连接到 mysql

opencv - 如何从 OpenCV 的 fitEllipse 函数中获取椭圆系数?

android - libmp3lame.a 中 undefined symbol _init_xrpow_core_init