使用FFMPEG的PHP HTML5兼容MP4视频
发布时间:2020-12-13 17:14:31 所属栏目:PHP教程 来源:网络整理
导读:嗨我正在使用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))) { /* filte
嗨我正在使用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,'.')); //$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中运行时,播放器会给我无效的源错误.我对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"; 解决方法
您是否在其他浏览器(支持MP4)中测试了生成的MP4文件,例如Chrome和Safari?第一步是确保文件实际播放.
您还可以保存生成的MP4并尝试将其拖动到Chrome / Safari,然后将IE10(如果其他浏览器正常工作)拖动到其中以查看它是否可以播放.通过这种方式,您可以尝试查看是否是编码问题. MP4有许多不同的风格(称为profiles),并非所有风格都可以在浏览器中播放. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |