Giter Site home page Giter Site logo

liujian1988 / car-eye-push-windows Goto Github PK

View Code? Open in Web Editor NEW

This project forked from car-eye-team/car-eye-push-windows

0.0 2.0 0.0 33.53 MB

car-eye-push 是car-eye团队开发的一个推流库,支持RTSP,RTMP推送,支持多通道推送数据,支持windows android,linux等多种系统,支持ARM,x86,x64和mips多种架构 API 接口简单,方便快速移植到自己的系统中

C++ 77.76% C 22.24%

car-eye-push-windows's Introduction

CarEyePusher推流库

car-eye-push 是car-eye团队开发的一个推流库,支持RTSP,RTMP推送,支持多通道推送数据,支持windows android,linux等多种系统,支持ARM,x86,x64和mips多种架构   API 接口简单,方便快速移植到自己的系统中。

demo 功能

  • 推送H264视频流
  • 推送MP4文件,精确定位文件位置
  • 叠加水印
  • 推送数据过程断开重连
  • Demo项目请选择Release X64平台进行编译。

接口说明:

下面接口说明中的XXXX对应为RTSP或RTMP

/*
* Comments: 使用有效的Key进行CarEye推流器的注册以便使用, 使用本系统前必须进行注册才能正常使用
* Param key: 有效的密钥
* Param packName: 针对Android系统的应用程序包名
* @Return int CAREYE_NOERROR: 成功, 返回结果参考CarEyeError
*/
#ifdef ANDROID
CE_API int CE_APICALL CarEyeXXXX_Register(char* key, char* packName);
#else
CE_API int CE_APICALL CarEyeXXXX_Register(char* key);
#endif

/*
* Comments: 注册推流状态事件
* Param event: 获取推流状态的回调函数
* @Return None
*/
CE_API void CE_APICALL CarEyeXXXX_RegisterStateChangedEvent(CarEyePusher_StateChanged event);

/*
* Comments: 启动RTSP/RTMP推流通道 推流地址以三个参数进行组合: rtsp://svrip:port/name
* Param svrip: 流媒体服务器IP地址或域名
* Param port: 流媒体服务器端口号
* Param name: 推流的sdp名
* Param mediaInfo: 要推流的媒体信息
* @Return int 大于等于0: 启动的推流通道号 小于0错误编号参考CarEyeError
*/
CE_API int CE_APICALL CarEyeXXXX_StartPusher(char* svrip, unsigned short port, char* name, CarEye_MediaInfo mediaInfo);

/*
* Comments: 关闭指定的RTSP/RTMP推流通道
* Param channel: 已启动的RTSP推流通道号
* @Return int 是否成功关闭, 状态码参考CarEyeError
*/
CE_API int CE_APICALL CarEyeXXXX_StopPusher(int channel);

/*
* Comments: 获取当前通道的推流器是否已经连接到服务器并做好推流准备
* Param channel: 通道号
* @Return int 0未做好准备, 非0做好准备
*/
CE_API int CE_APICALL CarEyeXXXX_PusherIsReady(int channel);

/*
* Comments: 启动RTSP/RTMP推流本地文件通道 推流地址以三个参数进行组合: rtsp://svrip:port/name
* Param svrip: 流媒体服务器IP地址或域名
* Param port: 流媒体服务器端口号
* Param name: 推流的sdp名
* Param fileName: 要推流的本地文件路径 目前暂时支持MP4文件
* Param startMs: 推流起始的毫秒数
* Param endMs: 推流结束的毫秒数 endMs必须大于startMs, 否则推流失败, 当两个参数都为0时推送全文件
* @Return int 大于等于0: 启动的推流通道号 小于0错误编号参考CarEyeError
*/
CE_API int CE_APICALL CarEyeXXXX_StartNativeFile(char* svrip, unsigned short port, char* name, char* fileName, int startMs, int endMs);

/*
* Comments: 关闭指定的本地文件RTSP/RTMP推流通道
* Param channel: 已启动的RTSP推流通道号
* @Return int 是否成功关闭, 状态码参考CarEyeError
*/
CE_API int CE_APICALL CarEyeXXXX_StopNativeFile(int channel);

/*
* Comments: 推送流媒体数据到指定通道中
* Param channel: 要推送的通道号
* Param frame: 要推送的帧数据
* @Return int 是否推送成功, 状态码参考CarEyeError
*/
CE_API int CE_APICALL CarEyeXXXX_PushData(int channel, CarEye_AV_Frame* frame);

Demo实现功能

  • 推送本地MP4文件指定时间段到服务器
  • 推送H264流媒体数据到服务器
  • 多通道同时推送MP4文件以及H264流媒体数据到服务器

推流后可以通过windows客户端,car-eye cms android或者IOS客户端进行观看 windows客户端下载地址:https://github.com/Car-eye-team/Car-eye-player-windows
Car-eye-CMS 相关信息可以参考:https://github.com/Car-eye-team/Car-eye-CMS    

联系我们

car-eye 开源官方网址:www.car-eye.cn

car-eye 流媒体平台网址:www.liveoss.com

car-eye 技术官方邮箱: [email protected]

car-eye技术交流QQ群: 590411159

 

CopyRight© car-eye 开源团队 2018

car-eye-push-windows's People

Contributors

mainh avatar car-eye-admin avatar

Watchers

James Cloos avatar  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.