今天为大家带来的内容是:明白了以下5点思路,你也能用Python实现直播推流效果(技术活)

本文内容主要介绍了Python实现直播推流效果,主要是通过opencv读取视频对视频分割为帧,本文通过实例代码讲解的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下!

开始之前我们先来看看效果图:

思路概括:

  1. opencv读取视频
  2. 将视频分割为帧
  3. 对每一帧进行处理(opencv模板匹配)
  4. 在将此帧写入pipe管道
  5. 利用ffmpeg进行推流直播

中间遇到的问题

在处理本地视频时,并没有延时卡顿的情况。但对实时视频流的时候,出现了卡顿延时的效果。在一顿度娘操作之后,采取了多线程的方法。

opencv读取视频

OpenCV模板匹配

模板匹配就是在一幅图像中寻找一个特定目标的方法之一,这种方法的原理非常简单,遍历图像中每一个可能的位置,比较各处与模板是否相似,当相似度足够高时,就认为找到了目标。

FFmpeg推流

在Ubuntu 14 上安装 Nginx-RTMP 流媒体服务器(感兴趣的可以私信我拿地址)

提示:没有文字分割的代码图是一张图(代码块太长只能分批展示出来)

以上说明:rtmp是要接受视频的服务器,服务器按照上面所给连接地址即可。

多线程处理

提示:没有文字分割的代码图是一张图(代码块太长只能分批展示出来)

以上做出说明:使用Python3自带的多线程模块mutilprocessing模块,创建一个队列,线程A从通过rstp协议从视频流中读取出每一帧,并放入队列中,线程B从队列中将图片取出,处理后进行显示。线程A如果发现队列里有两张图片,即线程B的读取速度跟不上线程A,那么线程A主动将队列里面的旧图片删掉,换新图片。

总结

以上所述内容就是给大家介绍的Python实现直播推流效果,希望对大家有所帮助,如果大家有任何疑问请给我留言。

ffmpeg推流_明白了以下5点思路,你也能用Python实现直播推流效果(技术活)相关推荐

  1. windows下ffmpeg+nginx-rtmp环境搭建及opencv+ffmpeg+python实现拉流和rtmp直播推流

    由于工作需要最近在研究rtsp拉流与直播推流的问题,目前先在我本机上进行了实验,本博客记录学习的内容,包含windows下ffmpeg.nginx-rtmp环境搭建及opencv+ffmpeg+pyt ...

  2. python刷直播人气_表姐直播人气很差?Python一招引爆直播推流效果

    本节介绍了Python完成直播推流作用,主要是经过opencv读取视频对视频分割为帧,本文经过实例代码讲解的非常具体 做任何事情都有一定的思路,写代码更是如此,直播推流的整体思路如下: opencv读 ...

  3. 直播推流 ffmpeg 拉流二次转发 记录

    因 前两天老大给我发了个任务,说让我做一个flask 服务器接口,接收请求,在请求参数中获取 直播拉流地址和 推流地址,然后调用 ffmpeg 到拉流地址上进行拉流 将拉到的流媒体数据推到另一个直播服 ...

  4. 【Android RTMP】安卓直播推流总结 ( 直播服务器搭建 | NV21 图像采集 | H.264 视频编码 | PCM 音频采集 | AAC 音频编码 | RTMP 包封装推流 )

    文章目录 一. 安卓直播推流专栏博客总结 二. 相关资源介绍 三. GitHub 源码地址 四. 整体 Android 直播推流数据到服务器并观看直播演示过程 Android 直播推流流程 : 手机采 ...

  5. python实现直播功能_Python实现直播推流效果

    首先给出展示结果,大体就是检测工业板子是否出现.采取检测的方法比较简单,用的OpenCV的模板检测. 大体思路 opencv读取视频 将视频分割为帧 对每一帧进行处理(opencv模板匹配) 在将此帧 ...

  6. python怎么实现直播_Python实现直播推流效果

    首先给出展示结果,大体就是检测工业板子是否出现.采取检测的方法比较简单,用的OpenCV的模板检测. 大体思路 opencv读取视频 将视频分割为帧 对每一帧进行处理(opencv模板匹配) 在将此帧 ...

  7. Vue中如何进行屏幕录制与直播推流

    Vue中如何进行屏幕录制与直播推流 屏幕录制和直播推流是现代Web应用中常用的功能,例如在线教育.视频会议和游戏直播等.Vue作为一种流行的JavaScript框架,提供了一些工具和库,可以方便地实现 ...

  8. Android开发-在Android里接入阿里云推流SDK实现直播推流的功能

    前 言 如今,在国内移动互联网发展了几年的时间,移动开发技术也相对的成熟,在咱们日常使用的手机App中也少不了直播的功能,不管是娱乐类.游戏类.体育类还是教育类等的App都会有直播的功能,可以说直播的 ...

  9. 如何设计更好的在线教育直播推流方案

    互动直播大浪潮在全面席卷游戏(熊猫.斗鱼)和移动社交(映客.花椒)后开始向在线教育蔓延.新东方在线.YY 教育.学而思.对啊网.粉笔公考.海边.三好网等教育企业已经开始尝试开展"在线教育+直 ...

最新文章

  1. 科技部:基础研究十年行动方案将制定,支持冷门学科等发展
  2. 获取pheatmap热图聚类后和标准化后的结果
  3. php倒计时关闭订单,订单倒计时取消,nodejs 辅助实现倒计时任务
  4. 哈尔滨工业大学(深圳)姜欣副教授课题组招收客座硕士-机器人方向
  5. Linux内核网络数据包处理流程
  6. Vue自定义组件数组型双向绑定
  7. install opencv from source
  8. SSM框架之Spring MVC(二)常用注解说明
  9. svn对项目权限进行管理
  10. uni-app开发开发h5,小程序,app,注意事项
  11. 应届java开发简历,一文全懂
  12. latex生成的pdf论文在打印时页码混乱的解决方法
  13. BAT机器学习面试1000题系列(第1~305题)
  14. 怎样设置rotacast插件_Revit插件|提取地形图上地形小插件(感觉一般,可以试试)...
  15. Bug 引发的 18 次重大事故
  16. 【Java编程】模拟帐户存取和转账操作
  17. 舞蹈课 (C++堆的优先级与重载)
  18. STM32F103驱动THM3060读取二代身份证
  19. 还在搞三层架构?了解下 DDD 分层架构的三种模式吧 !
  20. AR培训丨零基础制作第一个AR应用——AR绘本

热门文章

  1. python使用numpy的np.power函数计算numpy数组中每个数值的指定幂次(例如平方、立方)、np.power函数默认返回整数格式、np.float_power函数默认返回浮点数
  2. R语言ggplot2可视化绘制线图(line plot)、使用gghighlight包突出高亮满足条件的线图、并保留其它线图的色彩(而不是灰色)自定义非高亮线图的透明度
  3. seaborn使用jointplot函数为散点图添加边缘图、添加回归线、为边缘直方图添加密度曲线、使用ratio函数突出显示边缘图形(focus on Marginal Plot )
  4. R语言ggplot2可视化:在选定数据点周围添加圆圈(Add Circles Around Select Data Points)
  5. Python使用matplotlib或者Seaborn箱图(boxplot)可视化时汉语(中文)标签显示成了框框□□、什么情况、我们有解决方案。
  6. R语言回归模型协方差分析(Analysis of Covariance)
  7. 误差分析是什么?如何进行误差分析?分析为了获得什么知识?
  8. 被讨厌的勇气(讨厌我的人多了,你算老几)
  9. 大学计算机基础 学年教学计划,大学计算机基础教学计划.pdf
  10. hadoop_入门1