Google Cloud Platform:将上传的 MP4 文件转换为 HLS 文件

Posted

技术标签:

【中文标题】Google Cloud Platform:将上传的 MP4 文件转换为 HLS 文件【英文标题】:Google Cloud Platform: Convert uploaded MP4 file to HLS file 【发布时间】:2022-01-04 12:49:27 【问题描述】:

我正在构建一个平台,允许用户将一些视频文件(20-40 秒)从手机上传到服务器。目前所有这些上传都运行良好,文件通过 nodejs 云功能存储在谷歌存储桶中。

现在我想创建一个 gcp 转码器作业,它将上传的 .mp4 视频文件转换为 .hls 视频流,其中 .ts 块的持续时间为 2-4 秒。

可能的成功场景:

    用户上传 mp4 文件[完成] .mp4 文件上传后触发functions.storage.object().onFinalize [完成] onFinalize 触发 Google Cloud Job,它将 mp4 转换为 hls。 [我们在这里] .mp4 文件已从 Google 存储中删除。

对于创建此类工作的任何帮助将不胜感激。 我正在使用带有 nodejs 的 firebase 云功能。

【问题讨论】:

如果有帮助,请考虑接受一个答案。有关信息,请参阅how does accepting an answer work。 嘿@JakeNelson,抱歉耽搁了。感谢您的回答 - 引导我正确的搜索方向。 【参考方案1】:

我会使用transcoder API in GCP 来执行此操作。它支持mp4输入和hls输出。见supported formats

请注意,视频长度必须大于 5 秒。 如果它们的长度不能达到 5 秒,则可以避免使用此 API 并使用 AppEngine 上的工具。

完成此任务的大致事件流程可能类似于:

    将 MP4 上传到存储桶 pubsub is triggered from the upload event 这可以触发一个云功能,可以create a new Transcoder job 工作状态updates a pubsub topic 当status 指示工作完成时,Pubsub 主题会触发云功能 云端功能从bucket中删除原始mp4

【讨论】:

以上是关于Google Cloud Platform:将上传的 MP4 文件转换为 HLS 文件的主要内容,如果未能解决你的问题,请参考以下文章

如何将查询结果保存在 Google Cloud Platform 中?

将 Google Cloud Platform 的错误报告与 ExpressJS 一起使用

如何将 Google Cloud Platform Pub/Sub 消息推送到 C# 桌面应用程序

如何将 gitlab 存储库自动部署到 Google Cloud Platform?

如何将本地训练的 TensorFlow 图形文件部署到 Google Cloud Platform?

将 Google Cloud Platform 项目从一个帐户移动到另一个帐户