本文介绍媒体处理服务的基本概念和关系,以便您更好的理解和使用媒体处理服务。

示意图:

概念解释:
  • 作业

    作业在媒体处理服务里面是一个抽象的概念,包含多种类型的作业:转码作业、截图作业、媒体信息作业等。

    在一个作业中,包含3个关键信息:输入、输出和参数。输入和输出设定作业执行时的输入文件以及执行后的输出文件,参数则用来设置执行具体功能的详细配置。

  • 参数
    • 模板参数

      由于作业的参数很多,每次提交作业时都重复填写比较麻烦,模板是为解决此问题而提出的概念。模板是一些参数的合集,把一些常用的参数组合在一起,可以减少提交作业的参数数量,简化提交作业的代码。

    • API参数

      如果给每种不同的参数组合都创建模板,会导致模板的数量剧增,也使得模板管理变的复杂。所以不仅可以在模板中设置参数,也可以在实际调用API时设置对应的参数。

    • 覆盖顺序

      API参数比模板中对应参数的优先级更高,会覆盖模板中对应的参数。

      举个例子:同一个视频可以转码输出多种清晰度(高清、标清等),不同清晰度的容器格式(MP4)、编码标准(H.264)、帧率(25帧)是相同的,区别只是码率和分辨率的不同。就可以先创建(MP4+H.264+25FPS+2Mbps+1280x720)这样一个默认参数组合模板。调用API时,如果不设置API参数,则按照默认参数(2Mbps+1280x720)执行作业,如果设置API参数(4Mbps+1920x1080),这按照API参数(4Mbps+1920x1080)执行作业。

  • 管道

    当用户通过API接口提交作业后,作业会先进入管道中进行排队,根据优先级和提交顺序依次执行。

    管道中的作业可以有多种优先级(最高10,最低1,默认6),相同优先级的作业之间,提交作业时间早的比晚的先执行,不同优先级的作业之间,高优先级的比低优先级的先执行。

  • 作业执行和结果
    • 同步和异步

      根据作业的类型不同,一些作业能很快完成,但是大部分的作业都无法即时完成,作业执行有2种方式:同步和异步。同步方式(例如,截图作业)会立即返回结果,异步方式(例如,转码作业)的结果有2种查询方式:定时轮询和消息通知。

    • 定时轮询

      每个作业都有一个唯一作业ID来标识,在提交作业时会同步返回给调用方,之后可以通过作业ID查询作业结果。这种方式的缺点是不够实时。

      消息通知:

      管道可以配置消息通知,就能及时获得作业结果。消息通知中包含了几个重要的信息:作业ID、用户数据和结果。
      • 作业ID

        提交作业时记录下作业ID,然后和消息通知的作业ID对比,就能知道是哪个作业的结果。

      • 用户数据

        提交作业时,可以填写自定义的用户数据参数(例如,商品ID),然后消息通知中会返回自定义的用户数据参数,这样可以不需要在业务系统中记录作业ID,使用自定义的用户数据(例如,商品ID)来关联业务系统。