All Projects → tsingsee → Easyrtspclient

tsingsee / Easyrtspclient

Streaming media sdk tool:An elegant, simple, high performance & high compatibility RTSP Client Utility,can use in RTSP Player,NVR,RTSP Relay,EasyRTSPClient can run in any platform ,such as x68/x64/Windows/Linux/Android/iOS/arm etc..,with flexible interface,EasyRTSPClient can fit almost all network IPCamera,very easy to use.简单、稳定、高效、易用的RTSPClient工具,支持Windows、Linux、ARM、Android、iOS等几乎所有平台,支持RTP Over TCP/UDP,支持断线重连,能够接入市面上99%以上的IPC,调用简单且成熟稳定!

Projects that are alternatives of or similar to Easyrtspclient

Learning Cmake
learning cmake
Stars: ✭ 2,524 (+1084.98%)
Mutual labels:  makefile
Migrating To Cloud Native Application Architectures
《迁移到云原生应用架构》中文版 https://jimmysong.io/migrating-to-cloud-native-application-architectures/
Stars: ✭ 203 (-4.69%)
Mutual labels:  makefile
Provision docker
Test Ansible roles and playbooks using Docker
Stars: ✭ 207 (-2.82%)
Mutual labels:  makefile
Cheat Sheets
Cheat sheets for various stuff
Stars: ✭ 201 (-5.63%)
Mutual labels:  makefile
Learn You A Haskell
“Learn You a Haskell for Great Good!” by Miran Lipovača
Stars: ✭ 202 (-5.16%)
Mutual labels:  makefile
Docker Makefile
Makefile for building docker repository releases
Stars: ✭ 204 (-4.23%)
Mutual labels:  makefile
Getting Started With Knative
Knative入门——构建基于 Kubernetes 的现代化Serverless应用 - https://www.servicemesher.com/getting-started-with-knative/
Stars: ✭ 197 (-7.51%)
Mutual labels:  makefile
Easyscreenlive
Streaming media sdk tool:EasyScreenLive是一款简单、高效、稳定的集采集,编码,组播,推流和流媒体RTSP服务于一身的同屏功能组件,具低延时,高效能,低丢包等特点。目前支持Windows,Android平台,通过EasyScreenLive我们就可以避免接触到稍显复杂的音视频源采集,编码和流媒体推送以及RTSP/RTP/RTCP/RTMP服务流程,只需要调用EasyScreenLive的几个API接口,就能轻松、稳定地把流媒体音视频数据RTMP推送给EasyDSS服务器以及发布RTSPServer服务,RTSP同屏服务支持组播和单播两种模式。
Stars: ✭ 209 (-1.88%)
Mutual labels:  easydarwin
Git osx installer
Installer for OS X
Stars: ✭ 202 (-5.16%)
Mutual labels:  makefile
Helmfiles
Comprehensive Distribution of Helmfiles for Kubernetes
Stars: ✭ 205 (-3.76%)
Mutual labels:  makefile
Mytermuxdoc
中文Termux文档
Stars: ✭ 201 (-5.63%)
Mutual labels:  makefile
Device brcm rpi2
Stars: ✭ 201 (-5.63%)
Mutual labels:  makefile
Openwrt Pcap dnsproxy
Pcap_DNSProxy for OpenWrt/LEDE
Stars: ✭ 204 (-4.23%)
Mutual labels:  makefile
Nodejs Rpm
node.js rpm spec
Stars: ✭ 199 (-6.57%)
Mutual labels:  makefile
Pcat open source
PointCloud Annotation Tools, support to label object bound box, ground, lane and kerb
Stars: ✭ 209 (-1.88%)
Mutual labels:  makefile
Playing Cards Assets
Playing Cards Image Assets (SVG+PNG)
Stars: ✭ 197 (-7.51%)
Mutual labels:  makefile
Alpinewsl
Alpine Linux based WSL distribution. Supports multi-install. Lightest WSL distribution.
Stars: ✭ 203 (-4.69%)
Mutual labels:  makefile
React Barcode
A <Barcode/> component for use with React.
Stars: ✭ 210 (-1.41%)
Mutual labels:  makefile
Browserpass Native
Browserpass native client app
Stars: ✭ 209 (-1.88%)
Mutual labels:  makefile
Docs
Documentation for setting up OpenAPS
Stars: ✭ 204 (-4.23%)
Mutual labels:  makefile

EasyRTSPClient v3.0

EasyRTSPClient是TSINGSEE青犀开放平台开发和提供的一套非常稳定、易用、支持重连的RTSPClient组件,帮助用户非常简单地处理整个RTSP OPTIONS/DESCRIBE/SETUP/PLAY的复杂流程,担心内存释放的问题了,EasyRTSPClient全平台支持(包括Windows/Linux 32&64,ARM各种平台,Android,iOS),是技术研发快速迭代的工具,也是安防运维人员进行现场问题排查的得力帮手!

EasyRTSPClient在适应新形式下的4G、5G网络环境,以及阿里、腾讯广泛推行的ipv6化网络环境上,EasyRTSPClient同时兼容支持了ipv4 & ipv6网络环境。

EasyRTSPClient已经成功应用在RTSP播放器EasyPlayer、行业视频接入网关EasyRTSPLive多款产品中,适用于各种安防直播、行业直播、专业设备互联网直播等多种应用场景;

项目依赖

EasyRTSPClient项目依赖1个TSINGSEE青犀开放平台的Git工程:

目录结构为:

/
/Include/
/EasyRTSPClient/

编译与运行

  • EasyRTSPClient:以RTSPClient的形式,从RTSP URL将音视频获取到本地;

    Windows编译方法,

      Visual Studio 2010 编译:./EasyRTSPClient-master/win/EasyRTSPClient.sln
    

    Linux编译方法,

      chmod +x ./Buildit
      ./Buildit
    

    Usage,

      --------------------------------------------------------------
      EasyRTSPClient.exe -d <rtsp-url>[ -m <transport-mode> -s <save-file>]
      Help Mode:   EasyRTSPClient.exe -h
      rtsp-url : source rtsp address
      transport-mode : tcp or udp, default is tcp
      save-file : yes or no, default is yes
      For example: EasyRTSPClient.exe -d rtsp://admin:[email protected]/11 -m tcp -s yes
      --------------------------------------------------------------
    
  • EasyPlayer-RTSP调用:EasyPlayer-RTSP是由TSINGSEE青犀开放平台团队开发和维护的一个RTSP播放器项目,目前支持Windows(支持多窗口、包含ActiveX,npAPI Web插件)、Android平台,iOS平台,EasyRTSPClient作为其RTSP/RTP部分组件,为EasyPlayer-RTSP提供稳定可靠、高兼容性的数据连接,EasyPlayer-RTSP项目地址:https://github.com/tsingsee/EasyPlayer-RTSP

  • EasyRTSPLive中间件:RTSP转RTMP中间件服务,拉流IPC摄像机或者NVR硬盘录像机RTSP流转成RTMP推送到阿里云CDN/腾讯云CDN/RTMP流媒体服务器,支持多路RTSP流同时拉取并以RTMP协议推送发布,EasyRTSPLive我们支持任何平台,包括但不限于Windows/Linux/Android/ARM,EasyRTSPLive项目地址:https://github.com/tsingsee/EasyRTSPLive

    支持平台 芯片 目录位置
    Windows x86 ./Lib/
    Windows x64 ./Lib/x64/
    Linux x86 ./Lib/
    Linux x64 ./Lib/x64/
    海思 arm-hisiv100-linux ./Lib/hisiv100/
    海思 arm-hisiv200-linux ./Lib/hisiv200/
    海思 arm-hisiv300-linux ./Lib/hisiv300/
    海思 arm-hisiv400-linux ./Lib/hisiv400/
    海思 arm-hisiv500-linux ./Lib/hisiv500/
    海思 arm-hisiv600-linux ./Lib/hisiv600/
    Android arm/arm64/x86/x86_64/mips/mips_64 arm/arm64/x86/x86_64/mips/mips_64
    iOS arm/arm64 https://github.com/EasyDSS/EasyPlayer-RTSP-iOS
    邮件获取更多平台版本

调用流程

RTSPSourceCallBack数据回调说明

EasyRTSPClient可以回调出多种类型的数据:

#define EASY_SDK_VIDEO_FRAME_FLAG			/* 视频帧数据 */
#define EASY_SDK_AUDIO_FRAME_FLAG			/* 音频帧数据 */
#define EASY_SDK_EVENT_FRAME_FLAG			/* 事件帧数据 */
#define EASY_SDK_RTP_FRAME_FLAG				/* RTP帧数据 */
#define EASY_SDK_SDP_FRAME_FLAG				/* SDP帧数据 */
#define EASY_SDK_MEDIA_INFO_FLAG			/* 媒体类型数据 */

EASY_SDK_VIDEO_FRAME_FLAG数据可支持多种视频格式:

#define EASY_SDK_VIDEO_CODEC_H265			/* H265  */
#define EASY_SDK_VIDEO_CODEC_H264			/* H264  */
#define	EASY_SDK_VIDEO_CODEC_MJPEG			/* MJPEG */
#define	EASY_SDK_VIDEO_CODEC_MPEG4			/* MPEG4 */

视频帧标识支持

#define EASY_SDK_VIDEO_FRAME_I				/* I帧 */
#define EASY_SDK_VIDEO_FRAME_P				/* P帧 */
#define EASY_SDK_VIDEO_FRAME_B				/* B帧 */
#define EASY_SDK_VIDEO_FRAME_J				/* JPEG */

当回调出RTSP_FRAME_INFO->codec为EASY_SDK_VIDEO_CODEC_H264数据,RTSP_FRAME_INFO->type为EASY_SDK_VIDEO_FRAME_I关键帧时,我们输出的数据结构为SPS+PPS+I的组合

	|---------sps---------|-------pps-------|---------------I Frame---------------|
	|                     |                 |                                     |
	0-----------------reserved1---------reserved2-------------------------------length

EASY_SDK_AUDIO_FRAME_FLAG数据可支持多种音频格式:

#define EASY_SDK_AUDIO_CODEC_AAC			/* AAC */
#define EASY_SDK_AUDIO_CODEC_G711A			/* G711 alaw*/
#define EASY_SDK_AUDIO_CODEC_G711U			/* G711 ulaw*/
#define EASY_SDK_AUDIO_CODEC_G726			/* G726 */

更多流媒体音视频资源

EasyDarwin开源流媒体服务器:www.EasyDarwin.org

EasyDSS高性能互联网直播服务:www.EasyDSS.com

EasyNVR安防视频可视化服务:www.EasyNVR.com

EasyNVS视频综合管理平台:www.EasyNVS.com

EasyNTS云组网:www.EasyNTS.com

EasyGBS国标GB/T28181服务器:www.EasyGBS.com

EasyRTS应急指挥平台:www.EasyRTS.com

TSINGSEE青犀开放平台:open.TSINGSEE.com

Copyright © TSINGSEE.com Team 2012-2020

青犀TSINGSEE

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].