Skip to content

将RTSP或者NV-RTX上的摄像头流转为webrtc可直接观看的流,延迟低至200ms,Web无插件、Native等全平台低延时拉流

Notifications You must be signed in to change notification settings

anyRTC-UseCase/ArRtspTool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Aug 29, 2024
e90413d · Aug 29, 2024

History

32 Commits
May 14, 2021
Oct 21, 2021
Oct 22, 2021
Jan 18, 2022
Oct 21, 2021
Aug 29, 2024
Jan 18, 2022
Oct 21, 2021
Oct 21, 2021
Oct 21, 2021
May 14, 2021
Oct 21, 2021
Oct 21, 2021
Oct 21, 2021
Aug 29, 2024
Oct 21, 2021
Aug 29, 2024
Jan 18, 2022
Aug 29, 2024
Oct 21, 2021
Mar 7, 2023
Oct 21, 2021
Oct 21, 2021
Sep 10, 2020
Sep 10, 2020
Sep 10, 2020
Sep 10, 2020
Mar 7, 2023
Aug 29, 2024
Mar 7, 2023
Oct 21, 2021

Repository files navigation

一,概述

​ ArRtspTool是anyRTC开源的一款将rtsp流转为rtc的工具,这样rtsp的流可以不需要外网服务或IP地址,即可实现网页/H5无插件观看,小程序,APP等各种方式查看视频流。

​ 支持常见的Linux、Windows、树莓派、英伟达TX系列等等。

​ 支持Rtsp流,支持USB摄像头,支持窗口推流等等。

适用的场景:

​ 1,内网摄像头穿透到公网:使用网页,App或小程序进行观看,超低1s内延时

​ 2,远程驾驶:超低延时,远程操控,流程不卡顿

​ 3,无人机:超低延时,精准控制,AI识别反馈

​ 4,小区门禁:实时监看,双向对讲,远程操控

新增模式选择:

​ 1xN模式:源只有1个,可以转到1个或多个频道中去

​ NxN模式:源有多个,可以转到1个或多个频道中去

​ **???**为什么需要1xN模式,因为NxN模式是拉一路流转到一个频道;如果需要把1路流转到N个频道,NxN模式需要拉N路相同的流,这很明显是一种资源浪费。

二,编译

​ 下载代码到本地:git clone https://github.com/anyRTC-UseCase/ArRtspTool.git

​ 编译脚本对应的平台(已验证,其他平台或系统版本可联系我司进行确认):

Makefile.linux  - Centos7.0及以上或Unbuntu
Makefile.pi		- 树莓派4
Makefile.tx		- Nvidia TX2

​ 以树莓派为例(以下命令均以root运行,非root可能会报权限错误):

***# cd ArRtspTool
***# chmod +x make.sh
***# ./make.sh (common | r-pi | nv-tx)

​ 启动程序,运行之前记得先配置一下相关参数

***# chmod +x run.sh
***# ./run.sh start ArRtspTool rtsp.conf 

​ 停止程序

***# ./run.sh stop ArRtspTool

Windows平台运行

拷贝rtsp.conf到lib_win目录下
打开Cmd,cd 到xxx/lib_win目录下
执行:ArRtspTool.exe rtsp.conf

三,如何配置

1XN配置:源只有1个,可以转到1个或多个频道中去

chan_id=808080;909090这样配置,然后从下方寻找对应房间的配置

当type=nvcam;该配置为当视频源为USB摄像头或者窗口时配置,然后在配置dev_id

当type=rtsp;内部会读取你的rtsp的url,以及拉取rtsp所需要的协议use_tcp

1个RTSP源转到多个频道的配置
[rtc]
app_id=rtc的AppId,
chan_id=808080;909090
mode=1xN

[1xN]
type=rtsp
url=你的Rtsp流的Url
use_tcp=1
1个RTSP源转到1个频道的配置
[rtc]
app_id=rtc的AppId,
chan_id=808080
mode=1xN

[1xN]
type=rtsp
url=你的Rtsp流的Url
use_tcp=1
1个nvcam源转到1个频道的配置
[rtc]
app_id=rtc的AppId,
chan_id=808080
mode=1xN

[1xN]
type=nvcam
dev_id=设备ID(/dev/video0)
1个nvcam源转到多个频道的配置
[rtc]
app_id=rtc的AppId,
chan_id=808080;909090
mode=1xN

[1xN]
type=nvcam
dev_id=设备ID(/dev/video0)

NXN配置:源有多个,可以转到1个或多个频道中去

下面配置为909090频道转一路流,为808080频道转一路流。

如果想多个源转到一个频道,可以配置为url=rtsp1;rtsp2 ,中间用分号分割

[rtc]
app_id=rtc的AppId,
chan_id=808080;909090
mode=NxN

[NxN]
[909090]
type=nvcam
dev_id=设备ID(/dev/video0)

[808080]
type=rtsp
url=你的Rtsp流的Url1
use_tcp=1

​ AppId的获取可以登录anyRTC官网获取

注意: Rtsp地址和设备ID二者选其一,优先Rtsp地址,若推本地摄像头则无需配置Rtsp地址

四,如何观看

在线体验

前往体验demo

输入 AppID 和 Channel 后点击Join as audience 按钮进行观看。

观看端集成到自己的系统中

五,常见问题

详见常见问题

Buglist: Bug001 : TX2: no element "h264parse" 解决001: sudo apt-get install gstreamer1.0-plugins-bad

Bug002:ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data stream error. Additional debug info: gstbasesrc.c(2939): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: streaming stopped, reason not-negotiated (-4)

解决002:如何获取支持的分辨率,修改为支持的分辨率

sudo apt-get install v4l-utils

v4l2-ctl -d /dev/video0 --list-formats-ext

anyRTC创业扶持计划

  • 30万免费分钟数,助力初创企业快速发展。

anyRTC初创企业扶持计划,只要通过企业审核,联系客服加入anyRTC创业扶持计划,即可享受30万免费分钟数。获得分钟数可降低在实时音视频技术服务所产生的成本费用,零成本快速启动项目。

  • 专属技术指导支持

anyRTC为初创企业提供一对一专属客服,为客户提供专业、认真的服务,及时解答您的疑惑。并为客户提供专属技术指导,更快上手,轻松上线!

六,联系我们

联系电话:021-65650071

QQ咨询群:580477436

ArCall技术交流群:597181019

咨询邮箱:hi@dync.cc

技术问题:开发者论坛

获取更多帮助前往:www.anyrtc.io

About

将RTSP或者NV-RTX上的摄像头流转为webrtc可直接观看的流,延迟低至200ms,Web无插件、Native等全平台低延时拉流

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published