Live Streaming Windows  2.7.0
网易视频云Windwos端直播推流SDK
nlss_type.h
浏览该文件的文档.
1 #ifndef _NLSS_TYPE_NEW_H_
2 #define _NLSS_TYPE_NEW_H_
3 
4 #include "nlss_define.h"
5 
6 #ifdef __cplusplus
7 extern "C" {
8 #endif
9 
12 typedef NLSS_MASK_HANDLE_TYPE(_HNLSSERVICE) _HNLSSERVICE;
13 typedef NLSS_MASK_HANDLE_TYPE(_HNLSSCHILDSERVICE) _HNLSSCHILDSERVICE;
14 
18 typedef enum enum_NLSS_STATUS{
24 
38 
49 
53 typedef enum enum_NLSS_OUTFORMAT{
57 
61 typedef enum enum_NLSS_OUTCONTENT{
66 
76 
84 
95 
99 typedef enum enum_NLSS_VIDEOIN_FMT{
112 
123 
129 
132 
136 typedef enum enum_NLSS_RECORD_FMT {
140 
149 
153 typedef enum enum_NLSS_NET_LEVEL {
160 
165 {
167  char *paPath;
169 
174 {
175  void *hWnd;
176  char *paWndTitle;
178 
183 {
184  int iWidth;
185  int iHeight;
186  int iFps;
189 
194 {
195  char *paModeName;
196  int iMode;
198 
203 {
204  char *paDevicePath;
207 
212 {
213  int iRectLeft;
214  int iRectTop;
218 
223 {
224  void *hWnd;
226 
227 typedef struct struct_NLSS_PNG_PARAM
228 {
229  char *paPngPath;
231 
236 {
237  char *paDeviceId;
240 
245 {
246  int iInWidth;
247  int iInHeight;
250 
255  char *pucFilePath;
256  int uiStartx;
257  int uiStarty;
259 
264 {
265  int iOutWidth;
267  int iOutFps;
270  bool bHardEncode;
273 
278 {
281  union
282  {
283  ST_NLSS_CAMERA_PARAM stInCamera; //enInType为EN_NLSS_VIDEOIN_CAMERA时,摄像头参数
284  ST_NLSS_RECTSCREEN_PARAM stInRectScreen; //enInType为EN_NLSS_VIDEOIN_RECTSCREEN时,截屏区域参数
285  ST_NLSS_APPVIDEO_PARAM stInApp; //enInType为EN_NLSS_VIDEOIN_APP时,应用程序参数
286  ST_NLSS_CUSTOMVIDEO_PARAM stInCustomVideo; //enInType为EN_NLSS_VIDEOIN_RAWDATA时,自定义视频源参数
287  ST_NLSS_PNG_PARAM stInPng; //enInType为EN_NLSS_VIDEOIN_PNG时,图片参数
288  ST_NLSS_DECKLINK_PARAM stInDeckLink; //enInType为EN_NLSS_VIDEOIN_DECKLINK时,DeckLink设备参数
289  }u;
291 
296 {
299  bool bHardEncode;
301 
306 {
315 
320 {
321  ST_NLSS_AUDIOIN_PARAM stIn; //音频输入参数
322  ST_NLSS_AUDIOOUT_PARAM stOut; //音频输出参数
324 
328 typedef struct struct_NLSS_PARAM
329 {
332  char *paOutUrl;
336 } ST_NLSS_PARAM;
337 
342 {
343  int iWidth;
344  int iHeight;
346  int iDataSize;
347  unsigned char *puaData;
348  int *piRef;
350 
355 {
359  int iDataSize;
360  unsigned char *puaData;
362 
367 {
371 
376 {
377  char *pucContent; //发送数据:字符串,最大长度 50KB (估计全角字数在1600左右)(需要校验长度)
378  int uiSendInterval; //发送间隔:同一个数据的多次发送之间 间隔的视频帧数,0表示每帧都发,最大50
379  int uiSendTotalTimes; //发送总次数:目前暂定最大500
381 
382 typedef struct struct_NLSS_STATS{
383  unsigned int uiVSendFrameRate;
384  unsigned int uiVSendBitRate;
385  unsigned int uiVSendWidth;
386  unsigned int uiVSendHeight;
387  unsigned int uiVSetFrameRate;
388  unsigned int uiVSetBitRate;
389  unsigned int uiVSetWidth;
390  unsigned int uiVSetHeight;
391  unsigned int uiASendBitRate;
394 
395 typedef enum enum_NLSS_ERRCODE{
399 
402 
406 
414 typedef void(*PFN_NLSS_STATUS_NTY)(_HNLSSERVICE hNLSService, EN_NLSS_STATUS enStatus, EN_NLSS_ERRCODE enErrCode);
415 
422 typedef void(*PFN_NLSS_MERGED_VIDEO_SAMPLER_CB)(_HNLSSERVICE hNLSService, ST_NLSS_VIDEO_SAMPLER *pstSampler);
423 
431 typedef void(*PFN_NLSS_CHILD_VIDEO_SAMPLER_CB)(_HNLSSERVICE hNLSService, _HNLSSCHILDSERVICE hNLSSChild, ST_NLSS_VIDEO_SAMPLER *pstSampler);
432 
439 typedef void(*PFN_NLSS_MIXED_AUDIO_SAMPLER_CB)(_HNLSSERVICE hNLSService, ST_NLSS_AUDIO_SAMPLER *pstSampler);
440 
448 typedef void(*PFN_NLSS_CHILD_AUDIO_SAMPLER_CB)(_HNLSSERVICE hNLSService, _HNLSSCHILDSERVICE hNLSSChild, ST_NLSS_AUDIO_SAMPLER *pstSampler);
449 
450 
451 #ifdef __cplusplus
452 }
453 #endif
454 
455 #endif//_LS_MEDIALIVESTREAMING_H_
ST_NLSS_APPVIDEO_PARAM stInApp
Definition: nlss_type.h:285
视频裸数据模式
Definition: nlss_type.h:35
错误码:音频开始传输失败
Definition: nlss_type.h:398
EN_NLSS_VIDEOIN_FMT iFormat
视频截图图像的格式.
Definition: nlss_type.h:345
int iOutHeight
视频的输出高.要求是4的倍数
Definition: nlss_type.h:266
enum enum_NLSS_AUDIOOUT_CODEC EN_NLSS_AUDIOOUT_CODEC
enum_NLSS_AUDIOIN_FMT
Definition: nlss_type.h:116
enum_NLSS_AUDIOOUT_CODEC
Definition: nlss_type.h:80
无效格式
Definition: nlss_type.h:110
Definition: nlss_type.h:305
double
Definition: nlss_type.h:122
struct struct_NLSS_CUSTOMVIDEO_PARAM ST_NLSS_CUSTOMVIDEO_PARAM
struct struct_NLSS_INDEVICE_INF ST_NLSS_INDEVICE_INF
void(* PFN_NLSS_CHILD_AUDIO_SAMPLER_CB)(_HNLSSERVICE hNLSService, _HNLSSCHILDSERVICE hNLSSChild, ST_NLSS_AUDIO_SAMPLER *pstSampler)
获取单个子音频数据的回调
Definition: nlss_type.h:448
typedef NLSS_MASK_HANDLE_TYPE(_HNLSSERVICE) _HNLSSERVICE
EN_NLSS_VIDEOOUT_CODEC enOutCodec
视频编码器.可以选择X264,Openh264
Definition: nlss_type.h:269
void(* PFN_NLSS_MIXED_AUDIO_SAMPLER_CB)(_HNLSSERVICE hNLSService, ST_NLSS_AUDIO_SAMPLER *pstSampler)
获取最新一段混音后的音频数据的回调
Definition: nlss_type.h:439
Definition: nlss_type.h:222
int iBitsPerSample
音频单样本位数
Definition: nlss_type.h:358
int iSamplerate
音频数据的采集率
Definition: nlss_type.h:356
Definition: nlss_type.h:227
struct struct_NLSS_APPVIDEO_PARAM ST_NLSS_APPVIDEO_PARAM
int uiSendInterval
Definition: nlss_type.h:378
enum_NLSS_OUTFORMAT
Definition: nlss_type.h:53
void * hWnd
窗口句柄(HWND类型)
Definition: nlss_type.h:224
enum enum_NLSS_VIDEOIN_TYPE EN_NLSS_VIDEOIN_TYPE
Definition: nlss_type.h:254
signed 16 bits, planar
Definition: nlss_type.h:125
Definition: nlss_type.h:382
int iFps
采集的帧率
Definition: nlss_type.h:186
EN_NLSS_OUTCONTENT enOutContent
推流流内容:音视频,视频,音频.
Definition: nlss_type.h:330
struct struct_NLSS_VIDEO_SAMPLER ST_NLSS_VIDEO_SAMPLER
int iCaptureFps
采集fps
Definition: nlss_type.h:280
enum_NLSS_NET_LEVEL
Definition: nlss_type.h:153
double, planar
Definition: nlss_type.h:128
EN_NLSS_OUTFORMAT enOutFormat
推流流的格式:FLV,RTMP.
Definition: nlss_type.h:331
struct struct_NLSS_AUDIO_SAMPLER ST_NLSS_AUDIO_SAMPLER
struct struct_NLSS_PNG_PARAM ST_NLSS_PNG_PARAM
int iRectLeft
截屏区域左边与屏幕左边距离
Definition: nlss_type.h:213
YUY2格式
Definition: nlss_type.h:103
HEVC编码器(不支持)
Definition: nlss_type.h:74
未知或无效
Definition: nlss_type.h:154
unsigned 8 bits
Definition: nlss_type.h:118
Definition: nlss_type.h:193
EN_NLSS_AUDIOOUT_CODEC enOutcodec
音频编码器.
Definition: nlss_type.h:297
NV12格式
Definition: nlss_type.h:100
unsigned int uiVSendBitRate
视频发送码率信息
Definition: nlss_type.h:384
flv视频文件格式
Definition: nlss_type.h:137
enum_NLSS_OUTCONTENT
Definition: nlss_type.h:61
enum_NLSS_STATUS
Definition: nlss_type.h:18
void * hWnd
窗口句柄(HWND类型)
Definition: nlss_type.h:175
EN_NLSS_AUDIOIN_TYPE enInType
音频推流采集源
Definition: nlss_type.h:307
struct struct_NLSS_VIDEOIN_PARAM ST_NLSS_VIDEOIN_PARAM
unsigned int uiVSendFrameRate
视频发送帧率信息
Definition: nlss_type.h:383
不透传同步时间戳
Definition: nlss_type.h:145
网络状况等级:优
Definition: nlss_type.h:155
RGB格式
Definition: nlss_type.h:107
Definition: nlss_type.h:328
enum enum_NLSS_ERRCODE EN_NLSS_ERRCODE
不采集声音
Definition: nlss_type.h:43
x264编码器
Definition: nlss_type.h:72
enum_NLSS_SYNC_TS_TYPE
Definition: nlss_type.h:144
char * paAudioDevicePath
当音频源为麦克风设备时,需设置麦克风设备路径或Id;当音频源为DeckLink采集卡设备时,需设置DeckLink设备I...
Definition: nlss_type.h:308
Definition: nlss_type.h:277
unsigned 8 bits, planar
Definition: nlss_type.h:124
unsigned int uiVSetFrameRate
视频设置的帧率信息
Definition: nlss_type.h:387
应用程序窗口截取
Definition: nlss_type.h:33
Definition: nlss_type.h:173
EN_NLSS_NET_LEVEL enNetLevel
网络状况等级
Definition: nlss_type.h:392
int iInWidth
输入源的宽
Definition: nlss_type.h:246
Definition: nlss_type.h:295
openh264编码器
Definition: nlss_type.h:71
char * paDeviceId
DeckLink设备Id
Definition: nlss_type.h:237
发送音频流
Definition: nlss_type.h:62
错误码:url地址无效
Definition: nlss_type.h:404
int uiStarty
水印的起始Y坐标
Definition: nlss_type.h:257
enum enum_NLSS_SYNC_TS_TYPE EN_NLSS_SYNC_TS_TYPE
int iDataSize
视频截图图像的数据大小.
Definition: nlss_type.h:346
摄像头模式
Definition: nlss_type.h:30
struct struct_NLSS_VIDEOOUT_PARAM ST_NLSS_VIDEOOUT_PARAM
struct struct_NLSS_RECTSCREEN_PARAM ST_NLSS_RECTSCREEN_PARAM
int iOutFps
视频的帧率.
Definition: nlss_type.h:267
int iOutBitrate
音频编码码率. 参考值:64000
Definition: nlss_type.h:298
struct struct_NLSS_AUDIO_PARAM ST_NLSS_AUDIO_PARAM
EN_NLSS_VIDEOIN_FMT enFmt
当输入源为yuv数据时,视频格式
Definition: nlss_type.h:187
enum_NLSS_AUDIOIN_TYPE
Definition: nlss_type.h:42
错误码:正确
Definition: nlss_type.h:396
麦克风模式
Definition: nlss_type.h:44
char * pucRecordPath
录制文件保存路径,请传入UTF-8编码字符串以防中文乱码
Definition: nlss_type.h:368
enum enum_NLSS_STATUS EN_NLSS_STATUS
char * paOutUrl
直播地址对象
Definition: nlss_type.h:332
invalid format
Definition: nlss_type.h:117
Definition: nlss_type.h:164
GIPS音频编码(不支持)
Definition: nlss_type.h:82
enum_NLSS_ERRCODE
Definition: nlss_type.h:395
char * pucFilePath
水印的文件路径
Definition: nlss_type.h:255
enum enum_NLSS_VIDEOQUALITY_LVL EN_NLSS_VIDEOQUALITY_LVL
视频分辨率:无效值
Definition: nlss_type.h:93
Definition: nlss_type.h:263
struct struct_NLSS_STATS ST_NLSS_STATS
int uiSendTotalTimes
Definition: nlss_type.h:379
unsigned int uiVSetBitRate
视频设置的码率信息
Definition: nlss_type.h:388
enum enum_NLSS_AUDIOIN_FMT EN_NLSS_AUDIOIN_FMT
直播出错
Definition: nlss_type.h:21
enum_NLSS_VIDEOIN_TYPE
Definition: nlss_type.h:28
struct struct_NLSS_CUSTOM_DATA_PARAM ST_NLSS_CUSTOM_DATA_PARAM
Definition: nlss_type.h:211
Definition: nlss_type.h:319
char * paPath
设备路径(UTF-8编码)(对于DeckLink设备是设备Id)
Definition: nlss_type.h:167
ARGB格式
Definition: nlss_type.h:106
char * paDevicePath
摄像头设备路径
Definition: nlss_type.h:204
bool bHardEncode
是否使用视频硬件编码
Definition: nlss_type.h:270
enum enum_NLSS_AUDIOIN_TYPE EN_NLSS_AUDIOIN_TYPE
char * pucContent
Definition: nlss_type.h:377
PNG图片源,可以作为背景
Definition: nlss_type.h:34
int iHeight
视频截图图像的高度.
Definition: nlss_type.h:344
EN_NLSS_VIDEOIN_TYPE enInType
视频源类型
Definition: nlss_type.h:279
int uiStartx
水印的起始X坐标
Definition: nlss_type.h:256
DeckLink视频采集卡设备
Definition: nlss_type.h:36
char * paPngPath
png图片路径.
Definition: nlss_type.h:229
Definition: nlss_type.h:341
视频分辨率:高清.
Definition: nlss_type.h:91
windows系统声音
Definition: nlss_type.h:45
float
Definition: nlss_type.h:121
enum enum_NLSS_VIDEOOUT_CODEC EN_NLSS_VIDEOOUT_CODEC
char * paWndTitle
窗口标题(可能会随时变化)
Definition: nlss_type.h:176
unsigned char * puaData
音频数据的指针
Definition: nlss_type.h:360
ST_NLSS_AUDIOOUT_PARAM stOut
Definition: nlss_type.h:322
DeckLink设备的音频
Definition: nlss_type.h:47
int iNumOfChannels
音频数据的通道数
Definition: nlss_type.h:357
enum_NLSS_RECORD_FMT
Definition: nlss_type.h:136
struct stru_NLSS_VIDEO_WATER_PARAM ST_NLSS_VIDEO_WATER_PARAM
signed 16 bits
Definition: nlss_type.h:119
int iHeight
采集的高
Definition: nlss_type.h:185
音频流裸数据模式
Definition: nlss_type.h:46
unsigned int uiASendBitRate
音频发送码率信息
Definition: nlss_type.h:391
Definition: nlss_type.h:202
同步时间戳基于推流开始时间
Definition: nlss_type.h:146
bool bHardEncode
是否使用视频硬件编码
Definition: nlss_type.h:299
int iRectTop
截屏区域上边与屏幕上边距离
Definition: nlss_type.h:214
ST_NLSS_CUSTOMVIDEO_PARAM stInCustomVideo
Definition: nlss_type.h:286
I420格式
Definition: nlss_type.h:102
int iRectRight
截屏区域右边与屏幕左边距离
Definition: nlss_type.h:215
int iOutBitrate
码率.
Definition: nlss_type.h:268
int iWidth
视频截图图像的宽度.
Definition: nlss_type.h:343
视频分辨率:低清.
Definition: nlss_type.h:89
网络状况等级:差
Definition: nlss_type.h:158
enum_NLSS_VIDEOQUALITY_LVL
Definition: nlss_type.h:88
Number of sample formats. DO NOT USE if linking dynamically
Definition: nlss_type.h:130
ST_NLSS_AUDIOOUT_PARAM stAudioParam
推流音频输出相关参数.
Definition: nlss_type.h:334
int iDeviceMode
DeckLink设备打开模式
Definition: nlss_type.h:238
struct struct_NLSS_AUDIOOUT_PARAM ST_NLSS_AUDIOOUT_PARAM
AAC音频编码
Definition: nlss_type.h:81
任意区域截屏
Definition: nlss_type.h:32
发送音视频流
Definition: nlss_type.h:64
void(* PFN_NLSS_MERGED_VIDEO_SAMPLER_CB)(_HNLSSERVICE hNLSService, ST_NLSS_VIDEO_SAMPLER *pstSampler)
获取最新一帧合并子视频画面后的视频截图后的回调
Definition: nlss_type.h:422
全屏模式
Definition: nlss_type.h:31
ST_NLSS_CAMERA_PARAM stInCamera
Definition: nlss_type.h:283
发送视频流
Definition: nlss_type.h:63
signed 32 bits, planar
Definition: nlss_type.h:126
int iOutWidth
视频的输出宽.要求是4的倍数
Definition: nlss_type.h:265
enum_NLSS_VIDEOOUT_CODEC
Definition: nlss_type.h:70
enum enum_NLSS_OUTCONTENT EN_NLSS_OUTCONTENT
struct struct_NLSS_CAMERA_PARAM ST_NLSS_CAMERA_PARAM
同步时间戳基于开机时间
Definition: nlss_type.h:147
void(* PFN_NLSS_STATUS_NTY)(_HNLSSERVICE hNLSService, EN_NLSS_STATUS enStatus, EN_NLSS_ERRCODE enErrCode)
直播发生错误回调,当直播过程中发生错误,通知应用层,应用层可以做相应的处理
Definition: nlss_type.h:414
enum enum_NLSS_VIDEOIN_FMT EN_NLSS_VIDEOIN_FMT
直播停止
Definition: nlss_type.h:22
视频分辨率:标清.
Definition: nlss_type.h:90
错误码:音频初始化
Definition: nlss_type.h:397
mp4视频文件格式
Definition: nlss_type.h:138
unsigned int uiVSendHeight
视频高度信息
Definition: nlss_type.h:386
enum enum_NLSS_OUTFORMAT EN_NLSS_OUTFORMAT
bool bQosAutoChangeRatio
是否自动调整分辨率
Definition: nlss_type.h:271
int iRectBottom
截屏区域下边与屏幕上边距离
Definition: nlss_type.h:216
Definition: nlss_type.h:354
EN_NLSS_AUDIOIN_FMT enInFmt
音频输入格式,参考值:EN_NLSS_AUDIOIN_FMT_S16
Definition: nlss_type.h:313
struct struct_NLSS_PARAM ST_NLSS_PARAM
float, planar
Definition: nlss_type.h:127
struct struct_NLSS_AUDIOIN_PARAM ST_NLSS_AUDIOIN_PARAM
MJPG格式
Definition: nlss_type.h:109
ST_NLSS_DECKLINK_PARAM stInDeckLink
Definition: nlss_type.h:288
unsigned int uiVSetHeight
视频设置的高度信息
Definition: nlss_type.h:390
错误码:视频开始传输失败
Definition: nlss_type.h:401
int iInBitsPerSample
音频单样本位数
Definition: nlss_type.h:312
Definition: nlss_type.h:366
Definition: nlss_type.h:182
Definition: nlss_type.h:244
EN_NLSS_SYNC_TS_TYPE enSyncTsType
透传同步时间戳类型,默认不传。推流类型必须包含视频,同时需要网易云播放器支持
Definition: nlss_type.h:335
初始状态
Definition: nlss_type.h:19
网络状况等级:良
Definition: nlss_type.h:156
ST_NLSS_VIDEOOUT_PARAM stVideoParam
推流视频输出相关参数.
Definition: nlss_type.h:333
char * paModeName
模式名称
Definition: nlss_type.h:195
enum enum_NLSS_RECORD_FMT EN_NLSS_RECORD_FMT
union struct_NLSS_VIDEOIN_PARAM::@0 u
int iInHeight
输入源的高
Definition: nlss_type.h:247
signed 32 bits
Definition: nlss_type.h:120
int iMode
模式值
Definition: nlss_type.h:196
不采集视频
Definition: nlss_type.h:29
ST_NLSS_AUDIOIN_PARAM stIn
Definition: nlss_type.h:321
int iInFrameSize
音频采集的每帧大小. 参考值:2048
Definition: nlss_type.h:311
FLV流对象输出
Definition: nlss_type.h:54
struct struct_NLSS_DECKLINK_PARAM ST_NLSS_DECKLINK_PARAM
enum enum_NLSS_NET_LEVEL EN_NLSS_NET_LEVEL
ST_NLSS_RECTSCREEN_PARAM stInRectScreen
Definition: nlss_type.h:284
enum_NLSS_VIDEOIN_FMT
Definition: nlss_type.h:99
直播开始状态
Definition: nlss_type.h:20
ST_NLSS_PNG_PARAM stInPng
Definition: nlss_type.h:287
UYVY格式
Definition: nlss_type.h:104
NV21格式
Definition: nlss_type.h:101
Definition: nlss_type.h:235
BGRA格式
Definition: nlss_type.h:105
void(* PFN_NLSS_CHILD_VIDEO_SAMPLER_CB)(_HNLSSERVICE hNLSService, _HNLSSCHILDSERVICE hNLSSChild, ST_NLSS_VIDEO_SAMPLER *pstSampler)
获取单个子视频截图后的回调
Definition: nlss_type.h:431
VP9视频编码(不支持)
Definition: nlss_type.h:73
struct struct_NLSS_INDEVICE_MODE_INF ST_NLSS_INDEVICE_MODE_INF
unsigned int uiVSendWidth
视频宽度信息
Definition: nlss_type.h:385
RTMP流对象输出
Definition: nlss_type.h:55
char * paFriendlyName
设备友好名称(UTF-8编码)
Definition: nlss_type.h:166
struct struct_NLSS_CAMERA_CAPTURE_PARAM ST_NLSS_CAMERA_CAPTURE_PARAM
EN_NLSS_RECORD_FMT enRecordFmt
录制格式
Definition: nlss_type.h:369
EN_NLSS_VIDEOIN_FMT enVideoInFmt
当输入源为yuv数据时,视频格式
Definition: nlss_type.h:248
错误码:错误
Definition: nlss_type.h:403
EN_NLSS_VIDEOQUALITY_LVL enLvl
以enLvl清晰度开启摄像头
Definition: nlss_type.h:205
struct struct_NLSS_RECORD_PARAM ST_NLSS_RECORD_PARAM
unsigned int uiVSetWidth
视频设置的宽度信息
Definition: nlss_type.h:389
int iDataSize
音频数据的字节数
Definition: nlss_type.h:359
Definition: nlss_type.h:375
struct struct_NLSS_APPWND_INF ST_NLSS_APPWND_INF
RGB翻转格式
Definition: nlss_type.h:108
int iInSamplerate
音频的样本采集率. 参考值:44100
Definition: nlss_type.h:309
int iInNumOfChannels
音频采集的通道数:单声道,双声道. 参考值:1
Definition: nlss_type.h:310
int * piRef
无滤镜.
Definition: nlss_type.h:348
错误码:视频初始化
Definition: nlss_type.h:400
网络状况等级:中
Definition: nlss_type.h:157
int iWidth
采集的宽
Definition: nlss_type.h:184
unsigned char * puaData
视频截图图像的数据指针.
Definition: nlss_type.h:347
视频分辨率:超清.
Definition: nlss_type.h:92