本文介绍在函数计算中如何使用FFmpeg音视频处理服务模板或代码包部署音视频处理的相关应用。

前提条件

背景信息

阿里云对象存储OSS(Object Storage Service)提供了通用的图片处理服务,但是不能很好地满足音频或视频的通用处理要求以及图片、音频和视频的自定义处理要求。

FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。FFmpeg采用LGPL或GPL许可证,提供了录制、转换以及流化音视频的完整解决方案,包含了先进的音频、视频编解码库libavcodec,并且保证了高可移植性和编解码质量。

函数计算已在控制台的应用中心上线了使用FFmpeg音视频处理服务的应用模板,您可以通过控制台的模板快速部署音视频处理的相关应用。您还可以通过Funcraft手动部署相关应用。

应用模板中包含以下主题:

  • get_media_meta:获取音视频Meta。
  • get_duration:获取音视频时长。
  • transcode:转码并行视频。
  • get_sprites:制作雪碧图。
  • video_watermark:添加视频水印。
  • video_gif:将Video格式提取成GIF格式。
  • audio_convert:转换音频格式。

通过控制台自动部署应用

  1. 登录函数计算控制台
  2. 在顶部菜单栏,选择地域。
  3. 在左侧导航栏,单击应用中心。在应用模板区域的音视频处理页签,选择FFmpeg音视频处理服务,单击配置部署
  4. 新建模板应用页面,填写应用名称
  5. 可选:您可以在新建模板应用页面,单击预览,查看模板中包含的资源。
  6. 单击部署
    部署成功后,您可以在应用中心页面单击我的应用,在我的应用页面查看刚部署的应用。

通过Funcraft手动部署应用

  1. 执行以下代码克隆并解压工程。
    git clone https://github.com/awesome-fc/fc-oss-ffmpeg.git           
    说明 如果您没有安装Git,可以直接下载代码包
  2. 执行以下代码进入工程目录。
    cd fc-oss-ffmpeg
  3. 执行以下代码将应用部署至函数计算。
    fun deploy
    部署成功后,您可以在服务/函数页面查看刚部署的服务及函数。FFmpeg

修改函数代码

上述方法部署的应用中的逻辑代码均为示例代码,您可以根据需要将示例代码修改为自己的业务逻辑代码。

  1. 登录函数计算控制台
  2. 在顶部菜单栏,选择地域。
  3. 在左侧导航栏,单击服务/函数
  4. 找到目标服务下的目标函数,单击函数名称。
    FFmpeg
  5. 单击代码执行,并在代码编辑器中编写您自己的代码。

    例如,get_duration函数的event格式示例如下。

    {
        "bucket_name" : "test-bucket",
        "object_key" : "a.mp4"
    }

    如果您想查看更多的函数event示例,您可以参见函数代码中的注释。