StartTranscode
POST
https://docs-api.zego.im/
注意
- 本文档 API 接口均为最新服务端 API v2 接口,后续相关功能的新增都会在此更新。为了给开发者带来更好的体验,ZEGO 推荐开发者使用最新 API v2 接口。
- 文件转码旧版 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必填
💡公共参数。签名,用于验证请求的合法性。请参考签名机制生成。
- application/json
Responses
- 200
OK
- application/json
