php - 在我添加水印时,FFMPEG gif 调整大小不起作用

标签 php ffmpeg

我正在尝试将视频大小调整为 gif 图像。但每次我都失败了。

请检查我的cdde:

$input = "files/video.mp4";
$thumbnail = 'img/logo.png'
$output = 'gif/'.time().'.gif';

$command = "ffmpeg -t 3 -ss 00:00:02 -i $input -i $thumbnail -filter_complex overlay=W-w-5:H-h-5 -codec:a copy $output"
@exec($command, $ret);
print_r($ret);

上面的命令我没有得到数组结果。但工作正常。我的视频成功转换为带水印的 GIF。但是,如果我试图调整以下代码的大小。该命令不起作用。请告诉我错误在哪里
$command = "ffmpeg -t 3 -ss 00:00:02 -i $input -vf scale=400:-1 -i $thumbnail -filter_complex overlay=W-w-5:H-h-5 -codec:a copy $output"

请帮我。让我知道是否有任何其他方法可以通过调整大小和水印图像将视频制作为 gif。

编辑:如果我要删除水印命令。然后我调整大小的 GIF 工作正常。

最佳答案

缩放也应该发生在复合体中。

ffmpeg -t 3 -ss 00:00:02 -i $input -i $thumbnail -filter_complex [0]scale=400:-1[b];[b][1]overlay=W-w-5:H-h-5 -codec:a copy $output

否则独立 vf输出被 ffmpeg 映射为输出。

FFmpeg 为优化的 GIF 生成提供了 palettegen 和 paletteuse 过滤器。
ffmpeg -t 3 -ss 00:00:02 -i $input -i $thumbnail -filter_complex [0]scale=400:-1[b];[b][1]overlay=W-w-5:H-h-5,split[v][p];[p]palettegen,fifo[pal];[v][pal]paletteuse -codec:a copy $output

关于php - 在我添加水印时,FFMPEG gif 调整大小不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38125435/

相关文章:

php - SELECT * FROM table_1 WHERE id = id in table_2

php - 更改数据库连接以连接到 Wordpress 连接 - 应该很简单吗?

php - 如何使用 Doctrine2 中的 EntityManager 检索具有所有关联的实体?

image - FFMPEG > 以静止图像结束视频

ffmpeg - 26 :30:02. 81 录制时间后非单调DTS

php - 具有代码完成功能的最小 PHP IDE?

php - Zend框架2 : How to write custom query using tablegateway

windows - ffmpeg 解码 h.264 流延迟总是一帧

audio - ffmpeg - 制作干净的 WAV 文件

c - 尝试在 Windows 8.1 下使用 Codeblocks IDE 在 C 中使用 FFMPEG