正在尝试上传 mp4 视频。它已成功上传 - 我可以在服务器上看到它。
但是成功页面仍然带有过程动画,并且视频不可用。它在数据库(phpfox_video)中有 in_process=1。还有我看不到转换日志的大问题,即使现在文件/日志中有这样的文件,所以我什至不知道系统是否转换视频。
我在 FireBug 中也有一个错误
ReferenceError: tb_show is not defined
请帮忙!
好吧,我的问题的解决方案是下一个: File: module/video/include/component/controller/frame.class.php 注释掉第124行
//Phpfox::getLib('ajax')->alert(Phpfox::getLib('image.helper')->display(array('theme' => 'ajax/add.gif', 'class' => 'v_middle')) . ' Your video has successfully been uploaded. Please standby while we convert your video.', ' Converting Video', 600);
大约134
//echo 'window.parent.' . str_replace('$.ajaxBox', 'window.parent.$.ajaxBox', $sAlert);
现在它可以工作了,但是 tb_show 的问题仍然存在。
你的问题不是上传。问题是转换。如果您没有正确设置 3 个参数,那么它不会将文件转换为 FLV,PHPFOX V3 使用的格式。在这里,我将向您解释什么是程序,因为我已经成功完成了。
如果您控制您的服务器,即由您托管,或者您使用 VPS,那么您可以测试您的 FFFMPEG 和 MEMCODER,您需要将这些文件转换为适当的格式,PHPFOX 需要转换和处理您的视频文件. 我之前在命令外壳提示符下弄乱了它,使用虚拟文件进行测试。在它工作之后,我在设置管理面板上插入了这些参数。过了一会儿,我让它适应 PHPFOX V3。确保您也启用了 FLVTOOLS。请记住,如果它在您的服务器上的 shell 提示符下不起作用,则无法在 PHPFOX 的设置上起作用。下面列出了我最终提出的设置。另一个问题,该版本 PHPFOX V3 中使用的播放器是 FLOWPLAYER,它只播放 FLV 文件(支持 Flash 的浏览器)并且仅限于使用 Flash 的浏览器。忘记 Android 或 iPhone,除非您使用 PUFFIN 或任何其他支持 Flash 的浏览器。我希望我的设置适用于您的服务器。这实际上取决于您的服务器设置和下面的 3 个实用程序。如果您有任何问题,请告诉我。这是一个棘手的设置,但它可以将播放器更改为 HTML5 格式,因此您不必再弄乱 Flash FLV 文件和格式。请记住,这些参数可能会因安装的实用程序的服务器版本而异。
FLVTOOLS : -U {目的地}
FFMPEG:-i {源} -ar 44100 -vcodec libx264 {目标}
MENCODER : {source} -o {destination} -of lavf -oac mp3lame -lameopts abr:br=56 -ovc lavc -lavcopts vcodec=flv:vbitrate=800:mbd=2:mv0:trell:v4mv:last_pred=3 - vf 比例={宽度}:{高度}
还要确保您在下面的代码中列出了 MP4格式,否则它不会处理您的 MP4 文件。要将该格式(或任何其他格式)包含在可用于转换的格式列表中,在我的版本中,我必须修改以接受 '3gpp' => 'video/mp4' 等 celular 格式......祝你好运!
您需要修改的文件位于://yourdomain/module/video/include/service/video.class.php
class Video_Service_Video extends Phpfox_Service
{
private $_aExt = array(
'mpg' => 'video/mpeg',
'mpeg' => 'video/mpeg',
'wmv' => 'video/x-ms-wmv',
'avi' => 'video/avi',
'mov' => 'video/quicktime',
'flv' => 'video/x-flv',
'mp4' => 'video/mp4',
'3gpp' => 'video/mp4'
);