视频播放解决方案(一)

采用消息中间件rabbitMq
视频播放需要消耗的CPU资源比较大,所需时间也比较长,若采用同步方案,单个请求耗时太久,故考虑采用异步解决方案,这里推荐采用rabbitMq消息中间件,将需要处理的视频信息依次放入消息队列中,使其异步处理完视频信息,成功处理完之后手动确认。
下面先介绍Spring整合rabbitMq的方案:
1、添加依赖

org.springframework.boot
spring-boot-starter-amqp

2、在yaml文件中加入相关的配置
rabbitmq:
listener:
simple:
acknowledge-mode: manual
host: 192.168.41.63
port: 5672
username: admin
password: 123456
3、将视频基本信息存入队列中
@Autowired
private RabbitTemplate rabbitTemplate;
//将视频地址存入消息队列中
Map<String, Object> map = new HashMap<>();
map.put(“videoUrl”, videoUrl);
map.put(“fileName”, upload.getName());
map.put(“fileId”, upload.getId());
rabbitTemplate.convertAndSend(“videoQueue”, map);
4、消费者
@Component
@RabbitListener(queues = “videoQueue”)
public class Consumer {
@RabbitHandler
public void execute(Map<String, Object> map, Channel channel, Message message) throws Exception {
channel.basicAck(message.getMessageProperties().getDeliveryTag(), false);
} catch (Exception e) {
e.printStackTrace();
}
}
可以在192.168.41.63:15672 查看队列中消息的个数,状态等信息
在这里插入图片描述5、消费视频
在消费者中进行,主要是对视频的格式进行校验,然后下载视频,转码视频成MP4,然后切割视频,生成索引文件m3u8和多个视频ts文件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值