首页
产品
帮助文档
博客
控制台

接口文档

HTTP 接口

创建云剪辑

POST /media_editor/api/create_editor

JSON 参数

参数 描述 取值
title 云剪辑标题 string
media_api_url 资源库来源 URL(可选,默认获取用户所在媒体库的视频) string
media_api_url_type 资源库视频类型(可选,默认为空) string

返回字段

参数 描述 取值
errcode 错误码,1000 为正常 int
msg "OK" 或错误信息 string
editor_id 云剪辑 ID string

返回示例:

{
	"editor_id": "17lok52y",
	"errcode": 1000,
	"msg": "OK"
}

注:当media_api_url_type值为'iframe'时,云剪辑页面会弹出一个页面让用户选择视频资源,这个页面地址是media_api_url;当media_api_url_type为其他值或者为空时,云剪辑会通过api请求的方式请求'media_api_url'地址,然后展示给用户来选择视频;

media_api_url 作为接口地址的规范

假设 media_api_url 为 http://yourserver.com/choose_video

云剪辑进行GET分页请求 http://yourserver.com/choose_video?page=1&page_size=10,其中page为每次分页的页码, page_size为每页视频数量,现在的值是10;服务器需要返回一个json,格式如下, 其中count为视频总数量,videos为当前页码的视频列表,thumb_url为视频封面,video_name为视频名称, video_duration为视频时长(单位为毫秒),video_url为视频地址。

{
    "count": 23,
    "videos": [
        {
            "video_name": "视频名称",
            "video_url": "https://myun-hw-s3.myun.tv/d5vjn158/5z8426v5/livebroadcast/e54dxnk5-1557195190-t.flv",
            "thumb_url": "https://myun-hw-s3.myun.tv/d5vjn158/5peovgbl/1557196305805672054.jpg",
            "video_duration": 1105065
        }
    ]
}

media_api_url 作为iframe页面地址的规范

云剪辑打开iframe页面时,会以宽932px,高579px的大小打开,所以iframe页面应该尽可能的适配这个尺寸。 当用户选择完视频后,iframe页面需要进行postMessage将选择后的视频列表信息传给云剪辑页面,然后关闭当前iframe页面,例子如下:

// 用户选择完成后

// selectVideos为用户选择的视频列表
var selectVideos = [
    {
        "video_name": "视频名称",
        "video_url": "https://myun-hw-s3.myun.tv/d5vjn158/5z8426v5/livebroadcast/e54dxnk5-1557195190-t.flv",
        "thumb_url": "https://myun-hw-s3.myun.tv/d5vjn158/5peovgbl/1557196305805672054.jpg",
        "video_duration": 1105065
    }
]
window.opener.postMessage(selectVideos, '*')
window.close()

获取一页云剪辑

GET /media_editor/api/list_editors

URL 参数

参数 描述 取值
page 页数,默认 1 int
page_size 每页个数,默认 15 int

返回字段

参数 描述 取值
errcode 错误码,1000 为正常 int
msg "OK" 或错误信息 string
editors 云剪辑列表 object array
editors.editor_id 云剪辑 ID int
editors.created_at 创建时间 string
editors.updated_at 更新时间 string
editors.title 云剪辑标题 string
editors.canvas_width 画布宽 int
editors.canvas_height 画布高 int
editors.media_api_url 用于获取媒体库视频列表 string
editors.m3u8_url 用于播放器播放预览视频 string
editors.duration 当前剪辑的视频时长(毫秒) int
editors.json_config 剪辑内容(前端单独查询时返回) string
count 总个数 int

注意:画布宽高只支持720P

返回示例:

{
	"count": 33,
	"editors": [
		{
			"editor_id": "17lok52y",
			"created_at": "2010-11-22 15:16:17",
			"updated_at": "2010-11-22 15:16:17",
			"title": "1",
			"canvas_width": 1280,
			"canvas_height": 720,
			"media_api_url": "1",
			"m3u8_url": "1",
			"duration": 1
		}
	],
	"errcode": 1000,
	"msg": "OK"
}

分享云剪辑

POST /media_editor/api/share_editor

URL 参数

参数 描述 取值
editor_id 云剪辑 ID string

JSON 参数

参数 描述 取值
expired_at 过期时间,Unix 时间戳(秒) int

返回字段

参数 描述 取值
errcode 错误码,1000 为正常 int
msg "OK" 或错误信息 string
shared_key 分享校验 key string
shared_url 分享的云剪辑链接 string

返回示例:

{
	"errcode": 1000,
	"msg": "OK",
	"shared_key": "xxx",
	"shared_url": ""
}

删除云剪辑

POST /media_editor/api/delete_editor

URL 参数

参数 描述 取值
editor_id 云剪辑 ID string

返回字段

参数 描述 取值
errcode 错误码,1000 为正常 int
msg "OK" 或错误信息 string

返回示例:

{
	"errcode": 1000,
	"msg": "OK"
}

获取一个云剪辑

GET /media_editor/api/get_editor

URL 参数

参数 描述 取值
editor_id 云剪辑 ID string

返回字段

参数 描述 取值
errcode 错误码,1000 为正常 int
msg "OK" 或错误信息 string
editor 云剪辑 object
editor.editor_id 云剪辑 ID int
editor.created_at 创建时间 string
editor.updated_at 更新时间 string
editor.title 云剪辑标题 string
editor.canvas_width 画布宽 int
editor.canvas_height 画布高 int
editor.media_api_url 用于获取媒体库视频列表 string
editor.m3u8_url 用于播放器播放预览视频 string
editor.duration 当前剪辑的视频时长(毫秒) int
editor.json_config 剪辑内容(前端单独查询时返回) string

返回示例:

{
	"editor": {
		"editor_id": "17lok52y",
		"created_at": "2010-11-22 15:16:17",
		"updated_at": "2010-11-22 15:16:17",
		"title": "1",
		"canvas_width": 1,
		"canvas_height": 1,
		"media_api_url": "1",
		"m3u8_url": "1",
		"duration": 1,
		"json_config": "1"
	},
	"errcode": 1000,
	"msg": "OK"
}

更新云剪辑

POST /media_editor/api/update_editor

URL 参数

参数 描述 取值
editor_id 云剪辑 ID string

JSON 参数

参数 描述 取值
title 云剪辑名称 string
media_api_url 从何处导入视频资源 string
video_duration 视频时长(毫秒),用于生成 M3U8 int
json_config 剪辑内容,JSON 字符串 string

返回字段

参数 描述 取值
errcode 错误码,1000 为正常 int
msg "OK" 或错误信息 string

返回示例:

{
	"errcode": 1000,
	"msg": "OK"
}

设置云剪辑 config

POST /media_editor/api/set_config

URL 参数

参数 描述 取值
editor_id 云剪辑 ID string

JSON 参数

参数 描述 取值
title 云剪辑名称 string
media_api_url 从何处导入视频资源 string
video_duration 视频时长(毫秒),用于生成 M3U8 int
json_config 剪辑内容,JSON 字符串 string

返回字段

参数 描述 取值
errcode 错误码,1000 为正常 int
msg "OK" 或错误信息 string

返回示例:

{
	"errcode": 1000,
	"msg": "OK"
}

生成临时上传 key

POST /media_editor/api/generate_temp_upload_key

返回字段

参数 描述 取值
errcode 错误码,1000 为正常 int
msg "OK" 或错误信息 string
temp_key 临时上传 key string
temp_upload_urls 临时上传 Web API 列表 string array
temp_upload_urls.uploadUrl 直接上传 string
temp_upload_urls.initUploadPartUrl 初始化分片上传 string
temp_upload_urls.uploadPartUrl 上传分片 string
temp_upload_urls.completeUploadPartUrl 完成分片上传 string
temp_upload_urls.abortUploadPartUrl 取消分片上传 string
temp_upload_urls.replaceUrl 替换文件 string
temp_upload_urls.downloadUrl 从 URL 上传文件 string

返回示例:

{
	"errcode": 1000,
	"msg": "OK",
	"temp_key": "",
	"temp_upload_urls": {
		"uploadUrl": "http://editor.myun.tv/storage/api/upload?key=856zzo0m",
		"initUploadPartUrl": "http://editor.myun.tv/storage/api/init_upload_part?key=856zzo0m",
		"uploadPartUrl": "http://editor.myun.tv/storage/api/upload_part?key=856zzo0m",
		"completeUploadPartUrl": "http://editor.myun.tv/storage/api/complete_upload_part?key=856zzo0m",
		"abortUploadPartUrl": "http://editor.myun.tv/storage/api/abort_upload_part?key=856zzo0m",
		"replaceUrl": "http://editor.myun.tv/storage/api/replace?key=856zzo0m"
	}
}

创建资源

POST /media_editor/api/create_resource

type 类型:

type 描述
video 视频资源
audio 音频资源
image 图像资源

URL 参数

参数 描述 取值
editor_id 云剪辑 ID string
type 资源类型 string

JSON 参数

参数 描述 取值
storage_id 存储 ID string
width 图片宽,type 为 image 时传入 int
height 图片高,type 为 image 时传入 int

返回字段

参数 描述 取值
errcode 错误码,1000 为正常 int
msg "OK" 或错误信息 string
resource_id 资源 ID string

返回示例:

{
	"errcode": 1000,
	"msg": "OK",
	"resource_id": "17lok52y"
}

获取媒体视频列表

GET /media_editor/api/list_media_videos

URL 参数

参数 描述 取值
editor_id 云剪辑 ID string
page 页数,默认 1 int
page_size 每页个数,默认 15 int

返回字段

参数 描述 取值
errcode 错误码,1000 为正常 int
msg "OK" 或错误信息 string
data JSON 返回结果 string

返回示例:

{
	"data": "",
	"errcode": 1000,
	"msg": "OK"
}

从媒体库创建资源

POST /media_editor/api/create_resource_from_media

默认从用户的点播中选择视频导入资源库。 若用户在创建云剪辑时填入了 media_api_url,则前端从该地址获取相关视频信息,选择一个视频,导入资源库

URL 参数

参数 描述 取值
editor_id 云剪辑 ID string

JSON 参数

参数 描述 取值
video_url 视频地址 string
thumb_url 视频封面地址 string
video_name 视频名称 string
video_duration 视频时长(毫秒) int

返回字段

参数 描述 取值
errcode 错误码,1000 为正常 int
msg "OK" 或错误信息 string
resource_id 资源 ID string

返回示例:

{
	"errcode": 1000,
	"msg": "OK",
	"resource_id": "17lok52y"
}

列出一页资源

GET /media_editor/api/list_resources

type 类型:

type 描述
video 视频资源
audio 音频资源
image 图像资源
text_template 文字模板
animation 过场动画

URL 参数

参数 描述 取值
editor_id 云剪辑 ID string
page 页数,默认 1 int
page_size 每页个数,默认 15 int
type 资源类型 string

返回字段

参数 描述 取值
errcode 错误码,1000 为正常 int
msg "OK" 或错误信息 string
resources 资源列表 object array
resources.resource_id 视频资源 ID int
resources.created_at 创建时间 string
resources.updated_at 更新时间 string
resources.status 视频资源状态 int
resources.url 视频 URL string
resources.name 视频名称 string
resources.duration 视频时长(毫秒) int
resources.width 视频宽 int
resources.height 视频高 int
resources.thumb_url 视频封面 URL string
resources.frames_image_url 视频预览长图 URL string
count 总个数 int

返回示例:

{
	"count": 33,
	"errcode": 1000,
	"msg": "OK",
	"resources": [
		{
			"resource_id": "17lok52y",
			"created_at": "2010-11-22 15:16:17",
			"updated_at": "2010-11-22 15:16:17",
			"status": 1,
			"url": "1",
			"name": "1",
			"duration": 1,
			"width": 1,
			"height": 1,
			"thumb_url": "1",
			"frames_image_url": "1"
		}
	]
}

获取一个资源

GET /media_editor/api/get_resource

type 类型:

type 描述
video 视频资源
audio 音频资源
image 图像资源

URL 参数

参数 描述 取值
resource_id 资源 ID string
type 资源类型 string

返回字段

参数 描述 取值
errcode 错误码,1000 为正常 int
msg "OK" 或错误信息 string
resource 资源 object
resource.resource_id 视频资源 ID int
resource.created_at 创建时间 string
resource.updated_at 更新时间 string
resource.status 视频资源状态 int
resource.url 视频 URL string
resource.name 视频名称 string
resource.duration 视频时长(毫秒) int
resource.width 视频宽 int
resource.height 视频高 int
resource.thumb_url 视频封面 URL string
resource.frames_image_url 视频预览长图 URL string

返回示例:

{
	"errcode": 1000,
	"msg": "OK",
	"resource": {
		"resource_id": "17lok52y",
		"created_at": "2010-11-22 15:16:17",
		"updated_at": "2010-11-22 15:16:17",
		"status": 1,
		"url": "1",
		"name": "1",
		"duration": 1,
		"width": 1,
		"height": 1,
		"thumb_url": "1",
		"frames_image_url": "1"
	}
}

更新资源

POST /media_editor/api/update_resource

type 类型:

type 描述
video 视频资源
audio 音频资源
image 图像资源

URL 参数

参数 描述 取值
resource_id 资源 ID string
type 资源类型 string

JSON 参数

参数 描述 取值
resource_name 资源名称 string

返回字段

参数 描述 取值
errcode 错误码,1000 为正常 int
msg "OK" 或错误信息 string

返回示例:

{
	"errcode": 1000,
	"msg": "OK"
}

检查视频在媒体库中是否存在

POST /media_editor/api/check_videos_exist

JSON 参数

参数 描述 取值
resource_ids 资源 ID 数组 string array

返回字段

参数 描述 取值
errcode 错误码,1000 为正常 int
msg "OK" 或错误信息 string
exists 结果列表 bool list

返回示例:

{
	"errcode": 1000,
	"exists": [
		true,
		true,
		false
	],
	"msg": "OK"
}

向流媒体请求生成一个帧(毫秒)预览图片,返回图片内容

GET /media_editor/api/generate_preview_image

URL 参数

参数 描述 取值
editor_id 云剪辑 ID string
time_at 毫秒时间戳 int

返回字段

参数 描述 取值
errcode 错误码,1000 为正常 int
msg "OK" 或错误信息 string

删除资源

POST /media_editor/api/delete_resource

type 类型:

type 描述
video 视频资源
audio 音频资源
image 图像资源

URL 参数

参数 描述 取值
resource_id 资源 ID string
type 资源类型 string

返回字段

参数 描述 取值
errcode 错误码,1000 为正常 int
msg "OK" 或错误信息 string

返回示例:

{
	"errcode": 1000,
	"msg": "OK"
}

生成视频,创建视频生成历史

POST /media_editor/api/generate_video

视频生成开始时,(云剪辑)会发送一个generate_video_start的notify通知,通知包含云剪辑的ID, 生成历史的id, 举例如下:

{
    "event_type": "generate_video_start",
    "media_editor_id": "ga5kd0ex",    // 云剪辑id
    "video_history_id": "6ylgj4l1",   // 视频生成的id
    "video_name": "视频名称"          // 视频名称
    "video_url": "",                  // 视频url,开始生成或生成失败时为空字符串
    "video_id": "",                   // 视频点播id, 开始生成或生成失败时为空字符串
    "video_width": 854,               // 视频宽度,开始生成或生成失败时为0
    "video_height": 480,              // 视频高度,开始生成或生成失败时为0
    "video_thumb_url": ""             // 视频预览图url,开始生成或生成失败时为空字符串
}

视频生成失败时,(云剪辑)会发送一个generate_video_fail的notify通知,通知内容和generate_video_start的一致

视频生成成功时,(云剪辑)会发送一个generate_video_success的notify通知,通知内容和generate_video_start的一致

视频生成功时会添加到用户的媒体库,并且获取生成历史时可以获取到对应的video_id,(点播)发送一个 video_ready 的notify通知,通知内容包含生成的视频 URL,对应的云剪辑 ID 等,举例如下:

{
    "event_type": "video_ready",
    "file_size": 4904000,
    "origin_url": "http://storage.myun.tv/myun-storage/yd093o08/y0mkdd5o/yd093o08/1545300320384184890.m3u8",
    "source_id": "ga5kd0ex",
    "source_type": "media-editor",
    "status": 1,
    "thumb_url": "http://storage.myun.tv/myun-storage/yd093o08/m5pmo25z/yd093o08/y0mkdd5o/yd093o08/1545300320384184890.m3u8.jpg",
    "video_duration": 30400,
    "video_height": 480,
    "video_id": "856zdo0m",
    "video_name": "视频名称",
    "video_width": 854
}

URL 参数

参数 描述 取值
editor_id 云剪辑 ID string

JSON 参数

参数 描述 取值
video_name 生成视频的名称 string
width 生成视频的宽 int
height 生成视频的高 int

返回字段

参数 描述 取值
errcode 错误码,1000 为正常 int
msg "OK" 或错误信息 string
video_history_id 视频生成历史 ID string

返回示例:

{
	"errcode": 1000,
	"msg": "OK",
	"video_history_id": "j90eo564"
}

获取一页视频生成历史

GET /media_editor/api/list_video_histories

URL 参数

参数 描述 取值
editor_id 云剪辑 ID string
page 页数,默认 1 int
page_size 每页个数,默认 15 int

返回字段

参数 描述 取值
errcode 错误码,1000 为正常 int
msg "OK" 或错误信息 string
count 总个数 int
histories 视频生成历史列表 object array
histories.video_history_id 视频生成历史 ID int
histories.created_at 创建时间 string
histories.updated_at 更新时间 string
histories.video_status 视频状态 int
histories.progress 生成进度 0-1 float
histories.name 视频名称 string
histories.duration 视频时长(毫秒) int
histories.width 视频宽 int
histories.height 视频高 int
histories.video_url 视频 URL string
histories.json_config 用于还原先前的剪辑内容(前端单独查询时返回) string
histories.thumb_url 用户自定义封面图片 string

返回示例:

{
	"count": 33,
	"errcode": 1000,
	"histories": [
		{
			"video_history_id": "17lok52y",
			"created_at": "2010-11-22 15:16:17",
			"updated_at": "2010-11-22 15:16:17",
			"video_status": 1,
			"progress": 1,
			"name": "1",
			"duration": 1,
			"width": 1,
			"height": 1,
			"video_url": "1",
			"thumb_url": "1"
		}
	],
	"msg": "OK"
}

获取一个视频生成历史

GET /media_editor/api/get_video_history

URL 参数

参数 描述 取值
video_history_id 视频生成历史 ID string

返回字段

参数 描述 取值
errcode 错误码,1000 为正常 int
msg "OK" 或错误信息 string
history 视频生成历史 object
history.video_history_id 视频生成历史 ID int
history.created_at 创建时间 string
history.updated_at 更新时间 string
history.video_status 视频状态 int
history.progress 生成进度 0-1 float
history.name 视频名称 string
history.duration 视频时长(毫秒) int
history.width 视频宽 int
history.height 视频高 int
history.video_url 视频 URL string
history.json_config 用于还原先前的剪辑内容(前端单独查询时返回) string
history.thumb_url 用户自定义封面图片 string

返回示例:

{
	"errcode": 1000,
	"history": {
		"video_history_id": "17lok52y",
		"created_at": "2010-11-22 15:16:17",
		"updated_at": "2010-11-22 15:16:17",
		"video_status": 1,
		"progress": 1,
		"name": "1",
		"duration": 1,
		"width": 1,
		"height": 1,
		"video_url": "1",
		"json_config": "1",
		"thumb_url": "1"
	},
	"msg": "OK"
}

更新生成视频的封面

POST /media_editor/api/update_video_history_thumb

URL 参数

参数 描述 取值
video_history_id 视频生成历史 ID string

JSON 参数

参数 描述 取值
thumb_storage_id 用户自己上传的封面的文件 ID string
thumb_time_at 要截取的封面位置(毫秒),若用户自己上传封面,该值填 -1 int

返回字段

参数 描述 取值
errcode 错误码,1000 为正常 int
msg "OK" 或错误信息 string

返回示例:

{
	"errcode": 1000,
	"msg": "OK"
}

取消生成视频

POST /media_editor/api/cancel_generate_video

URL 参数

参数 描述 取值
video_history_id 视频生成历史 ID string

返回字段

参数 描述 取值
errcode 错误码,1000 为正常 int
msg "OK" 或错误信息 string

返回示例:

{
	"errcode": 1000,
	"msg": "OK"
}

删除视频生成历史

POST /media_editor/api/delete_video_history

URL 参数

参数 描述 取值
video_history_id 视频生成历史 ID string

返回字段

参数 描述 取值
errcode 错误码,1000 为正常 int
msg "OK" 或错误信息 string

返回示例:

{
	"errcode": 1000,
	"msg": "OK"
}