主要是给自己这两周折腾的东西收尾一下,踩了很多坑,比如用ffmpeg推流、自己配置nginx-rtmp环境等,没必要而且很容易出错。

前提知识

需要学习docker的简单使用,b站狂神,质量非常高。(别看写的java,我是python主语言的,也可以看)【狂神说Java】Docker进阶篇超详细版教程通俗易懂_哔哩哔哩_bilibili

需要学习网络相关的知识。比如ip地址的类型。

我们要做的事情分成两部分,推流和拉流。

推流

推流又分成两部分,一个是构建一个代理端口并配置一下,我主要是参考了

Docker简易搭建个人直播流rtmp服务器总结_二少爷的博客的博客-CSDN博客_docker搭建直播服务器

docker 搭建nginx-rtmp_司马懿的西山居-CSDN博客_docker nginx rtmp

两篇推文。注意需要配置好文件才能,可以参考第二篇推文里给的那个配置文件(因为我没花时间学nginx,不太看懂的)

sudo docker run -d --name rtmp -p 1935:1935 -p 8080:8080 -v ~/Documents/nginx-1.19.2/conf/nginx.conf:/etc/nginx/nginx.conf alqutami/rtmp-hls

以上需要安装在你的服务器上!!!!

完成以上步骤后,rtmp://你的服务器ip地址:1935/live/,就是我们要推流的地址了

另一个是把流推送到推流地址

在你设备端(比如电脑的前置摄像头、usb摄像头)所在的电脑,安装obs。(ffmpeg推流学习成本太高了)。如果是ip摄像头,好像是可以直接推流,只需要处理拉流的问题。

obs设置画面和声音非常方便,点点点就行了

唯一的问题是,要注意设置里,填写上面我们得到的推流地址(这步可能会卡在防火墙之类的问题上,要检查一下配置问题)。串流密钥,随便填写就行了,也可以不填。192是局域网,只有局域网内的设备可以拉流,如果想在公网拉就要127之前的ip地址。

然后点击开始推流,推流的步骤就好了。

拉流

拉流因为我的需求要放到服务器上跑一个实时深度学习项目,我还没有完全搞定

目前试了一下python的cv2。大家参考一下就好。

import cv2
import  timedef test():'''调用摄像头,捕捉图像'''url = 'rtmp://192.168.3.120:1935/live'cap = cv2.VideoCapture(url)#读取摄像头,0表示系统默认摄像头
#     cap = cv2.VideoCapture(0)while True:#读取图像ret,photo=cap.read()#将图像传送至窗口cv2.imshow('Please Take Your Photo!!',photo)#设置等待时间,若数字为0则图像定格key=cv2.waitKey(0.1)#按空格获取图像if key==ord(" "):#以当前时间存储filename = time.strftime('%Y%m%d-%H%M%S') + ".jpg"#保存位置cv2.imwrite(filename,photo)#按“q”退出程序if key==ord("q"):cap.release()breakpasstest()

实时摄像头流传输(直播)相关推荐

  1. 根据海康威视摄像头个数合成不同的摄像头画面的实时摄像头流

    随着技术的不断发展,越来越多的场景需要同时监控多个角度,而这就需要将多路摄像头的画面实时合成为一个流.根据摄像头的数量的不同,我们可以采用不同的方式来合成实时摄像头流.最近遇到一个问题,就是怎么在去是 ...

  2. python 通过socket通讯实现实时摄像头视频传输

    话不多说,直接上代码: 这是服务端代码: import socket import cv2 import numpy as npsk = socket.socket() # sk.setsockopt ...

  3. TCP协议在传输实时语音流方面的优点

    1. 可靠性高:TCP协议通过确认机制和重传机制保证数据的可靠性,能够保证语音数据的完整性和准确性. 2. 顺序性好:TCP协议能够保证数据的顺序性,能够确保语音数据按照发送顺序被接收. 3. 流量控 ...

  4. ffmpeg实现摄像头拉流_[FFmpeg] 如何通过实时摄像头帧图片生成 rtmp 直播流?

    背景 已经完成用 Python 对摄像头硬件实时提取帧图像并进行一系列机械视觉处理 客户突然提出, 一定要通过 rtml:// 进行远程工作状态的监控 分析 因为硬件驱动的原因 系统中一个 usb c ...

  5. Android 虚拟直播,实现无人直播,使用MP4文件替换实时摄像头预览流(Camera)

    抖音\微信 无人直播,用MP4文件替换实时摄像头(Camera) 使用:Xposed +android_virtual_cam 手机需要root 原生相机,预览界面替换成功 android_virtu ...

  6. 如何实现摄像头监控数据实时存储及传输?

    我们今天接到一个需求电话,是用户打电话向我们咨询方案,具体场景是这样的:需要用户对某个场景的监控数据进行访问,也就是监控摄像头拍摄到的,外网用户在我们的网站上都能看到,难点是怎么把摄像头监控的数据进行 ...

  7. 互联网协议 — RTSP 实时流传输协议

    目录 文章目录 目录 RTSP Linux RTSP Server Android RTSP Client RTSP RTSP(Real Time Streaming Protocol,实时流传输协议 ...

  8. C语言libcurl:RTSP(Real Time Streaming Protocol),RFC2326,实时流传输协议

    RTSP是TCP/IP协议体系中的一个应用层协议,由哥伦比亚大学.网景和RealNetworks公司提交的IETF RFC标准. /** Copyright (c) 2011 - 2019, Jim ...

  9. 实时流(直播流)播放、上墙(大屏播放)解决方案

    实时流(直播流)播放.上墙(大屏播放)解决方案 参考文章: (1)实时流(直播流)播放.上墙(大屏播放)解决方案 (2)https://www.cnblogs.com/xiaozhi_5638/p/8 ...

最新文章

  1. 009_Gson版本支持
  2. openssl 安装好了 php如何打开,开启openssl
  3. 一位软件实施工程师的自述
  4. php图片变成代码怎么解决,一段图片处理代码PHP代码转C#代码,该怎么解决
  5. ML的BD框架-Hadoop.Mahout.Strom.Spark/GraphLab
  6. JSP内置对象之WEB安全性及config对象
  7. 最IN的云原生架构,阿里云 Serverless 事件总线 EventBridge 重磅发布
  8. 初学 Delphi 嵌入汇编[29] - 寄存器所能接受的数值范围
  9. foxmail邮件怎样打印日历
  10. 【Python】function、module、Package及import导入方法
  11. windows installer 3.2搞定
  12. Mybatis plus 整合springboot 出现的Invalid bound statement (not found)问题
  13. DeepLearningAI 学习笔记 1.2 logistic 回归
  14. 什么是互联网保险平台?
  15. 如何将zlib,gzip和zip相关联?它们有什么共同之处,它们有何不同?
  16. Flink 大规模作业调度性能优化
  17. 爬kuku漫画网站的小爬虫
  18. 潘多拉固件设置ipv6_k2p下潘多拉/openwrt配置ipv6地址
  19. 抽奖h5小游戏还能这么玩?h5抽奖游戏种类详解
  20. 这些免费、可商用的图片素材网站,绝对不能错过

热门文章

  1. 分裂的史莱姆(二进制)
  2. boss金服:点买系统的基本解答
  3. 2017艾普兰机智云全家福
  4. maven install 提示:Process terminated
  5. 配置Json-Server
  6. pycharm远程连接服务器中的docker容器的配置
  7. svn上文件符号的意思
  8. 漫画:位运算技巧助你俘获offer
  9. ae渲染存在偏移_基于三维GIS技术的矢量地图动态LOD渲染方法
  10. python123测试4四位玫瑰数_心理测试:4朵玫瑰,你最喜欢哪一朵?测测你这辈子会有多少情债...