flask之REDIS+Dplayer消息队列实现电影弹幕
一、安装Redis
官网下载地址:https://redis.io/download
Redis centos安装过程:
yum -y install gcc gcc-c++ wget http://download.redis.io/releases/redis-4.0.10.tar.gz tar -zxvf redis-4.0.10.tar.gz cd redis-4.0.10 make && make install ./utils/install_server.sh #测试redis是否运行 redis-cli > ping #返回pong表示成功
安装flask-redis
#清华源 pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple flask-redis
二、安装开源插件Dplayer
Dplayer官网地址:http://dplayer.js.org/#/ (有时候会打不开哦)
Dplayer github地址:https://github.com/MoePlayer/DPlayer
#html引入css/js
<link rel="stylesheet" href="{{ url_for('static',filename='dplayer/dist/Dplayer.min.css') }}" >
<script src="{{ url_for('static',filename='dplayer/dist/DPlayer.min.js') }}"></script>
#引用到页面
<div id="dplayer" style="height: 500px;width: 774px"></div>
#弹幕和视频接口<script>var dp1 = new DPlayer({container: document.getElementById('dplayer'),video: {url: "{{ url_for('static',filename='uploads/'+movie.url) }}"},danmaku: {id: '{{ movie.id }}',api: "/tm/"}});</script>#Python返回弹幕的处理方法
@home.route("/tm/v3/",methods=["GET","POST"])
def tm():import jsonif request.method=="GET":#获取弹幕消息队列mid = request.args.get("id")key="movie"+str(mid)if rd.llen(key):msgs=rd.lrange(key,0,2999)res={"code":0,"data":[json.loads(v) for v in msgs]}else:res={"code":1,"danmaku":[]}resp=json.dumps(res)if request.method=="POST":#添加弹幕data=json.loads(request.get_data())msg= {"__v": 0,"_id": datetime.datetime.now().strftime("%Y%m%d%H%M%S") + uuid.uuid4().hex,"author": data["author"],"time": data["time"],"text": data["text"],"color": data["color"],"type": data["type"],"ip": request.remote_addr,"player": data["id"]}res = {"code": 0,"danmaku":msg}resp=json.dumps(res)msg=[data["time"],data["type"],data["color"],data["author"],data["text"]]rd.lpush("movie"+str(data["id"]),json.dumps(msg))return Response(resp,mimetype="application/json")
播放效果:
转载于:https://www.cnblogs.com/xiangjun555/articles/9402020.html
flask之REDIS+Dplayer消息队列实现电影弹幕相关推荐
- Redis做消息队列,香吗?
来自:架构师修行之路 菜菜哥,我刚做完了一个订单系统,感觉很简单呀 说说看,大量的订单状态怎么处理的? 我设计的时候可是考虑了这一点,所以用了异步处理,采用了MQ 那用的什么MQ呢,透露一下呗 我用的 ...
- 【springboot】【redis】springboot+redis实现发布订阅功能,实现redis的消息队列的功能...
springboot+redis实现发布订阅功能,实现redis的消息队列的功能 参考:https://www.cnblogs.com/cx987514451/p/9529611.html 思考一个问 ...
- PHP + Redis 实现消息队列
Redis做消息队列的好处在于它的轻量级,高并发,延迟敏感,应用场景有 即时数据分析.秒杀计数器.缓存等 Redis做消息队列待解决的问题: 1.消息的可靠性: 没有相应的机制保证消息的消费,当消费者 ...
- redis实现消息队列
redis是一个开源的key-value存储系统.与Memcached类似,Redis将大部分数据存储在内存中,支持的数据类型包括:字符串.哈希表.链表.集合.有序集合以及基于这些数据类型的相关操作. ...
- 用redis实现消息队列(实时消费+ack机制)【转】
用redis实现消息队列(实时消费+ack机制) java queue 消息队列 redis 消息队列 首先做简单的引入. MQ主要是用来: 解耦应用. 异步化消息 流量削峰填谷 目前使用的较多的有A ...
- 使用Redis 实现消息队列
一 .为什么要用Redis实现轻量级MQ? MQ的主要作用: 应用解耦 异步化消息 流量削峰填谷 目前使用比较多的是ActiveMQ . RabbitMQ . ZeroMQ . Kafka . Met ...
- 【BCVP】实现基于 Redis 的消息队列
聆听自己的声音 如果自己学不动了,或者感觉没有动力的时候,看看书,听听音乐,跑跑步,休息两天,重新出发,偷懒虽好,可不要贪杯. 话说上回书我们说到了,Redis的使用修改<[BCVP更新]Sta ...
- 程序员过关斩将--redis做消息队列,香吗?
菜菜哥,我刚做完了一个订单系统,感觉很简单呀 说说看,大量的订单状态怎么处理的? 我设计的时候可是考虑了这一点,所以用了异步处理,采用了MQ 那用的什么MQ呢,透露一下呗 我用的redis做的MQ,很 ...
- c#进阶(4)—— Redis 用于消息队列的存储
1.参考的博文 a : http://www.cnblogs.com/lori/archive/2012/04/12/2443708.html -- 主要的实现思路 b: http://www.cn ...
最新文章
- 聊聊Dubbo - Dubbo可扩展机制源码解析
- 输入防抖 vue # 输入搜索的时候 及时搜索的快速访问接口的 解决方案 vue 中使用防抖和节流
- 【采用】无监督核心聚类算法
- Java十大简单性能优化
- 重温设计模式之 Factory
- ECCV18 | 如何正确使用样本扩充改进目标检测性能(附Github地址)
- mobilenet cpu 加速_AMD锐龙5000系列CPU价格公布 哪款才是性价比之王_搜狐汽车
- arduino无源蜂鸣器歌曲编码_Arduino 蜂鸣器音乐代码转化程序开发
- uniapp公共跳转(uni.navigateTo)封装
- 【Ubuntu teamview 安装与卸载】
- BZOJ3505 [Cqoi2014]数三角形
- 无人机在环保行业中的应用
- oracle 用户创建赋权,oracle 建表空间用户及赋权
- 关于数据库、数据治理、AIOps的这些痛点,你需要知道! | DAMS 2020
- 强化学习——蒙特卡洛方法
- bzoj1208: [HNOI2004]宠物收养所 SBTSplay
- 一文搞懂业务中台、数据中台、AI中台区别及联系
- 优化巨量关键词的匹配(转载笔记)
- Paper:《The Illustrated Word2vec》翻译与解读
- 推荐一个好用的ros plot工具 plot juggler 以及ROS常用的绘图工具
热门文章
- ie8及其以下版本兼容性问题之input file隐藏上传文件
- 方差公式初三_初中数学方差知识点
- 电商产品设计:后台营销功能模块设计-砍价活动(三)
- 基于微信小程序的打车系统#毕业设计
- simulink仿真、libview仿真、 amesim仿真介绍
- linux(centos7)部署kubernetes(k8s 1.16.2)集群环境及测试
- 漫画 | 干掉session,爽死了!
- 【渝粤教育】国家开放大学2018年秋季 0554-22T立体构成(一) 参考试题
- 教学录像分析 计算机,课堂教学录像分析方法 - 敏特英语.ppt
- Golang 分割字符串