ffmpeg - 创建 256 色调色板视频

标签 ffmpeg

我已经通过以下方式将源视频转换为 GIF 来完成这项工作:

ffmpeg -y -t 5 source.mp4 -vf fps=10,scale=480:-1,smartblur=ls=-0.5,crop=iw:ih-2:0:0 -hide_banner -loglevel panic output.gif

然后将 GIF 转换为 MP4,如下所示:
ffmpeg -y animated.gif -hide_banner -pix_fmt yuvj420p -loglevel panic -an -loglevel panic final.mp4

我想要的是转换source.mp4直接到final.mp4 ,并具有与普通 GIF 相同的 256 色调色板。

我尝试将这两个命令合并在一起,虽然它会生成 MP4,但结果是 16 位视频,比 8 位视频小得多。

我需要先用palettegen 生成调色板吗?然后用这个调色板重新编码视频?

最佳答案

您可以使用调色板生成和调色板使用过滤器,就像通常用于创建 GIF 一样。

ffmpeg -i source.mp4 -vf palettegen palette.png

接着,
ffmpeg -i source.mp4 -i palette.png -filter_complex "paletteuse" -c:a copy out.mp4

关于ffmpeg - 创建 256 色调色板视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60477430/

相关文章:

ffmpeg - 某些视频无法通过错误 MEDIA_UNKNOWN 进行 chromecast

video - 相机的pts和dts跳转问题

c++ - 将 FFMPEG 帧写入 png/jpeg 文件

java - 使用 FFProbe 获取视频 fps

FFMpeg 调整任何视频的大小以适应 1080x1920 垂直,而不进行裁剪,而是通过缩小和添加模糊边框?

video - FFmpeg 将一个视频叠加到另一个视频上,混音,缩放叠加的视频并将其定位在右下角

ffmpeg - 使用 ffmpeg 从 UDP H264 流中抓取的帧是灰色/失真的

c - 每帧的 ffmpeg 边数据或元数据

ffmpeg - CLI 从 quicktime 或 mpeg 文件中提取日期/时间戳(时间戳)

ubuntu - 为什么我在使用 ffmpeg 时收到关于 '{localtime' 附近未终止的 %{} 的错误