使用 PHP 创建视频文件
我有使用 diff 创建视频文件的场景。图像、音频文件等资产。
我想要做的是,从特定文件夹中查找音频文件并将其设置为背景音乐,然后从特定文件夹中获取图像并一一显示这些图像。
基本上我有图像和音频文件,我想使用 PHP 使用这些资源创建一个视频文件。
任何人都可以建议这一点的起点吗?已经完成了视频图像捕获并使用 Ffmpeg 转换视频,所以我想到了 Ffmpeg,但是,我认为它不允许创建视频。
I have scenario for creating a video files using diff. assets like images, audio file.
What I want to do is, Find audio files from the particular folder and set it as background music, and fetch images from particular folder and show those images one by one.
So basically I have images and audio files and I want create a video file using those assets using PHP.
Can any one please suggest the start up point for this? Have done image capture from video and converting the video using Ffmpeg so I have think of Ffmpeg but, I think it will not allow to create a video.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
ffmpeg 将允许您从静止图像创建视频。
例如,要从图像 001.jpg .... 999.jpg 创建帧速率为 10fps 的视频:
您可以像(添加比特率的相关编解码器选项等)一样复用流(音频和视频)
我不是将更详细地介绍,因为 ffmpeg 很痛苦(参数在版本之间以不兼容的方式更改,并且取决于它的编译方式),并且找到适合您的速率/压缩/分辨率设置是反复试验。
ffmpeg will allow you to create videos from still images.
For example, to create a video with a 10fps frame rate, from images 001.jpg .... 999.jpg:
You can mux streams (audio and video) like (add relevant codec options for bitrate, etc)
I'm not going to go into more detail, as ffmpeg is a pain (args change in incompatible ways between versions, and depending on how it was compiled), and finding a rate/compression/resolution setting that is good for you is trial-and-error.
在 Ubuntu 下,您需要 PHP5、ffmpeg 并访问 ffmpeg 二进制文件,这可以通过以下方式轻松实现:
我使用此 php 函数从一张 gif 图像和一个 mp3 文件生成 mp4 视频,源图像和输出视频文件都是 720x576像素:
使用示例:
Under Ubuntu you need PHP5, ffmpeg and access to ffmpeg binary, this can be easy achieved with:
I'm using this php function to generate an mp4 video from one gif image and one mp3 file, both source image and output video files are 720x576 pixels:
example use:
菲尔的解决方案是正确的做法。通过在 ffmpeg 上记录自己来弄清楚需要做什么(这很乱,我不能责怪他不想做你的作业),然后从 php 中调用它。
粗略谷歌搜索显示了 php 包装器(例如 http://ffmpeg-php.sourceforge.net/)。如果没有一个足够新/完整,请坚持从 php.ini 发出所需的 shell 命令。
Phil's solution is the correct approach. Work out what needs to be done by documenting yourself on ffmpeg (it's messy, and I can't blame him for not wanting to do your homework), and then call it from within php.
Cursory googling reveals php wrappers (e.g. http://ffmpeg-php.sourceforge.net/). If none are recent/complete enough, stick to issuing the needed shell commands from php.
或者
Or