RTSPtoWebRTC

简介: RTSPtoWebRTC

在做项目时,有时需要在页面中预览摄像机视频,之前是在页面中调用VLC插件,这就需要客户电脑上安装VLC插件,但是现在的一些国产化电脑上面不支持VLC插件的安装(ARM、MIPS架构平台),这就需要寻找一种无插件的播放方式,下面介绍的这个开源工具,就可以解决这个问题,特别适合局域网使用,无需流媒体服务器,很方便。源代码是go写的,很方便实现跨平台。


RTSPtoWebRTC


RTSP流到WebBrowser基于Pion的webtc不使用ffmpeg或gstreamer)。


Note: RTSPtoWeb 是一个改进的服务,它提供了相同的功能,一个改进的API,并且支持更多的协议。建议使用RTSPtoWeb而不是此服务。


如果你需要 RTSPtoWSMP4f 请使用 https://github.com/deepch/RTSPtoWSMP4f


源码下载


  1. 源码下载
$ git clone https://github.com/deepch/RTSPtoWebRTC  


  1. 进入源码目录
 $ cd RTSPtoWebRTC/


  1. 测试运行
$ GO111MODULE=on go run *.go


  1. 打开浏览器,查看视频
open web browser http://127.0.0.1:8083 work chrome, safari, firefox


配置


修改 config.json


format:

{
  "server": {
    "http_port": ":8083"
  },
  "streams": {
    "demo1": {
      "on_demand" : false
      "url": "rtsp://170.93.143.139/rtplive/470011e600ef003a004ee33696235daa"
    },
    "demo2": {
      "on_demand" : true
      "url": "rtsp://admin:admin123@10.128.18.224/mpeg4"
    },
    "demo3": {
      "on_demand" : false
      "url": "rtsp://170.93.143.139/rtplive/470011e600ef003a004ee33696235daa"
    }
  }
}


Livestreams


使用选项"on_demand": false,否则当多个客户端连接时,你会得到不稳定的流和性能问题。


Limitations


视频编解码器支持: H264


音频编解码器支持: pcm alaw and pcm mulaw


Team


Deepch - https://github.com/deepch streaming developer


Dmitry - https://github.com/vdalex25 web developer


Now test work on (chrome, safari, firefox) no MAC OS


Other Example


Examples of working with video on golang

目录
相关文章
|
6月前
|
网络协议 Linux iOS开发
推荐:实现RTSP/RTMP/HLS/HTTP协议的轻量级流媒体框架,支持大并发连接请求
推荐:实现RTSP/RTMP/HLS/HTTP协议的轻量级流媒体框架,支持大并发连接请求
268 1
|
6月前
|
应用服务中间件 nginx
Nginx安装nginx-rtmp-module模块
【2月更文挑战第4天】 nginx中的模块虽然就是类似插件的概念,但是它无法像VsCode那样轻松的安装扩展。 nginx要安装其它模块必须同时拿到nginx源代码和模块源代码,然后手动编译,将模块打到nginx中,最终生成一个名为nginx的可执行文件。
511 6
|
6月前
|
编译器
ofstream错误:error: variable ‘std::ofstream ofs’ has initializer but incomplete type
ofstream错误:error: variable ‘std::ofstream ofs’ has initializer but incomplete type
111 1
|
数据库 C++
.NET Core 使用 EF 出错的解决方法
.NET Core 使用 EF 出错的解决方法
468 0
.NET Core 使用 EF 出错的解决方法
|
6月前
|
NoSQL 编译器 API
关于thread使用的错误:pure virtual method called terminate called without an active exception
关于thread使用的错误:pure virtual method called terminate called without an active exception
117 1
|
弹性计算 NoSQL 网络协议
阿里云ECS使用docker部署redis并远程连接
本文主要介绍如何在阿里云ECS服务器上通过docker部署redis,并在springboot项目中添加redis依赖进行远程连接。
阿里云ECS使用docker部署redis并远程连接
|
3月前
|
Web App开发 编解码 前端开发
怎么把rtsp视频流转成webrtc接口
【8月更文挑战第8天】将RTSP视频流转换为WebRTC接口涉及多个步骤:首先使用工具如webrtc-streamer、ffmpeg等从RTSP源获取视频流;接着对流进行解码与编码至WebRTC兼容格式(如VP8、H.264);然后利用WebSocket建立客户端与服务器间的双向信令通道;再通过JavaScript创建WebRTC PeerConnection并交换SDP信息;最后添加Track传输视频数据,并在接收端解析显示。使用webrtc-streamer可简化这一过程,其API支持多种操作如添加ICE候选、创建Offer等。
532 2
|
6月前
|
Web App开发 Windows
FFmpeg开发笔记(十五)详解MediaMTX的推拉流
MediaMTX是开源轻量级流媒体服务器,提供RTSP, RTMP, HLS, WebRTC和SRT服务。启动后,它在不同端口监听。通过FFmpeg的推拉流测试,证明了MediaMTX成功实现HLS流媒体转发,但HLS播放兼容性问题可能因缺少音频流导致。推流地址为rtsp://127.0.0.1:8554/stream,RTMP地址为rtmp://127.0.0.1:1935/stream,HLS播放地址为http://127.0.0.1:8888/stream(Chrome)和http://127.0.0.1:8888/stream/index.m3u8(其他播放器可能不支持)。
744 2
FFmpeg开发笔记(十五)详解MediaMTX的推拉流
|
5月前
|
存储 监控 数据可视化
基于阿里云 OpenAPI 插件,让 Grafana 轻松实现云上数据可视化
本文旨在提供一个指导性的框架,帮助用户了解插件的安装、配置以及探索如何通过 Grafana 内的阿里云 OpenAPI 插件来对云上数据进行可视化和快速验证开发原型,加强数据可视化和云监控能力,助力开发速度。
33508 16