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

处理流程

作业
  1. 同步提交作业:用户侧同步提交待处理作业。
  2. 异步提交作业:作业按提交顺序和优先级进入管道中排队。
  3. 发送消息通知:若管道配置了消息服务MNS,则作业执行完毕后发送消息通知。

概念介绍

  • 作业

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

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

  • 管道
    当用户通过控制台或API接口提交作业后,作业会进入管道中进行排队,根据优先级和提交顺序依次执行。
    说明 管道中的作业可以有多种优先级。通过调用API提交的作业可以自定义优先级,最高为10,最低为1。通过控制台提交的作业优先级默认为6,不能修改。相同优先级的作业之间,提交作业时间早的比晚的先执行,不同优先级的作业之间,高优先级的比低优先级的先执行。
  • 参数
    • 模板参数

      转码作业参数多,每次提交转码作业时需要填写的参数重复部分较多。转码模板为解决这一问题而设,其本质是将一些转码作业中常用的参数组合后供转码作业调用。可以减少提交作业需要填写的参数数量,简化提交作业的代码。模板可以在不同的作业中重复使用。

    • API参数

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

    • 覆盖顺序

      在调用提交转码作业接口时,如果既指定了转码模板,又设置了API参数,则API参数比模板中对应参数的优先级更高,会覆盖模板中对应的参数。

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

  • 作业执行和结果

    作业类型不同,执行所需的时间也不同,一些作业能很快完成,但是大部分的作业都无法即时完成。由此将作业执行分为同步和异步两种方式。

    • 同步

      同步方式(例如:截图作业)的结果会立即返回。

    • 异步
      异步方式(例如:转码作业)的结果有2种查询方式:定时轮询和消息通知。
      • 定时轮询

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

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

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

        • 用户数据

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