文档首页/ 视频点播 VOD/ API参考/ 应用示例/ 示例1:媒资上传(20M以下)
更新时间:2024-12-04 GMT+08:00

示例1:媒资上传(20M以下)

场景描述

若您需要将存储在本地的音视频文件上传到点播服务,并在上传后,自动处理音视频,如发布、转码等,您可以调用VOD API进行媒资创建,并通过OBS API将音视频文件上传到VOD的存储桶中。

本章节指导用户如何使用API调用的方式上传一个大小20M以下的视频文件。

前提条件

  • 已明确需要上传媒资的点播服务所在的区域信息,详见使用前必读
  • 已获取需要上传到对应点播服务所在区域的项目ID,具体获取方法请参见获取项目ID

总体流程

图1 媒资上传流程
  1. 调用创建媒资:上传方式接口创建媒资。
  2. 使用PUT方法将本地媒资文件上传。
  3. 调用确认媒资上传接口完成媒资创建确认。

操作步骤

  1. 获取用户Token,用于调用点播接口时进行认证鉴权。

    详细信息请参见构造请求。以“华北-北京四”为示例,若您需要调用其它区域的点播接口,请替换成对应区域的IAM终端节点

    POST https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens
    Content-Type: application/json
    
    {
      "auth": {
        "identity": {
          "methods": [
            "password"
          ],
          "password": {
            "user": {
              "name": "username", 
              "password": "password", 
              "domain": {
                "name": "domainname"   
              }
            }
          }
        },
        "scope": {
          "project": {
             "name": "projectname"
          }
        }
      }
    }
    图2所示,红框中的信息为获取用户Token。
    图2 获取用户Token

  2. 调用创建媒资:上传方式接口,创建媒资,在请求头中增加“X-Auth-Token”字段,其中“Value”步骤1获取的。

    POST https://vod.cn-north-4.myhuaweicloud.com/v1.0/{project_id}/asset
    
    {
    	"title": "test",
    	"description": "test",
    	"category_id": 87748, 
    	"video_name": "test.mp4",
    	"video_type": "MP4",
    	"cover_type": "PNG",
    	"tags":"mytags,test",
    	"auto_publish": 0,    
    	"template_group_name":"test",
    	"subtitles":[      
    		{	
    			"id":1,
    			"language":"CN", 
    			"type": "SRT", 
    			"md5": "SqcyFjJZoDZaP8oKIY6rgQ==",    
    			"description":"AAAAA" ,
    			"name":"cc.srt"
    		}  
    	],
    	"thumbnail":{
    		"type":"time",
    		"cover_position":1
    	
    	},
    	"review":{
    		"interval":10,
    		"politics":-1,
    		"terrorism":-1,
    		"porn":-1
    	}	
    }
    • “vod.cn-north-4.myhuaweicloud.com”为点播服务的终端节点,您可以在VOD终端节点中获取。
    • “category_id”为媒资分类ID。用户需要提前创建完成媒资分类,操作请参考创建媒资分类
    • “template_group_name”为转码模板组名称。用户需要提前创建完成转码模板,操作请参考创建自定义转码模板

      调用IAM接口的区域需与调用点播接口的区域一致,如调用“cn-north-4”区域的IAM接口获取用户Token,则该Token仅能用于调用“cn-north-4”区域点播接口的鉴权。

  3. 在返回参数中获取“video_upload_url”“cover_upload_url”“subtitle_upload_urls”

    {
      "asset_id": "3f40a2c7c60454f5f84381e0313ca230",
      "video_upload_url": "https://vod-bucket-81.obs.cn-north-4.myhuaweicloud.com:443/474bcff2992f4be5b883a2fb9cec7343/3f40a2c7c60454f5f84381e0313ca230/cdeda86cd1b7b3dd760a3ff28a5ee497.mp4?AWSAccessKeyId=BG923RWHL4HFXOGKCVAL&Expires=1560420274&Signature=9f%2BZcdD6SwjIU5ARHYiP6YY1Lyw%3D",
      "cover_upload_url": "https://vod-bucket-81.obs.cn-north-4.myhuaweicloud.com:443/474bcff2992f4be5b883a2fb9cec7343/3f40a2c7c60454f5f84381e0313ca230/cover/Cover0.png?AWSAccessKeyId=BG923RWHL4HFXOGKCVAL&Expires=1560420274&Signature=4Aa88NK%2By%2By1Xo0RvLpOvuaFCoE%3D",
      "subtitle_upload_urls": [
        "https://vod-bucket-81.obs.cn-north-4.myhuaweicloud.com:443/474bcff2992f4be5b883a2fb9cec7343/3f40a2c7c60454f5f84381e0313ca230/subtitle/1.srt?AWSAccessKeyId=BG923RWHL4HFXOGKCVAL&Expires=1560420274&Signature=l0UclE9yfaVrxkl0kaNnr%2BemG98%3D"
      ],
      "target": {
        "bucket": "vod-bucket-81",
        "location": "cn-north-4",
        "object": "474bcff2992f4be5b883a2fb9cec7343/3f40a2c7c60454f5f84381e0313ca230/cdeda86cd1b7b3dd760a3ff28a5ee497.mp4"
      }
    }

  4. 使用PUT请求分别向“video_upload_url”“cover_upload_url”“subtitle_upload_urls”中上传音视频文件、封面图片和字幕文件。

    其中,请求头“Content-Type”需要根据上传的文件类型分别设置,如下所示:
    • 视频文件:video/视频格式,如:“video/mp4”。更多视频文件格式对应的请求头填写规则,请参见表1
    • 音频文件:audio/音频格式,如:“audio/mp3”。更多音频文件格式对应的请求头填写规则,请参见表2
    • 图片文件:image/图片格式,如:“image/png”
    • 字幕文件:application/octet-stream。
    表1 视频文件请求头填写说明

    文件后缀

    Content-Type

    MP4

    video/mp4

    MOV

    video/quicktime

    MXF

    application/mxf

    TS

    video/mp2t

    MPG

    video/mpeg

    FLV

    video/flv

    WMV

    video/x-ms-wmv

    AVI

    video/x-msvideo

    M4V

    video/m4v

    F4V

    application/f4v

    MPEG

    video/mpeg

    M3U8

    application/octet-stream

    _3GP/3GP

    video/3gpp

    ASF

    video/x-ms-asf

    MKV

    video/x-matroska

    WEBM

    video/webm

    MPD

    video/dash

    表2 音频文件请求头填写说明

    文件后缀

    Content-Type

    MP3

    audio/mp3

    WMA

    audio/wma

    APE

    audio/ape

    FLAC

    audio/flac

    AAC

    audio/aac

    AC3

    audio/ac3

    MMF

    audio/mmf

    AMR

    audio/amr

    M4A

    audio/m4a

    M4R

    audio/m4r

    OGG

    audio/ogg

    WAV

    audio/wav

    WV

    audio/wv

    MP2

    audio/mp2

  5. 调用接口确认媒资上传接口,完成媒资上传。

    POST https://vod.cn-north-4.myhuaweicloud.com/v1.0/{project_id}/asset/status/uploaded
    
    {
    	 "asset_id": "0f4d3f1f32ec353d8866f2d84a036124",
    	 "status":"CREATED"
    }

媒资上传成功后,您可以在视频点播控制台查看媒资相关详细信息。