转码
2017-04-18 11:12:48 0 举报
转码,也被称为编码转换,是一种将数据从一种格式或编码转换为另一种的过程。这个过程通常用于在不同的系统或平台之间传输和处理数据。例如,如果你有一个文本文件,它可能是以UTF-8编码的,但你的数据库只接受ASCII编码,那么你就需要将文本文件转码为ASCII编码。 转码可以应用于各种类型的数据,包括文本、音频、视频和图像。它可以在各种编程语言中实现,如Python、Java和JavaScript等。 转码的主要优点是它可以确保数据在不同的系统和平台之间的兼容性。然而,它也可能导致数据的丢失或损坏,因为不同的编码可能无法完全兼容。因此,进行转码时需要谨慎操作,确保数据的完整性和准确性。
作者其他创作
大纲/内容
media.fileserver#taskPersistenceManager.save(encodeTask)
videoapi#mtsService.submitAnalysisJob()
taskType
保存视频资源
duration && isEduUser
media.fileserver#MtsOpenApiClient.addTask()
taemediacenter#srcfileManager.addVideoSource()
messageType == SNAPSHOT_COMPLETED
taemediacenter#videoManager.addVideo()
videoapi#mtsTranscode.generateTranscodeJobsDO()
异常处理
获取系统转码规则和预览转码规则
videoapi#mtsTranscodeApiWrapper.submit()
appKey == 42
media.fileserver#strategySelector.select().doWork(task)
获取转码模板,优先使用用户配置的模板,如果没有配置在使用默认模板
从AppMtsConfigDO中获取用户转码规则和系统转码规则
messageType == TRANSCODE_COMPLETED
INTELLIGENT_TEMPLATE_ENCODE
videoapi#mtsTranscode.getSysTemplateTransConfigList()
videoapi#mtsService.submit()
usePreset
media.fileserver#mediaEncodeService.callMTS()
确认上传文件是否存在
videoapi#mtsService.removeTemplateExceptMpic()
更新视频状态
media.fileserver#templateService.findByName()
videoapi#mtsConfigUtils.getAllDefinitionTransConfig()
从数据库中查出mts配置
taemediacenter#VideoManagerService.addVideo()
videoapi#mtsUtils.saveJobId()
messageType == METAINFO_COMPLETED
messageType == ANALYSIS_COMPLETED
media.fileserver#resolverForSystemPreset.resolveCommand()
media.fileserver#taskManager.assign()
media.fileserver#EncodeCompleteMessageManager.send()
videoapi#mtsConfigUtils.getSelfTemplateConfig()
更新视频时长
(appKey int newAppKeyList) || is2UploadProxy
组装本次提交的参数
media.fileserver#taskPersistenceManager.save()
media.fileserver#resolverForCustomTemplate.resolveCommand()
media.fileserver#fileService.findById()
自动过审,包括videoapi和taemediacenter
获取视频时长
放入tair缓存
media.fileserver#resolverForCustomTemplate.getSysTemplateId()
videoapi#mtsTranscode.saveTranscodeJob()
media.fileserver#taskManager.doGenerateQueryTaskForIntelligentTemplate()
taemediacenter#videoManager.updateVideoStateById()
isMeta ?videoapi#mtsService.submitMetaJob()
media.fileserver#mediaEncodeService.encodeFromUploadProxy()
videoapi#mtsService.getAppMtsConfigDOForSyncJob()
INTELLIGENT_TEMPLATE_QUERY
media.fileserver#taskManager.doGenerateEncodeTaskForIntelligentTemplate()
videoapi#VideoService2.preview()
videoapi#mtsTranscode.autoAudit()
taemediacenter#avService.addNormalEncodeTask()
videoapi#mtsUtils.getVideoInfo()
videoapi#AuditService.audit()
media.fileserver#avService.addMediaIntelligentEncodeTask()
获取原始视频信息
taemediacenter#transcodeManager.getDuration()
新增videovideoDao.addVideo()新增video和uploadId之间的引用关系videoUploadRelDao.addVideoUploadRela()
videoapi#mtsAnalysis.submitAnalysisJob
taemediacenter#resourceManager.saveOrUpdate()
剔除非MainPic的模板
将视频设置过自动过审
videoapi#VideoService2.add()
media.fileserver#taskPersistenceManager.save(fatherTask)
存储剪辑规则,用于在提交转码任务时与用户自定义专门任务或系统专门任务合并,多生成一个转码任务
taemediacenter#transcodeCompletedManager.process()
taemediacenter#transcodeManager.submitTask()
通知业务方转码完成
写入数据库
videoapi#VideoService2.updatePreviewDuration()
保存任务到数据库
videoapi#transactionDAO.addVideoSource()
isMainPic
videoapi#VideoService2.doSaveVideo()
根据配置获取视频元信息
videoapi#ugcTransService.finishJob()
useIntelligentTemplate
media.fileserver#taskManager.doGenerateEncodeTask()
videoapi#mtsService.submitImpl()
视频信息入库
videoapi#VideoService2.addPreviewVideo()
videoapi#auditManager.saveAuditResult()
videoapi#videoUploadService.saveVideo()
提交转码请求到阿里云
taemediacenter#videoDao.updateVideoStateById()
taemediacenter#notify.TranscodeCompletedListener.receiveMessage()
发起转码,转码完成通知
videoapi#TranscodeMessageListener.handleMessage()
提交转码,最多5次重试
生成一条upload记录
NEW_NORMAL_ENCODE
videoapi#mtsAnalysis.complete()
media.fileserver#taskManager.analyzeMediaEncodeTask()
media.fileserver#oldMediaEncodeService.generateTask()
taemediacenter#videoMsgProducer.sendVideoTranscodeCompletedMsg()
由于剪辑规则的入库在add之前,而add中会根据转码配置判断是否先走转码分析,分析完毕后再走转码,因此这里需要将转码配置设置为先分析再转码
videoapi#mtsTranscode.putJobIdToCache()
videoapi#VideoService2.addImpl()
videoapi#mtsTranscode.complete()
videoapi#mtsUtils.genUserData()
taemediacenter#metaq.TranscodeCompletedListener.consumeMessage()
videoapi#mtsAnalysisApiWrapper.submit()
taemediacenter#auditManager.saveAuditResult()
rcp
videoapi#VideoService2.generateVideoBaseInfoDO()
videoapi#VideoService2.generateUploadRecord()
获取用户转码规则和预览转码规则
media.fileserver#taskManager.doGenerateEncodeTaskForNewNormal()
media.fileserver#mediaEncodeService.encodeInternal()
taemediacenter#auditManager.startAudit()
videoapi#transcodeInputConfig.saveInputTranscodeConfig()
videoapi#mtsTranscode.submit()
videoapi#mtsTranscode.getTranscodeConfigDO()
用于确认上传文件是否存在
videoId 50000000000
videoapi#transcodeMessagePublisher.send()
videoapi#mtsService.submitMpicTranscodeJob()
videoapi#mtsMeta.complete()
isAnalysis ?videoapi#mtsService.submitTranscodeJobWithNoAnalysis()
0 条评论
下一页