【问题标题】:How to encode uploaded video files to .flv format in PHP如何在 PHP 中将上传的视频文件编码为 .flv 格式
【发布时间】:2011-04-05 08:46:51
【问题描述】:

我的平台是 PHP JOOMLA MYSQL。我想将上传的不同格式的视频文件编码并加载为 .flv、.mp4 和 .avi

我希望这个过程要么在上传过程中完成,要么在完成上传过程之后作为一个单独的过程完成。我确实使用了我的 ffmpeg 代码,但实际上未能对某些视频文件进行编码,这些文件说比特率为 1/1000,因此无法对文件进行编码。有些节目质量很差。

如果有人知道在这些情况下通常用于编码的最佳实践,请与我分享。

任何帮助将不胜感激,并在此先感谢您对此做出很好的答复

【问题讨论】:

    标签: php mysql video joomla1.5 video-encoding


    【解决方案1】:

    您可以查看名为 hwdVideoShare 的 Joomla 组件。

    服务器要求如下所示:FFMPEG、FLVTOOL2、MENCODER、GD、FREETYPE、PHP(安装应支持 exec、cURL 和 file_get_contents 函数)、PERL。所以你需要在安装前确保你的服务器具备所有这些。

    【讨论】:

    • 我有点担心,因为我正在 joomla 中开发一个完整的组件来完成所有功能,所以我有一个上传页面来进行视频上传,我希望同时进行转换过程文件上传后,你猜 hwdVideoShare 组件会帮助我吗
    【解决方案2】:

    您可以使用http://www.ffmpeg.org/在任何平台windows或linux上使用php进行在线视频转换

     exec("ffmpeg -i video.avi -ar 22050 -ab 32 -f flv -s 320x240 video.flv");
    

    在这里阅读更多

    http://www.ffmpeg.org/ffmpeg-doc.html

    【讨论】:

    • 或者,为了更简洁的方式在没有 exec 的 PHP 中做同样的事情,使用 ffmpeg-php - ffmpeg-php.sourceforge.net;没有exec,这意味着更好的性能和更好的安全性。
    • 是的,您对安全性的看法是对的,它不会影响性能,但会影响安全性
    • 它还提高了性能; exec 意味着创建另一个进程,而使用本机版本意味着它在现有进程中运行。性能差异很小,但如果您要进行一批转化,则很重要。
    • 我建议在文件上传后单独运行编码过程。否则,您的用户将在收到响应之前不必要地等待很长时间。
    • 我建议在编码视频时创建缩略图,这样更容易为用户列出视频缩略图。例如:exec("ffmpeg -i 'test.flv' -r 1 -ss 00 :00:05 -f image2 -s 120x72 test,png");
    猜你喜欢
    • 1970-01-01
    • 2012-01-20
    • 1970-01-01
    • 1970-01-01
    • 2012-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-07
    相关资源
    最近更新 更多