• 集采集、编码、组播 、推流和流媒体RTSP服务于一身的同屏功能组件libEasyScreenLive库的接口调用说明


    背景分析

    随着信息化时代的到来,同屏技术在教学、会议、大型活动中的应用越来越广泛。同屏结束简单说来,就是将手机、平板等一些移动设备上面的音视频资料通过无线或有线网络同步到显示设备上。换言之,就是将移动设备中的音视频资料景象到显示频幕上面。就像照镜子一样,移动设备上显示什么,显示屏上就会显示什么。

    EasyScreenLive是一款简单、高效、稳定的集采集,编码,组播,推流和流媒体RTSP服务于一身的同屏功能组件,具低延时,高效能,低丢包等特点。目前支持Windows,Android平台,通过EasyScreenLive我们就可以避免接触到稍显复杂的音视频源采集,编码和流媒体推送以及RTSP/RTP/RTCP/RTMP服务流程,只需要调用EasyScreenLive的几个API接口,就能轻松、稳定地把流媒体音视频数据RTMP推送给EasyDSS服务器以及发布RTSPServer服务,RTSP同屏服务支持组播和单播两种模式。

    libEasyScreenLive库接口调用说明

    API接口函数定义

    函数说明:激活EasyScreenLive
    LIB_EASYSLIVE_API EASYSLIVE_HANDLE EasyScreenLive_Create(char* EasyIPCamera_Key, char* EasyRTMP_Key, char* EasyRTSP_Key, char* EasyRTSPClient_Key, char* EasyRTMPClient_Key)

    函数说明:推送实例销毁
    LIB_EASYSLIVE_API void EasyScreenLive_Release(EASYSLIVE_HANDLE handler)

    函数说明:获取有效时间
    LIB_EASYSLIVE_API int EasyScreenLive_GetActiveDays(EASYSLIVE_HANDLE handler)

    函数说明:判断系统是否支持英伟达硬件编码
    LIB_EASYSLIVE_API bool EasyScreenLive_IsSupportNvEncoder(EASYSLIVE_HANDLE handler)

    函数说明:设置屏幕采集是否采集鼠标光标
    LIB_EASYSLIVE_API int EasyScreenLive_SetCaptureCursor(EASYSLIVE_HANDLE handler, bool bShow)

    函数说明:拉RTSP/RTMP流设置OSD,其他采集模式设置无效
    LIB_EASYSLIVE_API int EasyScreenLive_SetOSD(EASYSLIVE_HANDLE handler, bool bShow, EASY_OSD osd)

    函数说明:开始音视频数据捕捉
    参数说明:nEncoderType 编码类型: 0=默认编码器(效率最低,通用性强) 1=软编码(效率高,通用性不强)2=硬件编码(效率最高,通用性最低,需要英伟达独立显卡支持)
    LIB_EASYSLIVE_API int EasyScreenLive_StartCapture(EASYSLIVE_HANDLE handler, SOURCE_TYPE eSourceType, char* szURL,int nCamId, int nAudioId, EASYSLIVE_HANDLE hCapWnd, int nEncoderType,int nVideoWidth=640, int nVideoHeight=480, int nFps=25, int nBitRate=2048, char* szDataType = “YUY2”,int nSampleRate=44100, int nChannel=2, bool bTranscode = false, ENCODE_MODE encType = ENCODE_H264);

    函数说明:停止音视频采集
    LIB_EASYSLIVE_API void EasyScreenLive_StopCapture(EASYSLIVE_HANDLE handler)

    函数说明:音视频数据推送
    LIB_EASYSLIVE_API int EasyScreenLive_StartPush(EASYSLIVE_HANDLE handler, PUSH_TYPE pushType, char* ServerIp, int nPushPort, char* sPushName, int rtpOverTcp, int nPushBufSize = 1024, bool bServerRecord = false)

    函数说明:停止推送
    LIB_EASYSLIVE_API void EasyScreenLive_StopPush(EASYSLIVE_HANDLE handler, PUSH_TYPE pushType)

    函数说明:开启RTSP服务
    LIB_EASYSLIVE_API int EasyScreenLive_StartServer(EASYSLIVE_HANDLE handler, int listenport, char * username, char * password, EASYLIVE_CHANNEL_INFO_T * channelInfo, int channelNum)

    函数说明:停止服务
    LIB_EASYSLIVE_API int EasyScreenLive_StopServer(EASYSLIVE_HANDLE handler, int serverId)

    函数说明:枚举视频采集设备
    LIB_EASYSLIVE_API EASYLIVE_DEVICE_LIST_T* EasyScreenLive_GetAudioInputDevList(EASYSLIVE_HANDLE handler)

    函数说明:枚举音频采集设备
    LIB_EASYSLIVE_API EASYLIVE_DEVICE_LIST_T* EasyScreenLive_GetCameraList(EASYSLIVE_HANDLE handler)

  • 相关阅读:
    Android编译选项eng、user、userdebug的区别
    Linux 内核编码规范
    PLM之EVT、DVT、PVT、MP
    fastboot刷机的一般方法
    Android手机拨号测试项
    使用Genymotion安装APK出现错误INSTALL_FAILED_CPU_ABI_INCOMPATIBLE的解决办法
    三星手机列表拖动时出现诡异背景色的问题
    分享android ADT百度云盘下载地址
    关于互联网思维
    分享Nginx在Windows下的管理命令(bat文件)
  • 原文地址:https://www.cnblogs.com/TSINGSEE/p/11820333.html
Copyright © 2020-2023  润新知