123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130 |
- 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)
- }
|