上传视频,使用PHP服务器端格式化&;编码
我们目前开发了一个ExpressionEngine站点(php),并使用付费JWPlayer来显示客户端上传的视频 目前,我们遇到了许多问题,因为客户:上传视频,使用PHP服务器端格式化&;编码,php,video,streaming,ffmpeg,jwplayer,Php,Video,Streaming,Ffmpeg,Jwplayer,我们目前开发了一个ExpressionEngine站点(php),并使用付费JWPlayer来显示客户端上传的视频 目前,我们遇到了许多问题,因为客户: 上传错误大小的视频 以flv或mp4格式随机上传视频 播放器在整个视频中多次暂停,有时会在播放前缓冲整个视频片段 我知道FFMPEG可以安装在服务器端,但我不确定如何进行安装,以及它如何在ExpressionEngine和JWPlayer之间进行交互。我也不确定格式——这种自动编码过程是否能够裁剪/调整视频大小,以适应网站上的播放器尺寸 我们真
如果您能帮助我找出最佳流程,以及我可能需要的工具,我将不胜感激。我建议使用以下服务 我过去用过它们,不管我用什么视频格式,效果都很好。(顺便说一句,我与他们没有任何关系) 有一个PHPAPI,有很多大小、质量和格式选项。上传视频后,您可以将其发送给zencoder,他们会在一段时间后向您发送响应,无论成功与否 他们可以将处理后的视频放在AmazonS3上,或将其FTP到服务器上 不过,对于iOS设备,你需要一个HTML5播放器,除非JWPlayer自从我上次使用以来已经有了长足的进步 您可以让zencoder在mp4中输出。然后你仍然只需要为JWPlayer/flash使用mp4,为iOS使用HTML5版本,只要你愿意为所有桌面浏览器使用flash,就没有问题
至于您遇到的缓冲问题,我发现使用JWPlayer(或您正在使用的任何播放器)的CDN版本的swf会导致它在播放之前加载整个视频文件。通过自己托管很容易修复。我发现很多时候,不同CMS的视频转换能力都受到限制,并且经常将视频格式限制为开发者认为合适的格式,例如FLV,现在在视频交付方面已经过时 其中一种方法是创建自定义脚本,用FFmpeg处理客户端上传的视频,FFmpeg实际上可以接受几乎任何视频格式,并生成正确的输出格式和尺寸,确保生成的视频适合使用播放器进行web播放 您面临的视频缓冲问题是,视频文件没有准备好进行渐进式下载或伪流,因此您的浏览器需要在开始播放之前下载整个视频。这可以通过MP4和MOV视频文件以及FLV文件等程序解决。因此,您的脚本还需要使用这些工具优化编码视频 另外请注意,如果您使用HTML5视频播放器(浏览器原生或最新的JWPlayer),那么您可以在不缓冲的情况下随机搜索视频文件 如果从头开始不是一个选项,那么您可以研究一个商业解决方案,例如它也使用FFmpeg,而且使用起来非常简单,但它可以自动处理不同的输入格式和纵横比
我用这种方式做了一些设置,将CMS部分与视频处理部分分开,这让我省去了一些麻烦。嘿,詹姆斯,我使用zencoder,我需要问一些问题吗?