【问题标题】:How to encode a video using PHP?如何使用 PHP 对视频进行编码?
【发布时间】:2010-11-28 18:56:57
【问题描述】:

我有兴趣在我的服务器上安装 ffmpeg 或类似的东西,这样我就可以上传文件,自动将它们编码为 FLV,然后提供嵌入式播放器以在我的页面上使用。

问题是我不知道从哪里开始。我不想花几天时间编写基于 Web 的编码服务,因为我对使用开箱即用的解决方案更感兴趣。

到目前为止,我的研究使我找到了FFMPEG,可能还有Gallery2:它集成了ffmpeg,并且gallery 2 框架提供了用户帐户和FTP 上传工具。

有人知道可以在 Linux 上安装的其他开源编码解决方案吗?

【问题讨论】:

    标签: ffmpeg flv video-encoding


    【解决方案1】:

    【讨论】:

      【解决方案2】:

      您应该查看所选编码器的文档,我过去曾成功使用过 ffmpeg。然后你的工作流程看起来像这样。

      • 用 PHP 处理文件上传
      • 使用 exec() 对您的编码器进行封装​​并对视频进行编码。
      • 当 exec() 返回时,您可以在页面中提供视频

      使用几个命令行参数,ffmpeg 真的很容易启动和运行。

      【讨论】:

      • 不得不说命令行看起来很简单!如果可能的话,我真的在寻找一个打包的解决方案。
      • 我真的不认为你会找到一个打包的解决方案。并且由于命令行应该只需要您大约 10 分钟的时间来确定您所追求的确切设置,因此我不会浪费时间搜索可能不存在的包。
      • 我担心你是对的,但我希望你不是!我真的没有时间做这件事,但看起来我必须把它正确地放在工作清单上。感谢您的帮助!
      【解决方案3】:

      您还可以查看VLC,因为它可以转码并充当您的 FLV 流的服务器。主应用程序是播放视频的用户界面,但可以从命令行调用它来提供服务 - 而不是播放。

      还有 libvlc,它是编写 VLC 的 C 库。 VLC 基于 ffmpeg,可能会让您的生活更轻松。

      【讨论】:

      • 嗨,我看过了,但它没有提到 FLV,我认为这将是我首选的网络格式。
      • 你说得对,我只能看到它列为输入格式。但是它确实有效 - 我一直在研究一个使用 VLC 将原始 H.264 视频转换为 FLV 的项目,所以我绝对确定!
      【解决方案4】:

      还有memcoder,它的作用与ffmpeg 相同,但您必须编写绑定ffmpeg/memcoderPHP 和上传的视频在一起。

      一般的工作流程是这样的:

      • 使用 PHP 向用户展示表单
      • 通过post上传文件
      • 验证上传的文件是客户端和服务器端的视频
      • 将上传的视频存储在已知文件夹中
      • 从 PHP 中运行带有所有所需参数的 CLI 命令并将文件存储在另一个已知位置
      • 如果成功则删除原始文件(可选)
      • 在数据库中存储创建文件的路径
      • 提供内容
      • 利润!

      【讨论】:

      • 是的,我希望尽可能避免编写自定义代码 - 我希望只配置现有平台并最大限度地减少工作量。
      猜你喜欢
      • 2013-11-18
      • 1970-01-01
      • 2016-09-01
      • 2014-05-02
      • 1970-01-01
      • 2013-12-26
      • 1970-01-01
      • 2020-09-24
      • 2016-04-24
      相关资源
      最近更新 更多