学成在线-第14天-讲义-媒资管理1视频处理1.1需求分析原始视频通常需要经过编码处理,生成m3u8和ts文件方可基于HLS协议播放视频。通常用户上传原始视频,系统自动处理成标准格式,系统对用户上传的视频自动编码、转换,最终生成m3u8文件和ts文件,处理流程如下:1、用户上传视频成功2、系统对上传成功的视频自动开始编码处理3、用户查看视频处理结果,没有处理成功的视频用户可在管理界面再次触发处理4、视频处理完成将视频地址及处理结果保存到数据库视频处理流程如下:视频处理进程的任务是接收视频处理消息进行视频处理,业务流程如下:1、监听MQ,接收视频处理消息。2、进行视频处理。3、向数据库写入视频处理结果。北京市昌平区建材城西路金燕龙办公楼一层电话:400-618-9090视频处理进程属于媒资管理系统的一部分,考虑提高系统的扩展性,将视频处理单独定义视频处理工程。1.2视频处理开发1.2.1视频处理工程创建1、导入“资料”下的视频处理工程:xc-service-manage-media-processor2、RabbitMQ配置使用rabbitMQ的routing交换机模式,视频处理程序监听视频处理队列,如下图:北京市昌平区建材城西路金燕龙办公楼一层电话:400-618-9090RabbitMQ配置如下:在application.yml中配置队列名称及routingkey@ConfigurationpublicclassRabbitMQConfig{publicstaticfinalStringEX_MEDIA_PROCESSTASK="ex_media_processor";//视频处理队列@Value("${xc‐service‐manage‐media.mq.queue‐media‐video‐processor}")publicStringqueue_media_video_processtask;//视频处理路由@Value("${xc‐service‐manage‐media.mq.routingkey‐media‐video}")publicStringroutingkey_media_video;/***交换机配置*@returntheexchange*/@Bean(EX_MEDIA_PROCESSTASK)publicExchangeEX_MEDIA_VIDEOTASK(){returnExchangeBuilder.directExchange(EX_MEDIA_PROCESSTASK).durable(true).build();}//声明队列@Bean("queue_media_video_processtask")publicQueueQUEUE_PROCESSTASK(){Queuequeue=newQueue(queue_media_video_processtask,true,false,true);returnqueue;}/***绑定队列到交换机.*@paramqueuethequeue*@paramexchangetheexchange*@returnthebinding*/@BeanpublicBindingbinding_queue_media_processtask(@Qualifier("queue_media_video_processtask")Queuequeue,@Qualifier(EX_MEDIA_PROCESSTASK)Exchangeexchange){returnBindingBuilder.bind(queue).to(exch...