利用Python实现推流直播详解
https://blog.csdn.net/Mind_programmonkey/article/details/102732555https://blog.csdn.net/u014303844/article/details/80394101?utm_source=blogxgwz1四、RTMP Client
RTMP客户端使用videojs实现了在浏览器中的展示,demo如下
https://blog.csdn.net/steveyg/article/details/86488706
RTMP客户端使用python
https://www.cnblogs.com/sirxy/p/12126383.html
import cv2
import threading
import time
import win32gui,win32conclass Producer(threading.Thread):"""docstring for Producer"""def __init__(self, rtmp_str):super(Producer, self).__init__()self.rtmp_str = rtmp_str# 通过cv2中的类获取视频流操作对象capself.cap = cv2.VideoCapture(self.rtmp_str)# 调用cv2方法获取cap的视频帧(帧:每秒多少张图片)# fps = self.cap.get(cv2.CAP_PROP_FPS)self.fps = self.cap.get(cv2.CAP_PROP_FPS)print(self.fps)# 获取cap视频流的每帧大小self.width = int(self.cap.get(cv2.CAP_PROP_FRAME_WIDTH))self.height = int(self.cap.get(cv2.CAP_PROP_FRAME_HEIGHT))self.size = (self.width, self.height)print(self.size)# 定义编码格式mpge-4self.fourcc = cv2.VideoWriter_fourcc('M', 'P', '4', '2')# 定义视频文件输入对象self.outVideo = cv2.VideoWriter('saveDir1.avi', self.fourcc, self.fps, self.size)def run(self):print('in producer')ret, image = self.cap.read()while ret:# if ret == True:self.outVideo.write(image)cv2.imshow('video', image)cv2.waitKey(int(1000 / int(self.fps))) # 延迟if cv2.waitKey(1) & 0xFF == ord('q'):self.outVideo.release()self.cap.release()cv2.destroyAllWindows()breakret, image = self.cap.read()if __name__ == '__main__':print('run program')# rtmp_str = 'rtmp://live.hkstv.hk.lxdns.com/live/hks' # 经测试,已不能用。可以尝试下面两个。# rtmp_str = 'rtmp://media3.scctv.net/live/scctv_800' # CCTVrtmp_str = 'rtmp://58.200.131.2:1935/livetv/hunantv' # 湖南卫视producer = Producer(rtmp_str) # 开个线程producer.start()
rtmp原理
https://blog.csdn.net/wishfly/article/details/52965787
利用Python实现推流直播详解相关推荐
- python能处理nc文件吗_利用python如何处理nc数据详解
前言 这两天帮一个朋友处理了些 nc 数据,本以为很简单的事情,没想到里面涉及到了很多的细节和坑,无论是"知难行易"还是"知易行难"都不能充分的说明问题,还是& ...
- python处理nc数据_利用python如何处理nc数据详解
利用python如何处理nc数据详解 来源:中文源码网 浏览: 次 日期:2018年9月2日 [下载文档: 利用python如何处理nc数据详解.txt ] (友情提示:右键点上行txt ...
- 思路+源码,利用Python破解WIFI密码详解,100M的字典已备好
前言 WIFI破解,Python程序员必学技能.WIFI已经完全普及,现在Python程序员没网,走到哪里都不怕! 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语法过后 ...
- python处理nc文件并输出_利用python如何处理nc数据详解
前言 这两天帮一个朋友处理了些 nc 数据,本以为很简单的事情,没想到里面涉及到了很多的细节和坑,无论是"知难行易"还是"知易行难"都不能充分的说明问题,还是& ...
- github的python代码怎么跑_如何利用Python模拟GitHub登录详解
前言 最近学习了Fiddler抓包工具的简单使用,通过抓包,我们可以抓取到HTTP请求,并对其进行分析.现在我准备尝试着结合Python来模拟GitHub登录. Fiddler抓包分析 首先,我们想要 ...
- Python算法教程第一章知识点:利用插入元素的例子详解list之本质
声明:由于中译本翻译过于冗余,所以将有用处的知识点罗列出来. 微信公众号:geekkr 本文目录:一.利用插入元素的例子详解list之本质 </br> 一.利用插入元素的例子详解list之 ...
- python 自动化-Python API 自动化实战详解(纯代码)
主要讲如何在公司利用Python 搞API自动化. 1.分层设计思路 dataPool :数据池层,里面有我们需要的各种数据,包括一些公共数据等 config :基础配置 tools : 工具层 co ...
- Python Turtle 海龟绘图详解官方文档中文版
Python Turtle 海龟绘图详解 (官方文档中文版)-安徽省太湖中学陈晓中整理 概述 海龟绘图很适合用来引导孩子学习编程. 最初来自于 Wally Feurzeig, Seymour Pape ...
- python 拼音库_python有没有拼音库python进阶之socket详解
Socket的英文原义是"孔"或"插座".作为BSD UNIX的进程通信机制,通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句 ...
最新文章
- MySQL 水平分区方案Spock Proxy
- Linux Shell高级技巧(目录)
- Nginx模块参考手册中文版
- webpack使用教程
- php生成图片验证码-附五种验证码
- Python和SQL Server 2017的力量
- 浅谈Java中的各种锁
- bcp导入到数据库_Bcp和链接到Azure的服务器
- python之celery使用详解一
- 查询jdk支持的 tsl协议版本
- Python字符串count()
- 递归求解斐波那契fib(10)一共调用了多少次fib()函数
- Windows安装curl及基本命令
- 居家小二拉新活动H5页面
- BZOJ 2901: 矩阵求和
- [行人重识别论文阅读]Fine-Grained Shape-Appearance Mutual Learning for Cloth-Changing Person Re-Identification
- 百度研究院发布2022科技趋势预测,涵盖三大层面、十大领域
- MG动画实例——旋转的地球
- mysql用命令修改主键名_MySQL的常用命令:添加外键,修改字段名称,增加字段 设置主键自增长等 落楝花...
- 资深HR告诉你,面试中你不知道的那些秘密!
热门文章
- 苹果系统怎么降低版本_1903、1809...到底怎么看系统版本?
- 对未来计算机的设想1000字,未来的世界作文1000字
- c语言整形提升规则,C语言进阶:整型提升
- 五子棋博弈树剪枝c语言,五子棋AI博弈树之带Alpha-Beta剪枝的极大极小过程函数...
- mysql socket错误_解决Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’错误...
- xilinx axi dma linux 快速搭建框架
- python读取txt中的一列称为,从python中的文本文件读取特定列
- 关于XDC约束文件,你需要知道的几点
- JPA和Hibernate的关系
- ROW_NUMBER() OVER()函数用法;(分组,排序),partition by