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篇)的更多相关文章

  1. 物联网架构成长之路(42)-直播流媒体入门(RTMP篇)

    1. 安装RTMP流媒体服务器 以前其实我是利用Nginx-RTMP-module搭建过RTMP流媒体服务器,并实现了鉴权功能.参考https://www.cnblogs.com/wunaozai/p ...

  2. 物联网架构成长之路(16)-SpringCloud从入门到吹水

    1.前言 Spring Cloud 现在比较流行,版本更新也是蛮快的,网上资料也是很多.很多参考网上资料就可以学到了.这里给个 http://blog.csdn.net/forezp/article/ ...

  3. 物联网架构成长之路(43)-k8s从入门到放弃

    0. 前言 这段时间要入门一下CI/CD了,以前简单的了解过Jenkins,现在要把以下的这个图的架构搭建起来.国外可能一两个命令就安装完成的事情,我折腾了2天多,真的差点放弃了. 1. 安装Virt ...

  4. 物联网架构成长之路(36)-Vue前端入门

    1. 前言 物联网平台,需要有一个类似大屏看板的功能. 找了一圈,发现阿里已经有对应的DataV产品,但是那个价格有点贵啊.所以找了这个[http://datav.jiaminghi.com/demo ...

  5. 物联网架构成长之路(40)-Bladex开发框架入门

    0. 前言 前一小节,讲了如何入门,这里就简单讲一下如何自定义查询和权限控制配置. 1. 配置多租户 如果要启用该表的多租户功能,需要在application.yml 这里配置. 2. 配置模糊匹配 ...

  6. 物联网架构成长之路(25)-Docker构建项目用到的镜像1

    0. 前言 现在项目处于初级阶段,按照规划,先构建几个以后可能会用到的Image,并上传到阿里云的Docker仓库.以后博客中用到的Image,大部分都会用到这几个基础的Image,构建一个简单的物联 ...

  7. 物联网架构成长之路(31)-EMQ基于HTTP权限验证

    看过之前的文章就知道,我之前是通过搞插件,或者通过里面的MongoDB来进行EMQ的鉴权登录和权限验证.但是前段时间发现,还是通过HTTP WebHook 方式来调用鉴权接口比较适合实际使用.还是实现 ...

  8. 物联网架构成长之路(24)-Docker练习之Compose容器编排

    0.前言 一开始学的之后,是想一步到位直接上Kubernetes(K8s)的,后面没想到,好像有点复杂,有些概念不是很懂.因此学习东西还是要循序渐进,慢慢来.先了解单机编排技术Docker Compo ...

  9. 物联网架构成长之路(35)-利用Netty解析物联网自定义协议

    一.前言 前面博客大部分介绍了基于EMQ中间件,通信协议使用的是MQTT,而传输的数据为纯文本数据,采用JSON格式.这种方式,大部分一看就知道是熟悉Web开发.软件开发的人喜欢用的方式.由于我也是做 ...

随机推荐

  1. Saiku使用iframe嵌入页面访问地址配置化(二十八)--DWR的基本使用

    Saiku使用iframe嵌入页面使用时ip与端口配置化(二十八)--DWR的基本使用 DWR(Direct Web Remoting)是一个用于改善web页面与Java类交互的远程服务器端Ajax开 ...

  2. 17-REST framework-Request与Response

    1.Django REST framework提供的视图的主要作用 1.控制序列化器的执行(检验,保存,转换数据) 2.控制数据库查询的执行 Request与Response 1.Request RE ...

  3. 对并发Map的测试

    /** * ConcurrentHashMap效率最高 */ public class MapTest { public static void main(String[] args) throws ...

  4. Android方法数超出限定的问题(multiDex,jumboMode)

    在Android项目开发中,项目代码量过大或通过引入很多jar导致代码量急剧增加,会出现错误: android.dex.DexIndexOverflowException: Cannot merge ...

  5. 部署asp.net core Kestrel 支持https 使用openssl自签ssl证书

    通过openssl生成证书 openssl req -newkey rsa:2048 -nodes -keyout my.key -x509 -days 365 -out my.cer openssl ...

  6. 删除链表的中间节点和a/b处的节点

    问题描述: 删除链表的中间节点和a/b处的节点 给定链表的头结点head,实现删除链表的中间节点的函数: 例如: 不删除任何节点: 1-->2,删除节点1: 1-->2-->3,删除 ...

  7. C#排序案例

    using System; namespace 排序案例 { class Program { static void Main(string[] args) { //定义随机数列 int a, b, ...

  8. Javase之集合体系(3)之Set及其子类知识

    集合体系之Set及其子类知识 Set(接口) public interface Set<E>extends Collection<E> ​ 特点:无序(存储顺序与取出顺序不一致 ...

  9. hitTest和pointInside如何响应用户点击事件

    hitTest和pointInside如何响应用户点击事件 处理机制 iOS事件处理,首先应该是找到能处理点击事件的视图,然后在找到的这个视图里处理这个点击事件. 处理原理如下: • 当用户点击屏幕时 ...

  10. Python使用APScheduler实现定时任务

    APScheduler是基于Quartz的一个Python定时任务框架.提供了基于日期.固定时间间隔以及crontab类型的任务,并且可以持久化任务.在线文档:https://apscheduler. ...