Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
上传视频,使用PHP服务器端格式化&;编码_Php_Video_Streaming_Ffmpeg_Jwplayer - Fatal编程技术网

上传视频,使用PHP服务器端格式化&;编码

上传视频,使用PHP服务器端格式化&;编码,php,video,streaming,ffmpeg,jwplayer,Php,Video,Streaming,Ffmpeg,Jwplayer,我们目前开发了一个ExpressionEngine站点(php),并使用付费JWPlayer来显示客户端上传的视频 目前,我们遇到了许多问题,因为客户: 上传错误大小的视频 以flv或mp4格式随机上传视频 播放器在整个视频中多次暂停,有时会在播放前缓冲整个视频片段 我知道FFMPEG可以安装在服务器端,但我不确定如何进行安装,以及它如何在ExpressionEngine和JWPlayer之间进行交互。我也不确定格式——这种自动编码过程是否能够裁剪/调整视频大小,以适应网站上的播放器尺寸 我们真

我们目前开发了一个ExpressionEngine站点(php),并使用付费JWPlayer来显示客户端上传的视频

目前,我们遇到了许多问题,因为客户:

  • 上传错误大小的视频
  • 以flv或mp4格式随机上传视频
  • 播放器在整个视频中多次暂停,有时会在播放前缓冲整个视频片段

    我知道FFMPEG可以安装在服务器端,但我不确定如何进行安装,以及它如何在ExpressionEngine和JWPlayer之间进行交互。我也不确定格式——这种自动编码过程是否能够裁剪/调整视频大小,以适应网站上的播放器尺寸

    我们真的希望视频可以在所有浏览器和iOS设备上播放

    在适用的情况下,HQ选项也很好,但这只是一个很好的选择——因为我们首先要解决的是格式/编码问题


    如果您能帮助我找出最佳流程,以及我可能需要的工具,我将不胜感激。

    我建议使用以下服务

    我过去用过它们,不管我用什么视频格式,效果都很好。(顺便说一句,我与他们没有任何关系)

    有一个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,我需要问一些问题吗?