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

目录
相关文章
|
17天前
|
Linux
linux启动卡一会在random: nonblocking pool is initialized之前
linux启动卡一会在random: nonblocking pool is initialized之前
184 1
|
11月前
|
Linux 网络安全
Linux 服务器的21/22端口被禁止,如何解决?
22端口作为远程登录服务器的知名端口,如果22端口暴露在互联网必然会引起攻击。
538 0
|
17天前
|
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(其他播放器可能不支持)。
62 2
FFmpeg开发笔记(十五)详解MediaMTX的推拉流
|
Web App开发 编解码 前端开发
VUE网页实时播放海康、大华摄像头RTSP视频流完全方案,300毫秒延迟,支持H.265、可多路同时播放
在遍地都是摄像头的今天,往往需要在各种信息化、数字化、可视化B/S系统中集成实时视频流播放等功能,海康、大华、华为等厂家摄像头或录像机等设备一般也都遵循监控行业标准,支持国际标准的主流传输协议RTSP输出,而Chrome、Firefox、Edge等新一代浏览器从2015年开始取消了NPAPI插件技术支持导致RTSP流无法直接原生播放了
2549 0
|
7月前
|
监控 安全 Go
使用Golang调用摄像头
近年来,摄像头成为了我们生活中不可或缺的设备之一。从智能手机到安全监控系统,无处不在的摄像头给我们带来了便利和安全。在开发摄像头相关的应用程序时,选择一种高效和易用的编程语言是非常重要的。本文将介绍如何使用Golang调用摄像头并进行图像处理。
|
网络协议 ice
STUN, TURN, ICE介绍
STUN STUN协议为终端提供一种方式能够获知自己经过NAT映射后的地址,从而替代位于应用层中的私网地址,达到NAT穿透的目的。STUN协议是典型的Client-Server协议,各种具体应用通过嵌入STUN客户端与STUN Server端通讯来完成交互。
11415 0
|
8月前
|
Java 数据库连接 网络安全
已解决 IDEA Maven 项目中 “Could not find artifact“ 问题的常见情况和解决方案
已解决 IDEA Maven 项目中 “Could not find artifact“ 问题的常见情况和解决方案
4723 0
|
17天前
|
Web App开发 编解码 前端开发
electron+vue网页直接播放RTSP视频流?
目前大部分摄像头都支持RTSP协议,但是在浏览器限制,最新版的浏览器都不能直接播放RTSP协议,Electron 桌面应用是基于 Chromium 内核的,所以也不能直接播放RTSP,但是我们又有这个需求怎么办呢?
235 1
|
12月前
|
XML 存储 JSON
【JavaScript】爆肝 2 万字!一次性搞懂 Ajax、Fetch 和 Axios 的区别~(上)
【JavaScript】爆肝 2 万字!一次性搞懂 Ajax、Fetch 和 Axios 的区别~(上)
【JavaScript】爆肝 2 万字!一次性搞懂 Ajax、Fetch 和 Axios 的区别~(上)
|
Web App开发 存储 移动开发
前端应该了解的RTMP知识
RTMP是Real Time Messaging Protocol的简称,是基于何时的传输层协议上(如tcp协议)的应用层级别的协议,其设计是为了组包多媒体传输流(如视频,音频以及交互内容)
138 0
前端应该了解的RTMP知识