README.md

    EasyPusher v2.0

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

    工作流程

    EasyPusher Work Flow

    功能版本

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

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

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

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

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

      Windows编译方法,

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

      Linux编译方法,

        chmod +x ./Buildit
        ./Buildit

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

      支持平台 芯片 位置名称
      Windows x86 ./Lib/x86/
      Windows x64 ./Lib/x64/
      Linux x86 ./Lib/x86/
      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 ./Lib/Android/arm/libeasypusher.a
      Android arm64 ./Lib/Android/arm64/libeasypusher.a
      Android x86 ./Lib/Android/x86/libeasypusher.a
      Android x86_64 ./Lib/Android/x86_64/libeasypusher.a
      Android mips ./Lib/Android/mips/libeasypusher.a
      Android mips64 ./Lib/Android/mips64/libeasypusher.a

    调用过程

    特殊说明

    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完全免费使用的,技术交流直接到QQ群:465901074,交流意见!

    获取更多信息

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

    Copyright © EasyDarwin Team 2012-2019

    EasyDarwin

    项目简介

    🚀 Github 镜像仓库 🚀

    源项目地址

    https://github.com/easydarwin/easypusher

    发行版本 11

    EasyPusher-win32-v1.4.18.1127

    全部发行版

    贡献者 14

    全部贡献者

    开发语言

    • C++ 57.7 %
    • C 42.0 %
    • Makefile 0.2 %
    • Shell 0.1 %
    • Objective-C 0.1 %