【发布时间】:2012-11-27 17:59:56
【问题描述】:
您好,我正在使用 FFMPEG 将上传的视频与 PHP 进行转换。
echo "conversion exercise started...<br/><br/>";
/* looping through all files in the directory */
if ($handle = opendir('assets/uploaded_videos')) {
while (false !== ($entry = readdir($handle))) {
/* filtering the desired extensions */
if ($entry != "." && $entry != ".." && in_array(substr($entry, strrpos($entry, '.')), array(".wmv", ".mpg", ".mpeg", ".flv", ".ogg", ".mp4")))
{
$filename = substr($entry, 0, strrpos($entry, '.'));
//$command = "ffmpeg -i assets/uploaded_videos/$entry -vcodec libx264 assetss/videos/$filename.mp4";
$command = "ffmpeg -i assets/uploaded_videos/$entry -vcodec mpeg4 -acodec libfaac files/videos/$filename.mp4";
echo $command."<br />";
shell_exec($command."> /dev/null 2>/dev/null &");
}
}
closedir($handle);
}
我已将播放器嵌入到这样的视图文件中:
<video width="350" poster="<?php echo $first_video['thumb_path'];?>" controls>
<source src="<?php echo $first_video['video_path']; ?>" />
<span id="silverlight_player_for_fallback"></span>
</video>
现在,当我在 IE10 中运行时,播放器提示我 invalid source 错误。我在使用 libx264 和 mpeg4 MP4 编解码器时遇到了这个问题。
有什么想法吗?
更新
按照伊恩的指示,我终于开始工作了。我在 libx264 中使用了 baseline-level3 配置文件。您可以提供额外的参数,但我猜配置文件是关键!我试验了几个配置文件,发现 vimeo 和 youtube 上的所有 HTML5 视频都使用这个基线 L3 配置文件。
任何在 MP4 上苦苦挣扎的人都可以考虑使用以下命令进行转换:
/* following command converted all my uploaded *.wmv files to mp4 */
$command = "ffmpeg -i files/uploaded_videos/$entry -vcodec libx264 -profile:v baseline -level 3 files/videos/$filename.mp4";
【问题讨论】:
-
感谢您的更新。我的系统现在运行良好!
标签: php html ffmpeg html5-video internet-explorer-10