我想创建一个网站,播放用户在html5视频中上传的视频。
如何将服务器端的任何视频类型转换为WebM,OGG或MP4?
FFmpeg是最好的解决方案吗?到目前为止,这是我的想法,但我更愿意找到一种更简单的方法。
答案 0 :(得分:5)
是的,ffmpeg是最好的解决方案,但您需要按照以下步骤在所有浏览器中使用视频:
1-从这里ffmpeg download
下载最新版本的ffmpeg2-将内容解压缩到目录;
3-用PHP调用exe文件生成mp4和webm视频格式,如下所示:
exec(ffmpegdirectory/bin/ffmpeg.exe -i your_video_path -qscale 4 -vcodec libx264 -f mp4 your_new_video_path.mp4);
exec(ffmpegdirectory/bin/ffmpeg.exe -i your_video_path -b 1500k -vcodec libvpx -acodec libvorbis -ab 160000 -f webm -g 30 -s your_new_video_path.webm);
4-在IIS中允许(如果是你的话)Mime类型mp4和webm
5-使用video.js构建html5视频标记并调用两个转换后的视频(mp4和webm);
注意:如果您不使用video.js,可能视频无法在IE中使用。
答案 1 :(得分:0)
很好,但你的编码与RED_ALERT用户有点关系。
<?php
shell_exec("ffmpegdirectory/bin/ffmpeg.exe -i your_video_path -qscale 4 -vcodec libx264 -f mp4 your_new_video_path.mp4");
shell_exec("ffmpegdirectory/bin/ffmpeg.exe -i your_video_path -b 1500k -vcodec libvpx -acodec libvorbis -ab 160000 -f webm -g 30 -s your_new_video_path.webm");
&GT;
所以基本上你将ffmpeg添加到计算机上的单独目录文件夹中,如果使用wamp则不添加到wamp中。你可以假设我创建了一个html文档来制作视频并且不需要视频js。当然,您需要知道视频的路径,并想出一种方法将msyql查询的路径放到上面的php shell_exec命令中。
这是另一个将wmv视频转换为mp4视频的示例。
<?php shell_exec("ffmpeg/bin/ffmpeg -i /myvideos/lionseatsham.wmv -s 500x400 -strict -2 /myvideo/lioneatshame.mp4 2>&1");
&GT;