Java的新项目学成在线笔记-day14(一)

学成在线-第14天-讲义-媒资管理 1 视频处理 1.1需求分析 
原始视频通常需要经过编码处理,生成m3u8和ts文件方可基于HLS协议播放视频。通常用户上传原始视频,系统 自动处理成标准格式,系统对用户上传的视频自动编码、转换,最终生成m3u8文件和ts文件,处理流程如下:
1、用户上传视频成功 2、系统对上传成功的视频自动开始编码处理
3、用户查看视频处理结果,没有处理成功的视频用户可在管理界面再次触发处理 
4、视频处理完成将视频地址及处理结果保存到数据库  
视频处理流程如下:
Java的新项目学成在线笔记-day14(一)_第1张图片 
视频处理进程的任务是接收视频处理消息进行视频处理,业务流程如下:
1、监听MQ,接收视频处理消息。 2、进行视频处理。
3、向数据库写入视频处理结果。

视频处理进程属于媒资管理系统的一部分,考虑提高系统的扩展性,将视频处理单独定义视频处理工程。
  1.2 视频处理开发 
1.2.1 视频处理工程创建 
1、导入“资料”下的视频处理工程:xc-service-manage-media-processor

Java的新项目学成在线笔记-day14(一)_第2张图片 
RabbitMQ配置如下:
 

[AppleScript] 纯文本查看 复制代码

?

01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

@Configuration public class RabbitMQConfig {

    public static final String EX_MEDIA_PROCESSTASK = "ex_media_processor";   

   //视频处理队列

    @Value("${xc‐service‐manage‐media.mq.queue‐media‐video‐processor}")

    public  String queue_media_video_processtask;   

   //视频处理路由   

 @Value("${xc‐service‐manage‐media.mq.routingkey‐media‐video}") 

   public  String routingkey_media_video;    

    /**    

 * 交换机配置  

   * @return the exchange  

   */    

@Bean(EX_MEDIA_PROCESSTASK)  

  public Exchange EX_MEDIA_VIDEOTASK() {  

      return ExchangeBuilder.directExchange(EX_MEDIA_PROCESSTASK).durable(true).build();

    }   

 //声明队列 

   @Bean("queue_media_video_processtask") 

   public Queue QUEUE_PROCESSTASK() {  

      Queue queue = new Queue(queue_media_video_processtask,true,false,true);    

    return queue;

    } 

   /**  

   * 绑定队列到交换机 .  

   * @param queue   

the queue 

    * @param exchange the exchange 

    * @return the binding   

  */    

@Bean

    public Binding binding_queue_media_processtask(@Qualifier("queue_media_video_processtask")  Queue queue,

 @Qualifier(EX_MEDIA_PROCESSTASK) Exchange exchange) {     

   return BindingBuilder.bind(queue).to(exchange).with(routingkey_media_video).noargs();  

  }   }


在application.yml中配置队列名称及routingkey

[AppleScript] 纯文本查看 复制代码

?

1

2

3

4

xc‐service‐manage‐media:

  mq: 

   queue‐media‐video‐processor: queue_media_video_processor

    routingkey‐media‐video: routingkey_media_video

你可能感兴趣的:(JAVA)