You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
130 lines
4.5 KiB
130 lines
4.5 KiB
package archive |
|
|
|
import ( |
|
xtime "go-common/library/time" |
|
) |
|
|
|
const ( |
|
// VideoUploadInfo 视频上传完成 |
|
VideoUploadInfo = int8(0) |
|
// VideoXcodeSDFail 视频转码失败 |
|
VideoXcodeSDFail = int8(1) |
|
// VideoXcodeSDFinish 一转完成 |
|
VideoXcodeSDFinish = int8(2) |
|
// VideoXcodeHDFail 二转失败 |
|
VideoXcodeHDFail = int8(3) |
|
// VideoXcodeHDFinish 二转完成 |
|
VideoXcodeHDFinish = int8(4) |
|
// VideoDispatchRunning 正在分发 |
|
VideoDispatchRunning = int8(5) |
|
// VideoDispatchFinish 分发完成 |
|
VideoDispatchFinish = int8(6) |
|
// VideoStatusOpen 视频开放浏览 |
|
VideoStatusOpen = int16(0) |
|
// VideoStatusAccess 视频会员可见 |
|
VideoStatusAccess = int16(10000) |
|
// VideoStatusWait 视频待审 |
|
VideoStatusWait = int16(-1) |
|
// VideoStatusRecicle 视频被打回 |
|
VideoStatusRecicle = int16(-2) |
|
// VideoStatusLock 视频被锁定 |
|
VideoStatusLock = int16(-4) |
|
// VideoStatusXcodeFail 视频转码失败 |
|
VideoStatusXcodeFail = int16(-16) |
|
// VideoStatusSubmit 视频创建已提交 |
|
VideoStatusSubmit = int16(-30) |
|
// VideoStatusDelete 视频被删除 |
|
VideoStatusDelete = int16(-100) |
|
// XcodeFailZero 转码失败 |
|
XcodeFailZero = 0 |
|
// SrcTypeForVupload 合作方嵌套 |
|
SrcTypeForVupload = "vupload" |
|
// SrcTypeForQQ 腾讯视频 |
|
SrcTypeForQQ = "qq" |
|
// SrcTypeForHunan 湖南 |
|
SrcTypeForHunan = "hunan" |
|
// SrcTypeForSohu 搜狐 |
|
SrcTypeForSohu = "sohu" |
|
) |
|
|
|
var ( |
|
// XcodeFailCodes is bvc message mapping int value. |
|
//http://git.bilibili.co/bili_xcode/bili_xcode_docs/blob/master/%E7%B3%BB%E7%BB%9F%E6%95%B0%E6%8D%AE/%E8%BD%AC%E7%A0%81%E9%94%99%E8%AF%AF%E5%8E%9F%E5%9B%A0.md |
|
XcodeFailCodes = map[string]int8{ |
|
"FileDataUnrecognized": 1, // 上传文件不是视频 |
|
"VideoTrackAbsent": 2, // 没有视频轨 |
|
"AudioTrackAbsent": 3, // 没有音频轨 |
|
"VideoTrackEmpty": 4, // 视频轨无有效内容 |
|
"AudioTrackEmpty": 5, // 音频轨无有效内容 |
|
"DurationOverflow": 6, // 视频过长 |
|
"VideoTooNarrow": 7, // 画面太窄 |
|
"VideoTooFlat": 8, // 画面太扁 |
|
"DataCorrupted": 9, // 文件损坏 |
|
"WatermarkDownloadFail": 10, // 水印图片损坏 |
|
"DurationUnderflow": 11, // 可检测到的时长不足一秒 |
|
"StreamDataCorrupted": 12, // 文件编码数据错误 |
|
"IncorrectDataPackaging": 13, // 文件的封包数据错误 |
|
"UntolerableTimestampJump": 14, // 文件中时间戳有跳变 |
|
"UntolerableTimestampStretch": 15, // 文件中时间戳异常 |
|
"AACDataCorrupted": 16, // AAC音频数据错误 |
|
|
|
} |
|
// XcodeFailMsgs is int value mapping comment. |
|
XcodeFailMsgs = map[int8]string{ |
|
1: "文件格式错误,请检查是否上传了错误文件并尝试重新上传", |
|
2: "无视频轨,请补充视频轨并重新压制上传", |
|
3: "无音频轨,请补充音频轨并重新压制上传", |
|
4: "视频轨无有效内容,请补充缺失的视频数据重新压制上传", |
|
5: "音频轨无有效内容,请补充缺失的音频数据重新压制上传", |
|
6: "单个视频时长超过10小时,请剪辑后通过分P上传", |
|
7: "视频画面过窄,请纵向裁剪视频后重新上传", |
|
8: "视频画面过扁,请横向裁剪视频后重新上传", |
|
9: "视频数据有误,请重新编码后重新上传", |
|
10: "水印图片损坏", |
|
11: "单个视频时长不足1秒,请检查视频时长并尝试重新上传", |
|
12: "文件编码数据错误", |
|
13: "文件封包数据错误,请重新压制后上传", |
|
14: "视频时间戳有异常,请修正后重新压制上传", |
|
15: "视频时间戳有异常,请检查音视频数据并重新压制上传", |
|
16: "AAC音频数据错误,请重新使用AAC编码后上传", |
|
} |
|
) |
|
|
|
// Video is archive_video model. |
|
type Video struct { |
|
ID int64 |
|
Filename string |
|
Cid int64 |
|
Aid int64 |
|
Title string |
|
Desc string |
|
SrcType string |
|
Duration int64 |
|
Filesize int64 |
|
Resolutions string |
|
Playurl string |
|
FailCode int8 |
|
Index int |
|
Attribute int32 |
|
XcodeState int8 |
|
Status int16 |
|
WebLink string |
|
Dimensions string |
|
CTime xtime.Time |
|
MTime xtime.Time |
|
} |
|
|
|
//AuditParam is from video audit |
|
type AuditParam struct { |
|
IsAudit bool |
|
} |
|
|
|
// AttrVal get attribute value. |
|
func (v *Video) AttrVal(bit uint) int32 { |
|
return (v.Attribute >> bit) & int32(1) |
|
} |
|
|
|
// AttrSet set attribute value. |
|
func (v *Video) AttrSet(vl int32, bit uint) { |
|
v.Attribute = v.Attribute&(^(1 << bit)) | (vl << bit) |
|
}
|
|
|