Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/242.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用ffmpeg从具有ken burns效果的图像生成视频_Php_Ffmpeg_Zooming - Fatal编程技术网

Php 使用ffmpeg从具有ken burns效果的图像生成视频

Php 使用ffmpeg从具有ken burns效果的图像生成视频,php,ffmpeg,zooming,Php,Ffmpeg,Zooming,我正在尝试从图像生成视频 以下代码生成视频,每3秒1帧 exec("ffmpeg -f image2 -r 1/3 -loop_input -shortest -y -i tmp/image%3d.jpg -i tmp/ag1.mp3 -target ntsc-dvd -s 1280x720 tmp/video.mwv"); 我想把ken burns效应应用到它上,我已经搜索了很多,但找不到任何解决方案 有人能帮我吗?如果您能提供任何代码片段,我们将不胜感激。我认为单凭ffmpeg

我正在尝试从图像生成视频

以下代码生成视频,每3秒1帧

     exec("ffmpeg -f image2 -r 1/3 -loop_input -shortest -y  -i tmp/image%3d.jpg -i tmp/ag1.mp3 -target ntsc-dvd -s 1280x720 tmp/video.mwv");
我想把ken burns效应应用到它上,我已经搜索了很多,但找不到任何解决方案


有人能帮我吗?如果您能提供任何代码片段,我们将不胜感激。

我认为单凭ffmpeg无法做到这一点。我以前用一个叫做。我从来没有听说过很多关于它的事,但是它制作了一些我见过的最好的幻灯片,因为你可以使用像Ken Burns这样的效果。它确实在最后一步使用ffmpeg对视频进行实际编码


看看这些例子,应该很简单。

这可以通过Imagemagick和ffmpeg的组合来完成。使用图像魔术制作一系列裁剪图像,使用ffmpeg将一系列图像转换为电影。
使用ImageMagick裁剪图像时,应沿一个或多个向量进行,以创建创建运动的“帧”。当然,所有图像都必须具有相同的外部尺寸(使用ImageMagick很容易做到),但您可以使用ImageMagick中的裁剪和缩放工具创建各种逐帧运动。

Ken Burns可以应用于。看见该程序类似于门控程序的GUI。它基于Python,因此可用于Windows(甚至是可移植版本)和Linux。Linux也有,但我还没有尝试过

在Windows下,免费的Microsoft MovieMaker也可以应用Ken Burns。虽然它只创建WMV文件,但电影制作人的GUI IMHO比电影胶片要好得多。然而,最重要的是在批处理或shell脚本中应用MEncoder。作为“门控码语法”的开始搜索。

FFMPEG


目前,它确实有一些问题与不稳定的视频运动

使用ImageMagick(6.x版)尝试此脚本

#/bin/bash

对于((resizepercent=100;resizepercent)要让diascope在ubuntu 12中运行,我必须安装gawk而不是默认的mawk,将/usr/local/bin/diascope更改为使用gawk,并将其对生成的脚本“kenburns_slideshow.sh”(查找'nice')的调用更改为显式调用/bin/bash(之前的chmod u+x没有效果,不知道为什么)。此外,diascope在smb安装的win7目录中运行时失败(除非您指定“base basename/tmp”。这是因为它调用imagemagick的
convert
,以创建一对文件foo.mpc和foo.cache(“mpc格式”)的映像。呈现为纯黑色。但在本地linux磁盘上,
convert
和diascope都可以工作。还有一个修复方法:删除diascope传递给ffmpeg的“-aspect%s%s”参数,以创建一个正确的16x9视频,而不是方形视频。这种组合正是diascope所做的(Jason B的回答)。您可以使用Imagemagick的-扭曲SRT在某些脚本循环中进行缩放、旋转和平移以生成效果。请参阅
#!/bin/bash
for (( resizepercent=100; resizepercent<=200; resizepercent+=10 ))
do
    convert bird.jpg -resize $resizepercent% -gravity Center -crop 1800x1900+0+0 bird$resizepercent.png
done