Live Streaming Windows  2.7.0
网易视频云Windwos端直播推流SDK
函数
nlss_api.h 文件参考
#include "nlss_childvideo_api.h"

浏览源代码.

函数

EXPORTS_API NLSS_RET Nlss_GetAvailableAppWindNum (int *piAppWindNum)
 
EXPORTS_API NLSS_RET Nlss_GetAvailableAppWind (NLSS_OUT ST_NLSS_APPWND_INF *pLSAppWindInfos, int iMaxNum)
 
EXPORTS_API NLSS_RET Nlss_GetFreeDevicesNum (NLSS_OUT int *iVideoDeviceNum, NLSS_OUT int *iAudioDeviceNum)
 
EXPORTS_API NLSS_RET Nlss_GetFreeDeviceInf (NLSS_OUT ST_NLSS_INDEVICE_INF *pstVideoDevices, int iMaxVideoDevicesNum, NLSS_OUT ST_NLSS_INDEVICE_INF *pstAudioDevices, int iMaxAudioDevicesNum)
 
EXPORTS_API NLSS_RET Nlss_DeviceGetCamereCaptureInf (ST_NLSS_INDEVICE_INF *pstCamera, NLSS_OUT ST_NLSS_CAMERA_CAPTURE_PARAM *pstCaptureParams, NLSS_IN_OUT int *piNum)
 
EXPORTS_API NLSS_RET Nlss_GetDeckLinkDeviceList (NLSS_OUT ST_NLSS_INDEVICE_INF *pstDeckLinkDevices, NLSS_IN_OUT int *iMaxDeckLinkDeviceNum)
 
EXPORTS_API NLSS_RET Nlss_GetDeckLinkDeviceModeListById (const char *paDeviceId, NLSS_OUT ST_NLSS_INDEVICE_MODE_INF *pstDeckLinkDeviceModes, NLSS_IN_OUT int *iMaxDeckLinkDeviceModeNum)
 
EXPORTS_API void Nlss_GetSDKVersion (NLSS_OUT char **ppaVersion)
 
EXPORTS_API NLSS_RET Nlss_Create (const char *paWorkPath, const char *paCachePath, NLSS_OUT _HNLSSERVICE *phNLSService)
 
EXPORTS_API void Nlss_Destroy (_HNLSSERVICE hNLSService)
 
EXPORTS_API NLSS_RET Nlss_GetDefaultParam (_HNLSSERVICE hNLSService, NLSS_OUT ST_NLSS_PARAM *pstParam)
 
EXPORTS_API NLSS_RET Nlss_InitParam (_HNLSSERVICE hNLSService, ST_NLSS_PARAM *pstParam)
 
EXPORTS_API void Nlss_UninitParam (_HNLSSERVICE hNLSService)
 
EXPORTS_API void Nlss_SetVideoWaterMark (_HNLSSERVICE hNLSService, ST_NLSS_VIDEO_WATER_PARAM *pstWaterParam)
 
EXPORTS_API void Nlss_SetVideoSamplerCB (_HNLSSERVICE hNLSService, PFN_NLSS_MERGED_VIDEO_SAMPLER_CB pFunVideoSamplerCB)
 
EXPORTS_API void Nlss_SetStatusCB (_HNLSSERVICE hNLSService, PFN_NLSS_STATUS_NTY pFunStatusNty)
 
EXPORTS_API bool Nlss_UpdateVideoOutParam (_HNLSSERVICE hNLSService, ST_NLSS_VIDEOOUT_PARAM *pstVideoParam)
 
EXPORTS_API bool Nlss_UpdateAudioOutParam (_HNLSSERVICE hNLSService, ST_NLSS_AUDIOOUT_PARAM *pstAudioParam)
 
EXPORTS_API bool Nlss_UpdatePushUrl (_HNLSSERVICE hNLSService, char *pucPushUrl)
 
EXPORTS_API bool Nlss_UpdateSyncTimestampType (_HNLSSERVICE hNLSService, EN_NLSS_SYNC_TS_TYPE enSyncTsType)
 
EXPORTS_API NLSS_RET Nlss_Start (_HNLSSERVICE hNLSService)
 
EXPORTS_API void Nlss_Stop (_HNLSSERVICE hNLSService)
 
EXPORTS_API NLSS_RET Nlss_StartVideoPreview (_HNLSSERVICE hNLSService)
 
EXPORTS_API void Nlss_PauseVideoPreview (_HNLSSERVICE hNLSService)
 
EXPORTS_API void Nlss_ResumeVideoPreview (_HNLSSERVICE hNLSService)
 
EXPORTS_API void Nlss_StopVideoPreview (_HNLSSERVICE hNLSService)
 
EXPORTS_API NLSS_RET Nlss_StartLiveStream (_HNLSSERVICE hNLSService)
 
EXPORTS_API void Nlss_StopLiveStream (_HNLSSERVICE hNLSService)
 
EXPORTS_API void Nlss_PauseVideoLiveStream (_HNLSSERVICE hNLSService)
 
EXPORTS_API void Nlss_ResumeVideoLiveStream (_HNLSSERVICE hNLSService)
 
EXPORTS_API void Nlss_PauseAudioLiveStream (_HNLSSERVICE hNLSService)
 
EXPORTS_API void Nlss_ResumeAudioLiveStream (_HNLSSERVICE hNLSService)
 
EXPORTS_API NLSS_RET Nlss_StartRecord (_HNLSSERVICE hNLSService, ST_NLSS_RECORD_PARAM *pstRecordParam)
 
EXPORTS_API void Nlss_StopRecord (_HNLSSERVICE hNLSService)
 
EXPORTS_API unsigned long long Nlss_GetStreamPts (_HNLSSERVICE hNLSService)
 
EXPORTS_API unsigned long long Nlss_GetSyncTimestamp (_HNLSSERVICE hNLSService)
 
EXPORTS_API NLSS_RET Nlss_SendCustomData (_HNLSSERVICE hNLSService, ST_NLSS_CUSTOM_DATA_PARAM *pstParam)
 
EXPORTS_API NLSS_RET Nlss_GetStaticInfo (_HNLSSERVICE hNLSService, NLSS_OUT ST_NLSS_STATS *pstStats)
 

函数说明

◆ Nlss_Create()

EXPORTS_API NLSS_RET Nlss_Create ( const char *  paWorkPath,
const char *  paCachePath,
NLSS_OUT _HNLSSERVICE *  phNLSService 
)

创建直播推流实例,推流对象只允许存在一个,多次直播可以只调用一次

参数
paWorkPathNLSS work目录(要求UTF-8编码),会从work目录下面动态加载所需要的dll。 如果设置为空,则在当前所在目录下面 ,操作上述事情。
paCachePathNLSS cache目录,会在该目录下面生成日志,需要有文件创建和写入权限 如果设置为空,则在当前所在目录下面 ,操作上述事情。
phNLSService直播推流实例 ,出参
返回
NLSS_RET NLSS_OK成功,NLSS_ERR失败

◆ Nlss_Destroy()

EXPORTS_API void Nlss_Destroy ( _HNLSSERVICE  hNLSService)

销毁直播推流实例,可以程序退出再销毁

参数
hNLSService直播推流实例,入参

◆ Nlss_DeviceGetCamereCaptureInf()

EXPORTS_API NLSS_RET Nlss_DeviceGetCamereCaptureInf ( ST_NLSS_INDEVICE_INF pstCamera,
NLSS_OUT ST_NLSS_CAMERA_CAPTURE_PARAM pstCaptureParams,
NLSS_IN_OUT int *  piNum 
)

获取摄像头设备支持的采集参数

参数
pstCamera摄像头对象,入参
pstCaptureParams摄像头支持的采集参数数组,出参,请自己申请和释放内存。
piNum作为入参表示传入的pstCaptureParams数组capacity;作为出参表示实际取到的pstCaptureParams数组size。
返回
NLSS_RET NLSS_OK成功,NLSS_ERR失败

◆ Nlss_GetAvailableAppWind()

EXPORTS_API NLSS_RET Nlss_GetAvailableAppWind ( NLSS_OUT ST_NLSS_APPWND_INF pLSAppWindInfos,
int  iMaxNum 
)

获取可采集图像的app列表信息

参数
pLSAppWindInfos可采集图像的app信息 出参
iMaxNumpLSAppWindTitles最大容量 入参
返回
NLSS_RET NLSS_OK成功,NLSS_ERR失败

◆ Nlss_GetAvailableAppWindNum()

EXPORTS_API NLSS_RET Nlss_GetAvailableAppWindNum ( int *  piAppWindNum)

获取可采集应用图像的app个数

参数
piAppWindNum可采集图像的app数量 出参
返回
NLSS_RET NLSS_OK成功,NLSS_ERR失败

◆ Nlss_GetDeckLinkDeviceList()

EXPORTS_API NLSS_RET Nlss_GetDeckLinkDeviceList ( NLSS_OUT ST_NLSS_INDEVICE_INF pstDeckLinkDevices,
NLSS_IN_OUT int *  iMaxDeckLinkDeviceNum 
)

获取所有DeckLink设备信息

参数
pstDeckLinkDevicesDeckLink设备信息;当此参数为空时,iMaxDeckLinkDeviceNum返回可用的DeckLink设备个数 出参
iMaxDeckLinkDeviceNum作为入参是pstDeckLinkDevices的最大容量;作为出参是最终取到的设备信息个数
返回
NLSS_RET NLSS_OK成功,NLSS_ERR失败

◆ Nlss_GetDeckLinkDeviceModeListById()

EXPORTS_API NLSS_RET Nlss_GetDeckLinkDeviceModeListById ( const char *  paDeviceId,
NLSS_OUT ST_NLSS_INDEVICE_MODE_INF pstDeckLinkDeviceModes,
NLSS_IN_OUT int *  iMaxDeckLinkDeviceModeNum 
)

获取指定DeckLink设备的所有模式信息

参数
pstDeckLinkDeviceModesDeckLink设备的模式 出参
paDeviceId指定的DeckLink设备id 入参
iMaxDeckLinkDeviceModeNum作为入参是pstDeckLinkDeviceModes的最大容量;作为出参是最终取到的模式个数
返回
NLSS_RET NLSS_OK成功,NLSS_ERR失败

◆ Nlss_GetDefaultParam()

EXPORTS_API NLSS_RET Nlss_GetDefaultParam ( _HNLSSERVICE  hNLSService,
NLSS_OUT ST_NLSS_PARAM pstParam 
)

获取直播默认参数

参数
hNLSService直播推流实例,入参
pstParam直播参数,出参
返回
NLSS_RET NLSS_OK成功,NLSS_ERR失败

◆ Nlss_GetFreeDeviceInf()

EXPORTS_API NLSS_RET Nlss_GetFreeDeviceInf ( NLSS_OUT ST_NLSS_INDEVICE_INF pstVideoDevices,
int  iMaxVideoDevicesNum,
NLSS_OUT ST_NLSS_INDEVICE_INF pstAudioDevices,
int  iMaxAudioDevicesNum 
)

获取可用多媒体设备列表名称,暂时只支持DShow采集音视频

参数
pstVideoDevices视频设备信息 出参
iMaxVideoDevicesNumpstVideoDevices最大容量 入参
pstAudioDevices音频设备信息 出参
iMaxAudioDevicesNumpstAudioDevices最大容量 入参
返回
NLSS_RET NLSS_OK成功,NLSS_ERR失败

◆ Nlss_GetFreeDevicesNum()

EXPORTS_API NLSS_RET Nlss_GetFreeDevicesNum ( NLSS_OUT int *  iVideoDeviceNum,
NLSS_OUT int *  iAudioDeviceNum 
)

获取可用多媒体设备列表个数

参数
iVideoDeviceNum视频设备数量 出参
iAudioDeviceNum音频设备数量 出参
返回
NLSS_RET NLSS_OK成功,NLSS_ERR失败

◆ Nlss_GetSDKVersion()

EXPORTS_API void Nlss_GetSDKVersion ( NLSS_OUT char **  ppaVersion)

获取sdk版本号

参数
ppaVersion版本号,需要调用free进行释放,出参
返回

◆ Nlss_GetStaticInfo()

EXPORTS_API NLSS_RET Nlss_GetStaticInfo ( _HNLSSERVICE  hNLSService,
NLSS_OUT ST_NLSS_STATS pstStats 
)

获取直播推流状态信息

参数
hNLSService直播推流实例,入参
pstStats直播推流统计信息,出参
返回
NLSS_RET NLSS_OK成功,NLSS_ERR失败

◆ Nlss_GetStreamPts()

EXPORTS_API unsigned long long Nlss_GetStreamPts ( _HNLSSERVICE  hNLSService)

获取当前直播流的pts(实际上是音频流的dts),单位毫秒

参数
hNLSService直播推流实例,入参
返回
当前直播流的pts,单位毫秒

◆ Nlss_GetSyncTimestamp()

EXPORTS_API unsigned long long Nlss_GetSyncTimestamp ( _HNLSSERVICE  hNLSService)

获取当前透传的同步时间戳(通过视频流透传,ST_NLSS_PARAM::enSyncTsType不为NONE时,此接口有效),单位毫秒

参数
hNLSService直播推流实例,入参
返回
当前透传的同步时间戳,单位毫秒

◆ Nlss_InitParam()

EXPORTS_API NLSS_RET Nlss_InitParam ( _HNLSSERVICE  hNLSService,
ST_NLSS_PARAM pstParam 
)

初始化直播参数

参数
hNLSService直播推流实例,入参
pstParam直播参数
返回
NLSS_RET NLSS_OK成功,NLSS_ERR失败

◆ Nlss_PauseAudioLiveStream()

EXPORTS_API void Nlss_PauseAudioLiveStream ( _HNLSSERVICE  hNLSService)

暂停音频直播推流

参数
hNLSService直播推流实例,入参
返回

◆ Nlss_PauseVideoLiveStream()

EXPORTS_API void Nlss_PauseVideoLiveStream ( _HNLSSERVICE  hNLSService)

暂停视频直播推流

参数
hNLSService直播推流实例,入参
返回

◆ Nlss_PauseVideoPreview()

EXPORTS_API void Nlss_PauseVideoPreview ( _HNLSSERVICE  hNLSService)

暂停视频预览

参数
hNLSService直播推流实例,入参
返回

◆ Nlss_ResumeAudioLiveStream()

EXPORTS_API void Nlss_ResumeAudioLiveStream ( _HNLSSERVICE  hNLSService)

恢复音频直播推流

参数
hNLSService直播推流实例,入参
返回

◆ Nlss_ResumeVideoLiveStream()

EXPORTS_API void Nlss_ResumeVideoLiveStream ( _HNLSSERVICE  hNLSService)

恢复视频直播推流

参数
hNLSService直播推流实例,入参
返回

◆ Nlss_ResumeVideoPreview()

EXPORTS_API void Nlss_ResumeVideoPreview ( _HNLSSERVICE  hNLSService)

恢复视频预览

参数
hNLSService直播推流实例,入参
返回

◆ Nlss_SendCustomData()

EXPORTS_API NLSS_RET Nlss_SendCustomData ( _HNLSSERVICE  hNLSService,
ST_NLSS_CUSTOM_DATA_PARAM pstParam 
)

发送透传的自定义数据

参数
hNLSService直播推流实例,入参
pstParam要发送的自定义数据参数,入参
返回

◆ Nlss_SetStatusCB()

EXPORTS_API void Nlss_SetStatusCB ( _HNLSSERVICE  hNLSService,
PFN_NLSS_STATUS_NTY  pFunStatusNty 
)

设置直播过程中状态回调

参数
hNLSService直播推流实例
pFunStatusNty直播状态通知函数
返回

◆ Nlss_SetVideoSamplerCB()

EXPORTS_API void Nlss_SetVideoSamplerCB ( _HNLSSERVICE  hNLSService,
PFN_NLSS_MERGED_VIDEO_SAMPLER_CB  pFunVideoSamplerCB 
)

设置视频截图的的回调

参数
hNLSService直播推流实例,入参
pFunVideoSamplerCB视频截图图像回调
返回

◆ Nlss_SetVideoWaterMark()

EXPORTS_API void Nlss_SetVideoWaterMark ( _HNLSSERVICE  hNLSService,
ST_NLSS_VIDEO_WATER_PARAM pstWaterParam 
)

设置视频水印,默认是无水印

参数
hNLSService直播推流实例,入参
pstWaterParam水印参数结构体.
返回

◆ Nlss_Start()

EXPORTS_API NLSS_RET Nlss_Start ( _HNLSSERVICE  hNLSService)

启动处理,在各类初始化之后,在预览和直播启动之前

参数
hNLSService直播推流实例,入参
返回
NLSS_RET NLSS_OK成功,NLSS_ERR失败

◆ Nlss_StartLiveStream()

EXPORTS_API NLSS_RET Nlss_StartLiveStream ( _HNLSSERVICE  hNLSService)

启动直播推流

参数
hNLSService直播推流实例,入参
返回
NLSS_RET NLSS_OK成功,NLSS_ERR失败

◆ Nlss_StartRecord()

EXPORTS_API NLSS_RET Nlss_StartRecord ( _HNLSSERVICE  hNLSService,
ST_NLSS_RECORD_PARAM pstRecordParam 
)

开始直播录制

参数
hNLSService直播推流实例,入参
pstRecordParam录制参数(录制文件存放路径、录制格式等),入参
返回

◆ Nlss_StartVideoPreview()

EXPORTS_API NLSS_RET Nlss_StartVideoPreview ( _HNLSSERVICE  hNLSService)

打开视频预览

参数
hNLSService直播推流实例,入参
返回
NLSS_RET NLSS_OK成功,NLSS_ERR失败

◆ Nlss_Stop()

EXPORTS_API void Nlss_Stop ( _HNLSSERVICE  hNLSService)

停止处理,在预览和直播停止之后,在Nlss_UninitParam之前

参数
hNLSService直播推流实例,入参
返回

◆ Nlss_StopLiveStream()

EXPORTS_API void Nlss_StopLiveStream ( _HNLSSERVICE  hNLSService)

停止直播推流

参数
hNLSService直播推流实例,入参
返回

◆ Nlss_StopRecord()

EXPORTS_API void Nlss_StopRecord ( _HNLSSERVICE  hNLSService)

停止直播录制

参数
hNLSService直播推流实例,入参
返回

◆ Nlss_StopVideoPreview()

EXPORTS_API void Nlss_StopVideoPreview ( _HNLSSERVICE  hNLSService)

停止视频预览

参数
hNLSService直播推流实例,入参
返回

◆ Nlss_UninitParam()

EXPORTS_API void Nlss_UninitParam ( _HNLSSERVICE  hNLSService)

清除Nlss_InitParam设置的直播参数

参数
hNLSService直播推流实例,入参
返回

◆ Nlss_UpdateAudioOutParam()

EXPORTS_API bool Nlss_UpdateAudioOutParam ( _HNLSSERVICE  hNLSService,
ST_NLSS_AUDIOOUT_PARAM pstAudioParam 
)

修改音频输出参数,必须在未推流状态下执行

参数
hNLSService直播推流实例
pstAudioParam新的音频输出参数
返回
bool 修改成功返回true,失败返回false

◆ Nlss_UpdatePushUrl()

EXPORTS_API bool Nlss_UpdatePushUrl ( _HNLSSERVICE  hNLSService,
char *  pucPushUrl 
)

修改推流地址,必须在未推流状态下执行

参数
hNLSService直播推流实例
pucPushUrl新的推流地址
返回
bool 修改成功返回true,失败返回false

◆ Nlss_UpdateSyncTimestampType()

EXPORTS_API bool Nlss_UpdateSyncTimestampType ( _HNLSSERVICE  hNLSService,
EN_NLSS_SYNC_TS_TYPE  enSyncTsType 
)

修改透传同步时间戳类型(见EN_NLSS_SYNC_TS_TYPE)

参数
hNLSService直播推流实例
enSyncTsType新的透传同步时间戳类型
返回
bool 修改成功返回true,失败返回false

◆ Nlss_UpdateVideoOutParam()

EXPORTS_API bool Nlss_UpdateVideoOutParam ( _HNLSSERVICE  hNLSService,
ST_NLSS_VIDEOOUT_PARAM pstVideoParam 
)

修改视频输出参数,必须在未推流状态下执行

参数
hNLSService直播推流实例
pstVideoParam新的视频输出参数
返回
bool 修改成功返回true,失败返回false