一、安装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消息队列实现电影弹幕相关推荐

  1. Redis做消息队列,香吗?

    来自:架构师修行之路 菜菜哥,我刚做完了一个订单系统,感觉很简单呀 说说看,大量的订单状态怎么处理的? 我设计的时候可是考虑了这一点,所以用了异步处理,采用了MQ 那用的什么MQ呢,透露一下呗 我用的 ...

  2. 【springboot】【redis】springboot+redis实现发布订阅功能,实现redis的消息队列的功能...

    springboot+redis实现发布订阅功能,实现redis的消息队列的功能 参考:https://www.cnblogs.com/cx987514451/p/9529611.html 思考一个问 ...

  3. PHP + Redis 实现消息队列

    Redis做消息队列的好处在于它的轻量级,高并发,延迟敏感,应用场景有 即时数据分析.秒杀计数器.缓存等 Redis做消息队列待解决的问题: 1.消息的可靠性: 没有相应的机制保证消息的消费,当消费者 ...

  4. ​redis实现消息队列

    redis是一个开源的key-value存储系统.与Memcached类似,Redis将大部分数据存储在内存中,支持的数据类型包括:字符串.哈希表.链表.集合.有序集合以及基于这些数据类型的相关操作. ...

  5. 用redis实现消息队列(实时消费+ack机制)【转】

    用redis实现消息队列(实时消费+ack机制) java queue 消息队列 redis 消息队列 首先做简单的引入. MQ主要是用来: 解耦应用. 异步化消息 流量削峰填谷 目前使用的较多的有A ...

  6. 使用Redis 实现消息队列

    一 .为什么要用Redis实现轻量级MQ? MQ的主要作用: 应用解耦 异步化消息 流量削峰填谷 目前使用比较多的是ActiveMQ . RabbitMQ . ZeroMQ . Kafka . Met ...

  7. 【BCVP】实现基于 Redis 的消息队列

    聆听自己的声音 如果自己学不动了,或者感觉没有动力的时候,看看书,听听音乐,跑跑步,休息两天,重新出发,偷懒虽好,可不要贪杯. 话说上回书我们说到了,Redis的使用修改<[BCVP更新]Sta ...

  8. 程序员过关斩将--redis做消息队列,香吗?

    菜菜哥,我刚做完了一个订单系统,感觉很简单呀 说说看,大量的订单状态怎么处理的? 我设计的时候可是考虑了这一点,所以用了异步处理,采用了MQ 那用的什么MQ呢,透露一下呗 我用的redis做的MQ,很 ...

  9. c#进阶(4)—— Redis 用于消息队列的存储

    1.参考的博文 a : http://www.cnblogs.com/lori/archive/2012/04/12/2443708.html -- 主要的实现思路 b:  http://www.cn ...

最新文章

  1. 聊聊Dubbo - Dubbo可扩展机制源码解析
  2. 输入防抖 vue # 输入搜索的时候 及时搜索的快速访问接口的 解决方案 vue 中使用防抖和节流
  3. 【采用】无监督核心聚类算法
  4. Java十大简单性能优化
  5. 重温设计模式之 Factory
  6. ECCV18 | 如何正确使用样本扩充改进目标检测性能(附Github地址)
  7. mobilenet cpu 加速_AMD锐龙5000系列CPU价格公布 哪款才是性价比之王_搜狐汽车
  8. arduino无源蜂鸣器歌曲编码_Arduino 蜂鸣器音乐代码转化程序开发
  9. uniapp公共跳转(uni.navigateTo)封装
  10. 【Ubuntu teamview 安装与卸载】
  11. BZOJ3505 [Cqoi2014]数三角形
  12. 无人机在环保行业中的应用
  13. oracle 用户创建赋权,oracle 建表空间用户及赋权
  14. 关于数据库、数据治理、AIOps的这些痛点,你需要知道! | DAMS 2020
  15. 强化学习——蒙特卡洛方法
  16. bzoj1208: [HNOI2004]宠物收养所 SBTSplay
  17. 一文搞懂业务中台、数据中台、AI中台区别及联系
  18. 优化巨量关键词的匹配(转载笔记)
  19. Paper:《The Illustrated Word2vec》翻译与解读
  20. 推荐一个好用的ros plot工具 plot juggler 以及ROS常用的绘图工具

热门文章

  1. ie8及其以下版本兼容性问题之input file隐藏上传文件
  2. 方差公式初三_初中数学方差知识点
  3. 电商产品设计:后台营销功能模块设计-砍价活动(三)
  4. 基于微信小程序的打车系统#毕业设计
  5. simulink仿真、libview仿真、 amesim仿真介绍
  6. linux(centos7)部署kubernetes(k8s 1.16.2)集群环境及测试
  7. 漫画 | 干掉session,爽死了!
  8. 【渝粤教育】国家开放大学2018年秋季 0554-22T立体构成(一) 参考试题
  9. 教学录像分析 计算机,课堂教学录像分析方法 - 敏特英语.ppt
  10. Golang 分割字符串