Code Monkey home page Code Monkey logo

refine / easypusher Goto Github PK

View Code? Open in Web Editor NEW

This project forked from easydarwin/easypusher

0.0 2.0 0.0 99.21 MB

简单、高效、稳定的一款标准RTSP/RTP协议直播推送库,支持将H.264/G.711/G.726/AAC等音视频数据推送到RTSP流媒体服务器进行低延时直播或者视频通信,支持Windows、Linux、ARM、Android、iOS等平台,EasyPusher配套EasyDarwin流媒体服务器、EasyPlayer RTSP播放器适用于特殊行业的低延时应急指挥需求! Android迁移到了https://github.com/EasyDarwin/EasyPusher_Android , iOS迁移到了https://github.com/EasyDarwin/EasyPusher_iOS

Home Page: http://www.easydarwin.org/

Shell 0.10% C 39.26% C++ 60.35% Makefile 0.24% PHP 0.01% Objective-C 0.05% Batchfile 0.01%

easypusher's Introduction

EasyPusher

EasyPusher是EasyDarwin开源流媒体团队开发的一个推送流媒体音/视频流给开源流媒体服务器EasyDarwin的标准RTSP/RTP协议推送库,全平台支持(包括Windows/Linux(32 & 64),ARM各平台,Android、IOS),通过EasyPusher我们就可以避免接触到稍显复杂的RTSP/RTP/RTCP推送流程,只需要调用EasyPusher的几个API接口,就能轻松、稳定地把流媒体音视频数据推送给EasyDarwin服务器进行转发和分发,EasyPusher经过长时间的企业用户检验,稳定性非常高;

Android

EasyPusher_Android迁移到了:https://github.com/EasyDarwin/EasyPusher_Android

EasyPusher_iOS迁移到了:https://github.com/EasyDarwin/EasyPusher_iOS

调用示例

  • EasyPusher_Android:实时采集安卓摄像头音视频(Android 5.0+支持采集手机桌面屏幕进行直播),进行H264/AAC编码后,调用libEasyPusher进行直播推送;

  • EasyPusher_File:推送本地文件到EasyDarwin流媒体服务器;

  • EasyPusher_RTSP:通过EasyRTSPClient库,将RTSP/RTP数据获取到本地,再通过EasyPusher推送到EasyDarwin进行RTSP、HLS直播;

  • EasyPusher_Win:支持本地摄像头和声卡、RTSP流、屏幕捕获、MP4文件通过EasyPusher推送到EasyDarwin进行RTSP、HLS直播;

  • EasyPusher_SDK:通过调用摄像机厂家的Camera SDK回调的音视频数据,进行RTSP/RTP直播推送,示例中的SDK是我们EasyDarwin开源摄像机的配套库,EasyCamera SDK及配套源码可在 http://www.easydarwin.org 或者 https://github.com/EasyDarwin/EasyCamera 获取到,您也可以用自己项目中用到的SDK获取音视频数据进行推送。EasyPusher_SDK可以接入所有的IP Camera,其他IP Camera只需要使用其对于SDK进行调用即可。

    Windows编译方法,

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

    Linux编译方法,

      chmod +x ./Buildit
      ./Buildit
    

    调用提示:目前的调用示例程序,可以接收参数,具体参数的使用,请在调用时增加**-h**命令查阅,EasyPusher_File示例需要将本地文件copy到可执行文件同目录!

  • 我们同时提供Windows、Linux、ARM、Android、IOS版本的EasyPusher库:EasyPusher SDK商业使用需要经过授权才能永久使用,商业授权方案可以邮件发送至[email protected]或者通过电话Tel:13718530929 进行更深入的技术与合作咨询;

    支持平台芯片位置名称
    Windowsx86./Lib/
    Windowsx64./Lib/x64/
    Linuxx86./Lib/
    Linuxx64./Lib/x64/
    海思arm-hisiv100-linux./Lib/hisiv100/
    海思arm-hisiv200-linux./Lib/hisiv200/
    Androidarmeabiarmeabi libeasypusher.so
    Androidarmeabi-v7alibeasypusher.so
    Androidarm64-v8alibeasypusher.so
    邮件获取更多平台版本

Demo下载

EasyPusher_Android

EasyPusher_iOS

调用过程

特殊说明

EasyPusher目前支持的音视频格式:

/* 视频编码 */
#define EASY_SDK_VIDEO_CODEC_H264	0x01000001		/* H264  */
#define	EASY_SDK_VIDEO_CODEC_MJPEG	0x01000002		/* MJPEG */
#define	EASY_SDK_VIDEO_CODEC_MPEG4	0x01000004		/* MPEG4 */

/* 音频编码 */
#define EASY_SDK_AUDIO_CODEC_AAC	0x01000011		/* AAC */
#define EASY_SDK_AUDIO_CODEC_G711A	0x01000012		/* G711 alaw*/
#define EASY_SDK_AUDIO_CODEC_G711U	0x01000014		/* G711 ulaw*/

EasyPusher回调事件定义:

typedef enum __EASY_PUSH_STATE_T
{
    EASY_PUSH_STATE_CONNECTING   =   1,     /* 连接中 */
    EASY_PUSH_STATE_CONNECTED,              /* 连接成功 */
    EASY_PUSH_STATE_CONNECT_FAILED,         /* 连接失败 */
    EASY_PUSH_STATE_CONNECT_ABORT,          /* 连接异常中断 */
    EASY_PUSH_STATE_PUSHING,                /* 推流中 */
    EASY_PUSH_STATE_DISCONNECTED,           /* 断开连接 */
    EASY_PUSH_STATE_ERROR
}EASY_PUSH_STATE_T;

获取更多信息

邮件:[email protected]

WEB:www.EasyDarwin.org

QQ交流群:465901074

Copyright © EasyDarwin.org 2012-2017

EasyDarwin

easypusher's People

Contributors

babosa avatar kidloserme avatar jinlong0813 avatar swordtwelve avatar wellsen avatar qict2004 avatar arnowang avatar bryant1410 avatar arron1987 avatar

Watchers

James Cloos avatar wanglian avatar

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.