物联网架构成长之路(41)-直播流媒体入门(RTSP篇)
1. 搭建RTSP服务
首先现在音视频利器 ffmpeg,这个到http://www.ffmpeg.org/download.html 这里下载压缩包即可。
文档参考:http://trac.ffmpeg.org/wiki/ffserver
二进制下载地址:https://ffbinaries.com/downloads
由于ffserver在4.0以上已经移除了,所以只能下载3.x功能,不过已经够用了。我们只是用来测试而已。
新增ffserver.conf 配置
RTSPPort 5454
HTTPBindAddress 0.0.0.0
RTSPBindAddress 0.0.0.0
MaxHTTPConnections 2000
MaxClients 1000
MaxBandwidth 1000
<Stream test.rtsp>
File "./003.MOV"
Format rtp
</Stream>
启动RTSP服务

利用ffplay 测试播放rtsp视频
ffplay rtsp://172.16.20.197:5454/test.rtsp

2. 搭建RTSP流媒体服务器
注意这种与上面那一种的区别。
我们使用开源 https://github.com/EasyDarwin/EasyDarwin 搭建一个流媒体服务。
该方式的流程是,利用ffmpeg 以RTSP流方式推流到流媒体服务器EasyDarwin,然后再利用ffplay 以RTSP流方式拉流播放
先到这里https://github.com/EasyDarwin/EasyDarwin/releases 下载EasyDarwin的二进制包。然后默认配置运行起来。
启动后,访问http://172.16.23.241:10008 界面效果如下
利用ffmpeg,将文件推流到EasyDarwin流媒体服务器上。
ffmpeg -re -i .MOV -rtsp_transport tcp -vcodec h264 -f rtsp rtsp://172.16.23.241:554/test.rtsp

利用ffplay,从EasyDarwin流媒体服务器上拉流进行播放。
ffplay.exe -i rtsp://172.16.23.241:554/test.rtsp

我们平时买的大华,海康等这些IPCamera,一般都是提供RTSP协议。参见的格式如下:
rtsp://[username]:[password]@[ip]:[port]/[codec]/[channel]/[subtype]/av_stream
这种方式就是我们的第一种方式。一般我们利用一个PC工具,就可以实现播放监控。
EasyDarwin自带有RTSP拉流功能。
rtsp://172.16.20.197:5454/test.rtsp => rtsp://172.16.23.241/easydarwin



利用这个功能实现从RTSP流到RTSP流,类似于转播功能。

参考资料:
IPCamera RTSP格式: https://blog.csdn.net/hk121/article/details/83858480
EasyDarwin提供PC工具:https://pan.baidu.com/s/1-7lZ3KM4wPl87OLx2tWjTQ
本文地址: https://www.cnblogs.com/wunaozai/p/11772060.html

物联网架构成长之路(41)-直播流媒体入门(RTSP篇)的更多相关文章
- 物联网架构成长之路(42)-直播流媒体入门(RTMP篇)
1. 安装RTMP流媒体服务器 以前其实我是利用Nginx-RTMP-module搭建过RTMP流媒体服务器,并实现了鉴权功能.参考https://www.cnblogs.com/wunaozai/p ...
- 物联网架构成长之路(16)-SpringCloud从入门到吹水
1.前言 Spring Cloud 现在比较流行,版本更新也是蛮快的,网上资料也是很多.很多参考网上资料就可以学到了.这里给个 http://blog.csdn.net/forezp/article/ ...
- 物联网架构成长之路(43)-k8s从入门到放弃
0. 前言 这段时间要入门一下CI/CD了,以前简单的了解过Jenkins,现在要把以下的这个图的架构搭建起来.国外可能一两个命令就安装完成的事情,我折腾了2天多,真的差点放弃了. 1. 安装Virt ...
- 物联网架构成长之路(36)-Vue前端入门
1. 前言 物联网平台,需要有一个类似大屏看板的功能. 找了一圈,发现阿里已经有对应的DataV产品,但是那个价格有点贵啊.所以找了这个[http://datav.jiaminghi.com/demo ...
- 物联网架构成长之路(40)-Bladex开发框架入门
0. 前言 前一小节,讲了如何入门,这里就简单讲一下如何自定义查询和权限控制配置. 1. 配置多租户 如果要启用该表的多租户功能,需要在application.yml 这里配置. 2. 配置模糊匹配 ...
- 物联网架构成长之路(25)-Docker构建项目用到的镜像1
0. 前言 现在项目处于初级阶段,按照规划,先构建几个以后可能会用到的Image,并上传到阿里云的Docker仓库.以后博客中用到的Image,大部分都会用到这几个基础的Image,构建一个简单的物联 ...
- 物联网架构成长之路(31)-EMQ基于HTTP权限验证
看过之前的文章就知道,我之前是通过搞插件,或者通过里面的MongoDB来进行EMQ的鉴权登录和权限验证.但是前段时间发现,还是通过HTTP WebHook 方式来调用鉴权接口比较适合实际使用.还是实现 ...
- 物联网架构成长之路(24)-Docker练习之Compose容器编排
0.前言 一开始学的之后,是想一步到位直接上Kubernetes(K8s)的,后面没想到,好像有点复杂,有些概念不是很懂.因此学习东西还是要循序渐进,慢慢来.先了解单机编排技术Docker Compo ...
- 物联网架构成长之路(35)-利用Netty解析物联网自定义协议
一.前言 前面博客大部分介绍了基于EMQ中间件,通信协议使用的是MQTT,而传输的数据为纯文本数据,采用JSON格式.这种方式,大部分一看就知道是熟悉Web开发.软件开发的人喜欢用的方式.由于我也是做 ...
随机推荐
- Python连载47-json文件、正则表达式初步
一.在线工具 1.https://www.sojson.com/ 2.http://www.w3cshool.com.cn/json/ 3.http://www.runoob.com/json/jso ...
- Web自动化测试Selenium 学习笔记(一)
1.Web自动化测试简介自动化基础:自动化用例编写.Selenium优势及原理.自动化环境搭建Selenium基础:常见8大元素定位(表格).常见元素处理.下拉框元素处理.不同窗口切换.元素进阶.元素 ...
- python Qt5 实战(一)按钮颜色
工作中,工具用到了python Qt5,涉及到了按钮颜色,这里就做个总结.也顺便给要用这块的同仁抛出来一个砖头,把大牛引出来做个指导. 一般设置按钮的颜色有三种表达:如下所示:具体的怎么使用,估计要看 ...
- css的伪元素 ::after ::before 和 图标字体的使用
浅谈css的伪元素::after和::before css中的::after和::before已经被大量地使用在我们日常开发中了,使用他们可以使我们的文档结构更加简洁.但是很多人对::after和 ...
- 二级目录下的运行main.py,找不到上级目录的解决方法
import os, sys sys.path.append(os.path.dirname(os.path.dirname(os.path.realpath(__file__))))
- c# 字符串中全角和半角字符互转
public class ConvertDBCAndSBC { /// <summary>半角转成全角 /// 半角空格32,全角空格12288 /// 其他字符半角33~126,其他字符 ...
- E203数据冲突处理OITF
流水线的数据冲突分为三类:WAR,RAW,WAW https://wenku.baidu.com/view/e066926d48d7c1c708a14508.html WAR: write after ...
- STM32 掉电检测程序
当VDD下降到PVD阀值以下或当VDD上升到PVD阀值之上时,根据外部中断第16线的上升/下降边沿触发设置,就会产生PVD中断 void PVD_IRQHandler(void) { led_ctrl ...
- Python的4个内置数据结构
Python提供了4个内置数据结构(内置指可以直接使用,无需先导入),可以保存任何对象集合,分别是列表.元组.字典和集合. 一.列表有序的可变对象集合. 1.列表的创建例子 list1 = []lis ...
- SparkStreaming和storm的区别
这是2种不同的架构. 他们的区别是SparkStreaming的吞吐量非常高,秒级准实时处理,Storm是容错性非常高,毫秒级实时处理 解释:sparkStreaming是一次处理某个间隔的数据,比如 ...