我拥有网站www.goploom。com类似于youtube,允许用户上传和观看视频。上传的视频被转换为mp4格式,以与我们网站的html5视频播放器兼容。我的问题是,虽然FFmpeg成功地从上传的视频生成视频缩略图并将图像存储在适当的目录中,但我的代码的视频转换方面不会产生任何输出。我已经对代码进行了几个小时的调整,但我无法解决这个问题,但是,有人告诉我,我可以使用html、php和ffmpeg执行视频转换。
我的ffmpeg路径是正确的,因为缩略图生成非常有效。
$name=$_FILES['video']['name'];$title=$_POST['video otitle'];$type=爆炸('.', $name);
$type=end($type);$size=$_FILES['video']['size'];$random_name=rand();$tmp=$_FILES['video']['tmp_name'];
if($type != 'mp4' && $type != 'MP4' && $type != 'flv' && $type != 'FLV' && $type != 'mov' && $type != 'MOV'){
$message = "Video Format Not Supported<br>";
} else {
$username_query = mysql_query("SELECT `username` FROM `users` WHERE `user_id` = $session_user_id");
$username = mysql_fetch_assoc($username_query);
$username = $username['username'];
**缩略图生成完美的作品。$ffmpeg="/usr/本地/bin/ffmpeg";$video oFile=$_FILES['video']['tmp_name'];$ImageFile="上传/"。$username."/thumail/"。$random_name. jpg";$size="160x90";$getFrom第二=5;$cmd="$ffmpeg-i$video oFile-an-ss$getFrom秒-s$size$ImageFile"; if(!shell_exec($cmd)){回声"缩略图已创建!
";
}另一些{echo"创建缩略图时出错!";}
**将上传的文件移动到其永久目录进行视频转换。$newFilePlace="上传/".$username."/temp".$random_name.".".$type;move_uploaded_file($tmp,$newFilePlace);
*视频转换代码$outputFile=“uploads/”$用户名。"/".$随机名称。“.mp4”$databaseStoredVideoUrl=“上传/”$用户名。"/".$随机名称。“.mp4”$video_cmd=“$ffmpeg-i$newFileLocation$outputFile”;echo$video\u cmd;如果(!shell_exec($video_cmd)){echo”视频已转换!
“;}否则{echo“创建缩略图时出错!”
}
**将输出src链接正确存储在数据库中,但无法查看视频,因为它不存在。//将视频存储到数据库中的正确用户名和用户目录mysql_query(“插入视频
值(“$session_user_id”、“$name”、“$outputFile”、“$title”、“$imageFile”)$message=“视频上传成功。
”;
任何帮助或洞察力都将是辉煌的。谢谢。
**编辑:使用以下行修复$video_cmd=“$ffmpeg-i$newFileLocation-vcodec libx264-vpre normal-acodec libfaac$outputFile”;
然后将$video\u cmd输入shell\u exec
不知道。我自己用FFMPEG和PHP工作过几次,你可能遇到的一些问题如下:
如果你运行编码作为Web请求,你应该避免这样做,而是做一个cron作业或一个单独的服务,检查是否有任何新的视频应该被处理和编码(视频队列服务)。
确保这一点的步骤大致如下:
如果您对PHP最满意,请使用ini_set(set_time_limit,0)编写一个php脚本,以确保脚本不会超时。其他选项可以是bash脚本,或者例如使用node.js和永远的ffmpeg库来创建处理服务。
我从安装了这个版本http://ffmpeg.org/releases/ffmpeg-2.5.3.tar.bz2 还尝试了yum版本,但对于youtube-dl来说还不够新。 我尝试了,PHP/Apache仍然找不到ffmpeg。 Apache用户在CentOS 6.5上运行PHP脚本<打电话给我的youtube dl。以根用户身份从php命令行调用php(使用FFmpeg) 调用my youtu
我使用FFMPEG创建视频缩略图, 我已经下载了FFMPEG(FFMPEG-2.4.2.tar.bz2)并安装在服务器上。 位于 /usr/bin/ffmpeg 并在以下代码中使用: 但是这个命令没有像我预期的那样工作... 问题是我们上传视频时未创建视频缩略图。 任何帮助很大的赞赏
我已经创建了视频文件的缩略图图像文件使用ffmpeg在PHP。它正在wamp服务器上成功工作。现在想在xampp服务器中使用它,但它不工作......这是我创建缩略图的代码: 为什么它不在xampp上工作。。。谢谢$getFromSecond=25$cmd=“$ffmpeg-i$videoFile-an-ss$getFromSecond-s$size$imageFile”;
我必须得到我使用ffmpeg的视频缩略图。在我的服务器上,我从ssh运行ffmpeg命令,然后它运行正常,但从php exec函数它不运行,它给出错误/usr/bin/ffmpeg:没有这样的文件或目录,但ffmpeg安装在这个位置usr/bin/ffmpeg。我的源代码是: 请提供任何解决方案。
我想将两个图像(名称未按顺序编号)合并到一个视频中,但结果仅包括第一个图像的视频。 我将感谢任何帮助! ffmpeg.exe-r 1/5-iimage_x.png-r 1/5-iimage_y.png-codec: v libx264-vf fps=50video.mp4 输出: 输入0,png管道,来自'C:\Users\khj\Desktop\SpeakerLayoutTool\Images\
希望你们中有人能告诉我为什么我的这个ffmpeg命令没有画出想要的文本。制作的视频没有。给你: 你觉得对吗?如果是这样,那么为什么我在videoMail_preview.webm视频文件中看不到任何文本呢? 在这里使用FFMPEGV2.8.6,启用了--enable-libfreetype、--enable-libfontconfig和--enable-libfribidi。 此外,上面的命令是用