MCPcopy Create free account
hub / github.com/EasyDarwin/EasyPusher

github.com/EasyDarwin/EasyPusher @v1.4.18.1127

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.4.18.1127 ↗ · + Follow
8,947 symbols 11,655 edges 862 files 920 documented · 10% updated 7y agov1.4.18.1127 · 2018-11-27★ 81926 open issues

Browse by type

Functions 4,123 Types & classes 4,824
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

EasyPusher RTSP推流SDK

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

工作流程

EasyPusher Work Flow

功能版本

  • EasyPusher-Android:实时采集安卓摄像头音视频(Android 5.0+支持采集手机桌面屏幕进行直播),进行H.264/AAC编码后,调用EasyPusher进行直播推送,项目地址:https://github.com/EasyDSS/EasyPusher_Android

  • EasyPusher-iOS:实时采集iOS摄像头音视频进行H.264/AAC编码,调用EasyPusher推送到RTSP流媒体服务器,项目地址:https://github.com/EasyDSS/EasyPusher_iOS

  • EasyPusher_File:推送本地文件到RTSP流媒体服务器进行文件直播;

  • EasyPusher_RTSP:通过EasyRTSPClient库,将RTSP/RTP数据获取到本地,再通过EasyPusher推送到RTSP流媒体服务器;

  • EasyPusher_Win:支持本地摄像头和声卡、RTSP流、屏幕捕获、MP4文件通过EasyPusher推送到RTSP流媒体服务器;

  • EasyPusher_SDK:通过调用摄像机厂家的Camera SDK回调的音视频数据,进行RTSP/RTP直播推送,示例中的SDK是我们EasyDarwin开源摄像机的配套库,您也可以用自己项目中用到的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到可执行文件同目录!

    支持平台芯片位置名称
    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

    更多平台版本SDK:邮件support@easydarwin.org,附上交叉编译工具链,我们为您编译对应版本!

    调用过程

    特殊说明

    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;
    

    版本下载

    EasyPusher_Android

    EasyPusher_iOS

    技术支持

    EasyPusher是一款非常稳定的RTSP推流直播组件,各平台版本需要经过授权才能商业使用,商业授权方案可以通过以上渠道进行更深入的技术与合作咨询;

    获取更多信息

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

    EasyDSS商用流媒体解决方案:www.EasyDSS.com

    EasyNVR无插件直播方案:www.EasyNVR.com

    Copyright © EasyDarwin Team 2012-2017

    EasyDarwin

Core symbols most depended-on inside this repo

Shape

Class 3,845
Method 2,352
Function 1,771
Enum 979

Languages

C++98%
C2%

Modules by API surface

EasyPusher_Win/EasyPusher/VideoSource/USBCamera/DirectShow/Include/strmif.h441 symbols
EasyPusher_Win/EasyPusher/DShowCapture/DirectShow/Include/strmif.h441 symbols
EasyPusher_Win/EasyPusher/EasyMP4Writer/gpac/nodes_mpeg4.h236 symbols
EasyPusher_Win/EasyPusher/EasyMP4Writer/gpac/nodes_x3d.h164 symbols
EasyPusher_Win/EasyPusher/DShowCapture/DirectShow/amfilter.cpp146 symbols
EasyPusher_Win/EasyPusher/EasySkinUI/FlashControl.h113 symbols
EasyPusher_Win/EasyPusher/EasyEncoder/librtmp/scr/rtmp.c99 symbols
EasyPusher_Win/EasyPusher/DShowCapture/DirectShow/winutil.cpp89 symbols
EasyPusher_Win/EasyPusher/DShowCapture/DirectShow/winctrl.cpp81 symbols
EasyPusher_Win/EasyPusher/VideoSource/USBCamera/DirectShow/Include/tune.h79 symbols
EasyPusher_Win/EasyPusher/DShowCapture/DirectShow/Include/tune.h79 symbols
EasyPusher_Win/EasyPusher/VideoSource/USBCamera/DirectShow/Include/dinput.h77 symbols

For agents

$ claude mcp add EasyPusher \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page