logo
当前页

StartTranscode

POST

https://docs-api.zego.im/

注意
  1. 本文档 API 接口均为最新服务端 API v2 接口,后续相关功能的新增都会在此更新。为了给开发者带来更好的体验,ZEGO 推荐开发者使用最新 API v2 接口。
  2. 文件转码旧版 API 仅供 2021-09-10 前接入的旧用户维护使用。旧版接口文档请参考 旧版服务端 API

描述

通过本接口创建文件转码任务。

如果希望对已经转码过的文件进行重新转码,请设置 IsRestartTranscode 为 1,否则系统会默认不重新转码,直接返回转码成功。

注意

本接口只能对已上传至 ZEGO 文件云服务的文件进行转码。如果文件未上传至 ZEGO 文件云服务,请先使用客户端 API 上传文件,详情请参考 共享文件管理-上传文件

文件哈希值和大小计算示例

文件哈希计算示例

文件哈希是对文件的内容进行计算得到的一个哈希值字符串,作用是用来对文件内容进行校验,服务器对收到的文件计算文件哈希值,然后和客户传递的文件哈希值进行比较,确保文件内容没有被篡改。

import (
	"crypto/md5"
	"fmt"
	"io"
	"os"
)

// fileName 文件路径+文件名 etc: /usr/local/aaa.sh
func main() {
	fileName := "/local/usr/test.go"
	str := GetFileMD5FromFile(fileName)
	fmt.Println(str)
}

func GetFileMD5FromFile(localFile string) (fileHash string) {
	fd, e := os.Open(localFile)
	if e != nil {
		return
	}
	defer fd.Close()
	fileHash = GetFileMD5(fd)
	return
}

func GetFileMD5(f io.Reader) string {
	h := md5.New()
	if _, err := io.Copy(h, f); err != nil {
		fmt.Println("%v", err)
	}
	return fmt.Sprintf("%x", h.Sum(nil))
}

文件大小计算示例

// fileName 文件路径+文件名 etc: /usr/local/aaa.sh
package main

import (
	"fmt"
	"os"
)

func main() {
	fileName := "/local/usr/test.go"
	fileSize := GetFileSize(fileName)
	fmt.Println(fileSize)
}

func GetFileSize(fileName string) int64 {
	fi, err := os.Stat(fileName)
	if err != nil {
		return 0
	}
	return fi.Size()
}
说明
调用频率限制:10 次/秒。

Request

Query Parameters

    Action string必填

    可选值: [StartTranscode]

    接口原型参数

    https://docs-api.zego.im/?Action=StartTranscode

    AppId uint32必填

    💡公共参数。应用 Id,由 ZEGO 分配的用户唯一凭证。可从 ZEGO 控制台 获取。

    SignatureNonce string必填

    💡公共参数。16 位 16 进制随机字符串(8 字节随机数的 hex 编码)。生成算法可参考 签名示例

    Timestamp int64必填

    💡公共参数。当前 Unix 时间戳,单位为秒。生成算法可参考 签名示例,最多允许 10 分钟的误差。

    SignatureVersion string必填

    可选值: [2.0]

    默认值: 2.0

    💡公共参数。签名版本号。

    Signature string必填

    💡公共参数。签名,用于验证请求的合法性。请参考签名机制生成。

Body

required
    FileHash string必填

    源文件哈希,要求为 32 位的 MD5 哈希值。计算方法请参考文件哈希计算示例。

    FileName string必填

    源文件名称。

    FileType int64必填

    可选值: [1, 2, 4, 8, 16, 32]

    源文件类型参数,可设置为 1、2、4、8、16、32,各参数值说明如下:

    • 1:ppt/pptx(静态文件,目标文件类型对应 256;动态文件,目标文件类型对应 512)
    • 2:doc/docx(目标文件类型对应 256)
    • 4:xls/xlsx(目标文件类型对应 256)
    • 8:PDF(目标文件类型对应 256)
    • 16:jpg/jpeg/png/bmp(目标文件类型对应 16)
    • 32:txt(目标文件类型对应 256)
    DestinationFileType int64必填

    可选值: [16, 256, 512]

    目标文件类型参数,可设置为 16、256、512,各参数值说明如下:

    • 16:jpg/jpeg/png/bmp
    • 256:向量和图片
    • 512:动态 PPT
    FileSize int64必填

    源文件大小,单位为字节。计算方法请参考文件大小计算示例。

    SourceFileUrl string必填

    源文件下载链接。

    说明

    出于安全考虑,建议使用带鉴权信息的下载 URL,并保证调用接口时 URL 有效期剩余半个小时以上。

    IsRestartTranscode int64

    可选值: [0, 1]

    是否重新转码。

    • 0:否,默认值
    • 1:是 注意:首次转码不能填写1,否则报错。
    ThumbnailDefinition int64

    可选值: [1, 2, 3]

    缩略图清晰度类型参数,可设置为 1、2、3,默认值是 1。如果不传递该参数,则使用默认清晰度:普通。各参数值说明如下:

    • 1:普通
    • 2:标清
    • 3:高清

    说明

    缩略图清晰度仅在转码前设置有效,作用于转码过程。如果需要改变转码后清晰度,请指定 IsRestartTranscode 为 1 后重新发起转码请求。

    EnableVectorImage integer

    可选值: [1, 2]

    输出文件是否转换为 svg 格式。

    • 1:关闭
    • 2:开启,默认值。

Responses

OK
Schema
    Code int64

    错误码。

    以下仅列出了接口业务相关的返回码,公共返回码请参考 公共返回码

    返回码说明
    60015不支持的源文件类型。
    60016文件大小超过最大限制,默认限制:100 MB。
    60017Excel文件超过最大限制,默认限制:10 MB。
    60021源文件类型和目标文件类型不匹配。
    Message string

    错误描述。

    RequestId string

    请求 ID。

    Data object
    响应对象。
    FileHash string

    源文件哈希。

    FileType int64

    源文件类型参数,可设置为 1、2、4、8、16、32,各参数值说明如下:

    • 1:ppt/pptx(静态文件,目标文件类型对应 256;动态文件,目标文件类型对应 512)
    • 2:doc/docx(目标文件类型对应 256)
    • 4:xls/xlsx(目标文件类型对应 256)
    • 8:PDF(目标文件类型对应 256)
    • 16:jpg/jpeg/png/bmp(目标文件类型对应 16)
    • 32:txt(目标文件类型对应 256)
    DestinationFileType int64

    目标文件类型参数,可设置为 16、256、512,各参数值说明如下:

    • 16:jpg/jpeg/png/bmp
    • 256:向量和图片
    • 512:动态 PPT
    FileName string

    源文件名称。

    FileSize int64

    源文件大小,单位为字节。

    Status int64

    文件转码状态,详情请参考 Status 字段说明表。

    Status 字段取值说明如下

    状态码描述
    1未上传。
    2已上传。
    4排队中。
    8转码中。
    16转码成功。
    32转码失败。
    64转码任务已取消。
    128受密码保护的文档。
    256文件内容过大,例如文档页数过多。
    512Excel 文件标签数过多。
    1024文件内容为空。例如:PPT 内无幻灯片。
    2048转码服务器打开文件失败。
    4096不支持的目标文件类型。
    8192源文件为只读文件。
    16384转码服务器下载源文件失败。 可能的原因如下:
    • 无法从请求参数中的源文件 URL 下载文件。
    • 请求参数中的文件哈希值不是 32 位的 MD5 哈希值。
    • 请求参数中的文件哈希值和根据文件计算的哈希值不匹配。
    32768检测到源文件中包含了转码工具无法处理的元素,如墨迹涂鸦等,请去掉这些元素后再进行转码。
    32769检测到 Word、Excel 和 PowerPoint 文件格式不合法,请确保源文件可以使用 Office 打开再进行转码。
    32770要转码的文件存在安全隐患,无法正常打开转码。请确保使用 Office 打开文件时不会提示编辑此文件可能会损害您的计算机
    32771动态 PPT 转码结束后,检测到有图片、音视频文件未正常导出,转码服务器将重试转码。
    32772文件大小过大,无法转码,请确保文件大小在限制的范围之内。
    32773打开文件时弹需要修复文件提示框(文件损坏)。
    32774EOF 错误(文件内容不完整)。
    TaskId string

    文件转码任务 ID。

上一篇

在线调试服务端 API

下一篇

查询文件转码状态

当前页

返回到顶部