Giter Site home page Giter Site logo

tsingsee / easyipcamera Goto Github PK

View Code? Open in Web Editor NEW
529.0 70.0 264.0 60.82 MB

RTSP Server:free, elegant, simple, high performance RTSP Server for smart-devices/desktop-application,such as Android-Camera/Windows-Desktop-LiveStreaming/ARM-IPCamera,also can run in Windows/Linux/ARM Platform,with flexible interface,u can use lots of video & audio source,very easy to use. 精炼、高效、稳定的RTSP服务器组件,调用简单灵活,轻松嵌入部署到IPCamera(ARM型、Android型)中,也可用于PC桌面直播(屏幕直播、摄像头直播)服务,并发性能属于行业领先水平,广泛应用于各种摄像机/桌面型视频服务、Android/Windows屏幕分享服务(单播同屏服务),例如课堂教学屏幕监控、办公室屏幕监控、手机桌面分享等!

Home Page: http://open.tsingsee.com/

C 33.68% C++ 63.52% Objective-C 0.02% Java 2.29% Makefile 0.34% Shell 0.15%
easyipcamera easydarwin easyplayer android-screen-live windows-screen-live

easyipcamera's Introduction

EasyRTSPServer(原EasyIPCamera)

EasyRTSPServer(原EasyIPCamera)是由TSINGSEE青犀开放平台开发的一套非常稳定、易用、支持多种平台(包括Windows/Linux 32&64,Android,ARM hisiv100/hisiv200/hisiv300/hisiv400/hisiv500/hisiv600等平台)的RTSP Server组件,适用于IPCamera、NVR、编码器、安卓监控设备等软硬件产品,接口调用非常简单成熟,调用者无需关注RTSP Server中关于客户端监听接入、音视频多路复用、RTSP具体流程、RTP打包与发送等相关问题,支持多种音视频格式,再也不用像调用live555 RTSPServer那样处理整个RTSP OPTIONS/DESCRIBE/SETUP/PLAY/RTP/RTCP的复杂流程和担心内存释放的问题了!EasyIPCamera非常适合于安防领域、教育领域、互联网直播等领域;

BTW:EasyRTSPServer非常适合在海思系列芯片上运行,性能以及稳定性都非常优秀,并发方面,稳定保持在20路1080P并发:

  • TCP/UDP 方式分别连接20路下,1080P 4M 定码率,音频格式G711(64K)G726(16K 24K 32K 40K)AAC(64K 96K 128K)都没问题;

  • 支持Basic、Digest两种鉴权模式;

功能支持

  • 标准、稳定运行的RTSP/RTP服务;
  • 支持RTP over UDP/RTP over TCP;
  • 视频编码格式支持:H.264、H.265;
  • 音频编码格式支持:G.711A、G.711U、G.726、AAC;
  • 支持标准RTSP鉴权认证;
  • 灵活的SDK调用接口支持;
  • 丰富的SDK接口调用示例;

调用示例

  • EasyRTSPServer:在不同的调用平台上,我们实现了不同的调用示例;

    1. Android:采集Android摄像头(支持前/后摄像头切换)和麦克风声音作为数据源的安卓RTSPServer;
    2. EasyIPCamera_Win:Windows采集摄像头/屏幕桌面/麦克风的音视频作为数据源的RTSPServer;
    3. EasyIPCamera_RTSP:以其他IPC硬件(海康、大华、雄迈)提供的RTSP流作为EasyIPCamera的数据源,对外提供RTSPServer功能;
    4. EasyIPCameraSimulator:我们基于EasyIPCamera做的一个IPC的模拟器,一个EasyIPCameraSimulator可以模拟器很多IPC,详细介绍参考:http://blog.csdn.net/xiejiashu/article/details/64924006
    5. EasyScreenCapture:Windows屏幕采集与直播同屏服务,详细介绍参考:http://blog.csdn.net/xiejiashu/article/details/61211382
    6. ARM上我们提供基于海思v100/v200/v300/v400以及其他ARM芯片的摄像机芯片编码后的音视频做为数据源的RTSPServer,具体芯片调用demo示例代码请邮件至[email protected]申请;

    Windows编译方法,

      Visual Studio 2010 编译:./EasyIPCamera-master/EasyIPCamera.sln
    

    Linux编译方法,

      chmod +x ./Buildit
      ./Buildit
    
    支持平台芯片目录位置
    Windowsx86./Lib/
    Windowsx64./Lib/x64/
    Linuxx86./Lib/
    Linuxx64./Lib/x64/
    AndroidAndroid./Android/
    海思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/
    邮件获取更多平台版本

调用全流程

设计方法

EasyIPCamera参考live555 testProg中的testOnDemandRTSPServer示例程序,将一个live555 testOnDemandRTSPServer封装在一个类中,例如,我们称为Class EasyIPCamera,在EasyIPCamera_Create接口调用时,我们新建一个EasyIPCamera对象,再通过调用EasyIPCamera_Startup接口,将EasyIPCamera RTSPServer所需要的监听端口、认证信息、通道信息等参数输入到EasyIPCamera中后,EasyIPCamera就正式开始建立监听对外服务了,在服务的过程中,当有客户端的连接或断开,都会以回调事件的形式,通知给Controller调用者,调用者再具体来处理相关的回调任务,返回给EasyIPCamera,在EasyIPCamera服务的过程当中,如果回调要求需要Controller调用者提供音视频数据帧,Controller调用者可以通过EasyIPCamera_PushFrame接口,向EasyIPCamera输送具体的音视频帧数据,当调用者需要结束RTSPServer服务,只需要调用EasyIPCamera_Shutdown停止服务,再调用EasyIPCamera_Release释放EasyIPCamera就可以了,这样整个服务过程就完整了!

Android同屏直播效果

上方的手机运行EasyIPCamera的屏幕推送功能,下面的手机使用EasyPlayer Android版本进行播放的 同屏直播效果。网络良好的时候延迟只有200多毫秒。

点击观看视频

版本下载

Android-EasyIPCamera: https://fir.im/EasyIPCamera

EasyIPCamera

EasyIPCamera支持数据格式说明

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 */

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 © www.TSINGSEE.com Team 2012-2019

青犀TSINGSEE

easyipcamera's People

Contributors

babosa avatar jinlong0813 avatar swordtwelve avatar wellsen avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

easyipcamera's Issues

对摄像头型号有什么要求

使用HYUNDAI V89程序正常,而使用罗技C270报错:

Video[0]--连接链路失败--In StartDSCapture().

请问是否对摄像头型号有要求?

请问为什么开始推流后VLC收不到声音?

我在MediaSteam里把audioStream屏蔽的代码都开了,代码debug audioSteam
mEasyIPCamera.pushFrame(mChannelId, EasyIPCamera.FrameFlag.EASY_SDK_AUDIO_FRAME_FLAG, System.currentTimeMillis(), mBuffer.array(), 0, size);
这一行也不停在调用,但在vlc上听不到声音,查看编码器流里面也只有视频流没有声音流,请问这是哪里设置不对吗?

so崩溃

多个播放器同时播放,极高的概率崩溃。测试有一半的机会!
有什么解决办法吗。
这个库还是2年前的,没更新了吗

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.