美摄SDK For Android  1.0.0
| Public 成员函数 | 静态 Public 成员函数 | 所有成员列表
com.meicam.sdk.NvsStreamingContext类 参考

流媒体上下文 更多...

interface  CaptureDeviceCallback
 采集设备回调接口 更多...
 
class  CaptureDeviceCapability
 采集设备能力描述 更多...
 
interface  CapturedVideoFrameGrabberCallback
 获取采集预览图像回调接口 更多...
 
interface  CaptureRecordingDurationCallback
 录制时长回调接口 更多...
 
interface  CaptureRecordingStartedCallback
 采集录制开始回调接口 更多...
 
interface  CompileCallback
 时间线生成文件回调接口 更多...
 
interface  CompileCallback2
 时间线生成文件回调接口2 更多...
 
interface  HardwareErrorCallback
 硬件错误回调接口 更多...
 
interface  PlaybackCallback
 时间线播放回调接口 更多...
 
interface  PlaybackCallback2
 时间线播放回调接口2 更多...
 
interface  PlaybackDelayCallback
 播放延迟回调接口 更多...
 
interface  PlaybackExceptionCallback
 时间线播放异常回调接口 更多...
 
class  SdkVersion
 美摄SDK的版本信息 更多...
 
interface  SeekingCallback
 时间线搜索回调接口 更多...
 
interface  StreamingEngineCallback
 流媒体引擎回调接口 更多...
 
interface  TimelineTimestampCallback
 时间线时间戳回调接口(注:非必要情况请勿使用此回调接口) 更多...
 
class  VerifyLicenseResult
 

Public 成员函数

boolean isSdkAuthorised ()
 检测sdk是否授权 更多...
 
float detectEngineRenderFramePerSecond ()
 从流媒体上下文中获取引擎当前的渲染速度,只在StartCapturePreview和PlaybackTimeline之后有效 更多...
 
SdkVersion getSdkVersion ()
 获取美摄SDK的版本信息 更多...
 
NvsAssetPackageManager getAssetPackageManager ()
 获取资源包管理器 更多...
 
void setCaptureDeviceCallback (CaptureDeviceCallback cb)
 设置采集设备回调接口 更多...
 
void setCapturedVideoFrameGrabberCallback (CapturedVideoFrameGrabberCallback cb)
 设置获取采集预览图像回调接口 更多...
 
void setCaptureRecordingStartedCallback (CaptureRecordingStartedCallback cb)
 
void setCaptureRecordingDurationCallback (CaptureRecordingDurationCallback cb)
 设置录制时长回调接口 更多...
 
void setPlaybackCallback (PlaybackCallback cb)
 设置时间线播放回调接口 更多...
 
void setCompileCallback (CompileCallback cb)
 设置时间线生成文件回调接口 更多...
 
void setStreamingEngineCallback (StreamingEngineCallback cb)
 设置流媒体引擎回调接口 更多...
 
void setTimelineTimestampCallback (TimelineTimestampCallback cb)
 设置时间线时间戳回调接口 更多...
 
void setCompileCallback2 (CompileCallback2 cb)
 设置时间线生成文件回调接口2 更多...
 
void setPlaybackCallback2 (PlaybackCallback2 cb)
 设置时间线播放回调接口 更多...
 
void setPlaybackDelayCallback (PlaybackDelayCallback cb)
 设置播放延迟回调接口 更多...
 
void setPlaybackExceptionCallback (PlaybackExceptionCallback cb)
 设置播放异常回调接口 更多...
 
void setSeekingCallback (SeekingCallback cb)
 设置时间线搜索回调接口 更多...
 
void setHardwareErrorCallback (HardwareErrorCallback cb)
 设置硬件错误回调接口 更多...
 
NvsAVFileInfo getAVFileInfo (String avFilePath)
 获取音视频文件的详细信息 更多...
 
NvsAVFileInfo getAVFileInfo (String avFilePath, int extraFlag)
 获取音视频文件的详细信息 更多...
 
int detectVideoFileKeyframeInterval (String videoFilePath)
 探测视频文件的I帧间距 更多...
 
boolean setDefaultThemeEndingLogoImageFilePath (String logoImageFilePath)
 设置默认主题末尾的Logo 更多...
 
String getDefaultThemeEndingLogoImageFilePath ()
 获取主题末尾默认的Logo图片路径 更多...
 
String registerFontByFilePath (String fontFilePath)
 获取字体文件的fontFamily 更多...
 
boolean setThemeEndingEnabled (boolean enable)
 设置主题结尾logo特效是否显示 更多...
 
NvsTimeline createTimeline (NvsVideoResolution videoEditRes, NvsRational videoFps, NvsAudioResolution audioEditRes)
 创建时间线 更多...
 
boolean removeTimeline (NvsTimeline timeline)
 移除时间线 更多...
 
int getStreamingEngineState ()
 获取流媒体引擎状态 更多...
 
long getTimelineCurrentPosition (NvsTimeline timeline)
 取得时间线当前的时间位置(单位为微秒) 更多...
 
boolean compileTimeline (NvsTimeline timeline, long startTime, long endTime, String outputFilePath, int videoResolutionGrade, int videoBitrateGrade, int flags)
 将时间线生成一个文件 更多...
 
void setCustomCompileVideoHeight (int videoHeight)
 设置自定义的生成视频高度。 更多...
 
int getCustomCompileVideoHeight ()
 获取当前自定义的生成视频高度。 更多...
 
boolean connectTimelineWithLiveWindow (NvsTimeline timeline, NvsLiveWindow liveWindow)
 连接时间线和实时预览图像窗口 更多...
 
boolean connectTimelineWithLiveWindowExt (NvsTimeline timeline, NvsLiveWindowExt liveWindow)
 连接时间线和实时预览图像窗口(基于TextureView) 更多...
 
boolean connectTimelineWithSurfaceTexture (NvsTimeline timeline, SurfaceTexture outputSurfaceTexture)
 连接时间线和一个SurfaceTexture对象,该时间线的渲染结果将会输出到这个SurfaceTexture对象上面 更多...
 
boolean connectTimelineWithSurfaceTexture (NvsTimeline timeline, SurfaceTexture outputSurfaceTexture, NvsRational proxyScale)
 连接时间线和一个SurfaceTexture对象并设置代理级别,该时间线的渲染结果将会输出到这个SurfaceTexture对象上面 更多...
 
boolean seekTimeline (NvsTimeline timeline, long timestamp, int videoSizeMode, int flags)
 Seeking the frame at a specific timestamp. 更多...
 
boolean seekTimeline (NvsTimeline timeline, long timestamp, NvsRational proxyScale, int flags)
 定位某一时间戳的图像 更多...
 
Bitmap grabImageFromTimeline (NvsTimeline timeline, long timestamp, NvsRational proxyScale)
 获取时间线某一时间戳的图像。详细情况参见视频帧图像提取专题 更多...
 
Bitmap grabImageFromTimeline (NvsTimeline timeline, long timestamp, NvsRational proxyScale, int flags)
 获取时间线某一时间戳的图像。详细情况参见视频帧图像提取专题 更多...
 
boolean playbackTimeline (NvsTimeline timeline, long startTime, long endTime, int videoSizeMode, boolean preload, int flags)
 播放时间线 更多...
 
boolean playbackTimeline (NvsTimeline timeline, long startTime, long endTime, NvsRational proxyScale, boolean preload, int flags)
 播放时间线 更多...
 
void stop ()
 停止引擎 更多...
 
void stop (int flags)
 停止引擎 更多...
 
void clearCachedResources (boolean asynchronous)
 清除缓存资源 更多...
 
int getCaptureDeviceCount ()
 获取采集设备的数量 更多...
 
boolean isCaptureDeviceBackFacing (int captureDeviceIndex)
 是否为后置采集设备 更多...
 
CaptureDeviceCapability getCaptureDeviceCapability (int captureDeviceIndex)
 获取采集设备的能力描述对象 更多...
 
boolean checkDontSetCameraParamOnRecordingWithSystemRecorder ()
 检查使用系统自带的录像机进行录制视频时是否不能调节摄像头的任何参数。 更多...
 
boolean connectCapturePreviewWithLiveWindow (NvsLiveWindow liveWindow)
 连接采集预览和实时预览窗口 更多...
 
boolean connectCapturePreviewWithLiveWindowExt (NvsLiveWindowExt liveWindow)
 连接采集预览和实时预览图像窗口(基于TextureView) 更多...
 
boolean connectCapturePreviewWithSurfaceTexture (SurfaceTexture outputSurfaceTexture)
 连接采集预览和一个SurfaceTexture对象,采集预览的渲染结果将会输出到这个SurfaceTexture对象上面 更多...
 
void setUserWatermarkForCapture (String watermarkFilePath, int displayWidth, int displayHeight, float opacity, int position, int marginX, int marginY)
 为视频采集添加用户水印 更多...
 
void removeUserWatermarkForCapture ()
 移除为视频采集添加的用户水印。 更多...
 
boolean startCapturePreview (int captureDeviceIndex, int videoResGrade, int flags, NvsRational aspectRatio)
 启动采集设备预览 更多...
 
boolean startBufferCapturePreview (int width, int heidht, NvsRational fps, int rotation, boolean flipHorizontally)
 启动输入buffer模式的采集设备预览 更多...
 
boolean startDualBufferCapturePreview (SurfaceTexture surfaceTexture, int surfaceTextureWidth, int surfaceTextureHeight, int surfaceTextureRotation, int cpuBufferWidth, int cpuBufferHeight, boolean cpuBufferFlipHorizontally, int cpuBufferRotation, NvsRational fps, int flags)
 启动双输入buffer模式的采集预览,其中一个输入源来源于SurfaceTexture,另一个来源于cpu buffer,两者在旋转到正方向之后的尺寸必须一致! 更多...
 
boolean sendBufferToCapturePreview (byte[] data, long streamTime)
 输入buffer给采集设备预览 更多...
 
boolean sendBufferToCapturePreview (byte[] data, long streamTime, int flags)
 输入buffer给采集预览 更多...
 
NvsSize getCapturePreviewVideoSize (int captureDeviceIndex)
 获取采集预览视频分辨率 更多...
 
NvsColor sampleColorFromCapturedVideoFrame (RectF sampleRect)
 对采集设备的视频帧内容进行采样 更多...
 
void startAutoFocus (RectF focusRect)
 启动自动聚焦 更多...
 
void cancelAutoFocus ()
 取消正在进行中的自动聚焦 更多...
 
void StartContinuousFocus ()
 启动连续聚焦 更多...
 
void setAutoExposureRect (RectF exposureRect)
 设置自动曝光检测区域 更多...
 
void setZoom (int zoom)
 设置缩放因子 更多...
 
int getZoom ()
 获取缩放因子 更多...
 
void toggleFlash (boolean flashOn)
 开/关换补光灯 更多...
 
boolean isFlashOn ()
 开/关换补光灯状态 更多...
 
int getVideoStabilization ()
 获取当前的视频防抖动标志 更多...
 
void setVideoStabilization (int flags)
 设置视频防抖动 更多...
 
void setExposureCompensation (int exposureCompensation)
 设置曝光补偿 更多...
 
int getExposureCompensation ()
 获取曝光补偿 更多...
 
NvsCaptureVideoFx appendBuiltinCaptureVideoFx (String videoFxName)
 追加一个内建视频特效 更多...
 
NvsCaptureVideoFx insertBuiltinCaptureVideoFx (String videoFxName, int insertPosition)
 插入一个内建视频特效 更多...
 
NvsCaptureVideoFx appendPackagedCaptureVideoFx (String videoFxPackageId)
 追加一个包裹视频特效 更多...
 
NvsCaptureVideoFx insertPackagedCaptureVideoFx (String videoFxPackageId, int insertPosition)
 插入一个包裹视频特效 更多...
 
NvsCaptureVideoFx appendCustomCaptureVideoFx (NvsCustomVideoFx.Renderer customVideoFxRender)
 追加自定义采集视频特效 更多...
 
NvsCaptureVideoFx insertCustomCaptureVideoFx (NvsCustomVideoFx.Renderer customVideoFxRender, int insertPosition)
 插入自定义采集视频特效 更多...
 
NvsCaptureVideoFx appendBeautyCaptureVideoFx ()
 追加一个美颜视频特效 更多...
 
NvsCaptureVideoFx insertBeautyCaptureVideoFx (int insertPosition)
 插入一个美颜视频特效 更多...
 
boolean removeCaptureVideoFx (int captureVideoFxIndex)
 对移除特定索引值的采集视频特效 更多...
 
void removeAllCaptureVideoFx ()
 移除所有采集视频特效 更多...
 
int getCaptureVideoFxCount ()
 获得采集视频特效的数量 更多...
 
NvsCaptureVideoFx getCaptureVideoFxByIndex (int captureVideoFxIndex)
 获得采集视频特效 更多...
 
boolean applyCaptureScene (String captureSceneId)
 对采集设备应用拍摄场景资源包 更多...
 
String getCurrentCaptureSceneId ()
 取得当前拍摄场景资源包的ID 更多...
 
void removeCurrentCaptureScene ()
 移除当前拍摄场景 更多...
 
NvsAREffectContext getAREffectContext ()
 获取人脸特技上下文 更多...
 
void setCompileConfigurations (Hashtable< String, Object > compileConfigurations)
 设置生成时间线配置,设置一次即一直生效 更多...
 
Hashtable< String, Object > getCompileConfigurations ()
 获取生成时间线配置 更多...
 
void setCompileVideoBitrateMultiplier (float compileVideoBitrateMultiplier)
 设置生成视频码率倍乘系数 更多...
 
float getCompileVideoBitrateMultiplier ()
 设置生成视频码率倍乘系数 更多...
 
void setRecordVideoBitrateMultiplier (float recordVideoBitrateMultiplier)
 设置录制视频码率倍乘系数 更多...
 
float getRecordVideoBitrateMultiplier ()
 获取录制视频码率倍乘系数 更多...
 
boolean startRecording (String outputFilePath)
 启动录制采集设备信号。请参见视频录制方式 更多...
 
boolean startRecording (String outputFilePath, int flags)
 启动录制采集设备信号。请参见视频录制方式 更多...
 
boolean startRecording (String outputFilePath, int flags, Hashtable< String, Object > recordConfigurations)
 启动录制采集设备信号。请参见视频录制方式 更多...
 
void stopRecording ()
 结束录制采集设备信号 更多...
 
boolean pauseRecording ()
 暂停录制采集信号。暂停录制之后再继续录制会录制到同一个媒体文件中。注意:只有不使用系统内置recorder时才能暂停录制! 更多...
 
boolean resumeRecording ()
 继续录制采集信号。继续录制会录制到暂停之前的同一个媒体文件中。 更多...
 
boolean isRecordingPaused ()
 检查录制是否已经暂停 更多...
 
List< String > getAllBuiltinVideoFxNames ()
 获取全部内嵌视频特效名称 更多...
 
List< String > getAllBuiltinAudioFxNames ()
 获取全部内嵌音频特效名称 更多...
 
List< String > getAllBuiltinVideoTransitionNames ()
 获取全部内嵌视频转场名称 更多...
 
List< String > getAllBuiltinCaptureVideoFxNames ()
 获取全部内嵌采集视频特效名称 更多...
 
String getBeautyVideoFxName ()
 获得美颜的视频特效名称 更多...
 
String getDefaultVideoTransitionName ()
 获得默认视频转场名称 更多...
 
NvsFxDescription getVideoFxDescription (String fxName)
 获取视频特效描述 更多...
 
NvsFxDescription getAudioFxDescription (String fxName)
 获取音频特效描述 更多...
 
NvsVideoFrameRetriever createVideoFrameRetriever (String videoFilePath)
 创建视频帧提取对象 更多...
 
void setDefaultCaptionFade (boolean fade)
 设置默认字幕是否为淡入淡出 更多...
 
boolean isDefaultCaptionFade ()
 设置默认字幕是否为淡入淡出 更多...
 

静态 Public 成员函数

static NvsStreamingContext init (Context ctx, String sdkLicenseFilePath, int flags)
 对流媒体上下文的单例实例进行初始化 更多...
 
static NvsStreamingContext init (Activity mainActivity, String sdkLicenseFilePath, int flags)
 对流媒体上下文的单例实例进行初始化。详细了解参见4k视频编辑专题 更多...
 
static NvsStreamingContext init (Activity mainActivity, String sdkLicenseFilePath)
 对流媒体上下文的单例实例进行初始化 更多...
 
static void close ()
 销毁流媒体上下文实例。注意: 销毁之后可以再次创建及获取 更多...
 
static NvsStreamingContext getInstance ()
 获取流媒体上下文的单例实例(必须进行初始化后才能使用) 更多...
 
static boolean initHumanDetection (Context ctx, String modelFilePath, String licenseFilePath, int features)
 初始化人体检测机制 更多...
 
static boolean setupHumanDetectionData (int dataType, String dataFilePath)
 初始化人体检测相关数据包 更多...
 
static void closeHumanDetection ()
 关闭人体检测机制 更多...
 
static int hasARModule ()
 检测当前SDK是否含有AR模块 更多...
 

静态 Public 属性

流媒体上下文标志

static final int STREAMING_CONTEXT_FLAG_SUPPORT_4K_EDIT = 1
 支持4K视频编辑 更多...
 
static final int STREAMING_CONTEXT_FLAG_COMPACT_MEMORY_MODE = 2
 最小化内存占用 更多...
 
static final int STREAMING_CONTEXT_FLAG_SUPPORT_8K_EDIT = 4
 支持8K编辑(仅图片) 更多...
 
static final int STREAMING_CONTEXT_FLAG_NO_HARDWARE_VIDEO_READER = 8
 禁用硬件解码 更多...
 
static final int STREAMING_CONTEXT_FLAG_ASYNC_ENGINE_STATE = 16
 引擎状态切换使用异步方式以便减少主线程的卡顿 更多...
 
static final int STREAMING_CONTEXT_VIDEO_DECODER_WITHOUT_SURFACE_TEXTURE = 32
 
流媒体引擎状态

static final int STREAMING_ENGINE_STATE_STOPPED = 0
 引擎停止 更多...
 
static final int STREAMING_ENGINE_STATE_CAPTUREPREVIEW = 1
 采集预览 更多...
 
static final int STREAMING_ENGINE_STATE_CAPTURERECORDING = 2
 拍摄录制 更多...
 
static final int STREAMING_ENGINE_STATE_PLAYBACK = 3
 播放 更多...
 
static final int STREAMING_ENGINE_STATE_SEEKING = 4
 定位 更多...
 
static final int STREAMING_ENGINE_STATE_COMPILE = 5
 生成文件 更多...
 
视频采集分辨率级别

static final int VIDEO_CAPTURE_RESOLUTION_GRADE_LOW = 0
 视频采集低分辨率 更多...
 
static final int VIDEO_CAPTURE_RESOLUTION_GRADE_MEDIUM = 1
 视频采集中等分辨率 更多...
 
static final int VIDEO_CAPTURE_RESOLUTION_GRADE_HIGH = 2
 视频采集高分辨率 更多...
 
static final int VIDEO_CAPTURE_RESOLUTION_GRADE_SUPER_HIGH = 3
 视频采集超高分辨率 更多...
 
生成视频的分辨率高度级别

static final int COMPILE_VIDEO_RESOLUTION_GRADE_360 = 0
 生成视频高度-360(宽度由视频高度以及创建时间线(createTimeline)时指定的视频宽高以及像素比算出) 更多...
 
static final int COMPILE_VIDEO_RESOLUTION_GRADE_480 = 1
 生成视频高度-480 更多...
 
static final int COMPILE_VIDEO_RESOLUTION_GRADE_720 = 2
 生成视频高度-720 更多...
 
static final int COMPILE_VIDEO_RESOLUTION_GRADE_1080 = 3
 生成视频高度-1080 更多...
 
static final int COMPILE_VIDEO_RESOLUTION_GRADE_2160 = 4
 生成视频高度-2160 更多...
 
static final int COMPILE_VIDEO_RESOLUTION_GRADE_CUSTOM = 256
 自定义生成视频高度 更多...
 
生成视频的码率级别

static final int COMPILE_BITRATE_GRADE_LOW = 0
 生成视频低码率 更多...
 
static final int COMPILE_BITRATE_GRADE_MEDIUM = 1
 生成视频中等码率 更多...
 
static final int COMPILE_BITRATE_GRADE_HIGH = 2
 生成视频高码率 更多...
 
录制视频配置

static final String RECORD_BITRATE = "bitrate"
 录制视频码率 更多...
 
static final String RECORD_GOP_SIZE = "gopsize"
 录制视频GOP SIZE 更多...
 
生成时间线的配置

static final String COMPILE_BITRATE = "bitrate"
 生成视频码率 更多...
 
static final String COMPILE_GOP_SIZE = "gopsize"
 生成视频GOP SIZE 更多...
 
static final String COMPILE_AUDIO_BITRATE = "audio bitrate"
 生成音频码率 更多...
 
static final String COMPILE_LOSSLESS_AUDIO = "lossless audio"
 是否生成无损音频 更多...
 
static final String COMPILE_OPTIMIZE_FOR_NETWORK_USE = "optimize-for-network-use"
 是否前置索引表 更多...
 
static final String COMPILE_SOFTWARE_ENCODER_PRESET = "software encorder preset"
 软编码参数预设值 更多...
 
static final String COMPILE_SOFTWARE_ENCODER_CRF = "software encorder crf"
 软编码crf预设值 更多...
 
static final String COMPILE_SOFTWARE_ENCODER_CRF_BITRATE_MAX = "software encorder crf bitrate max"
 软编码crf模式bitrate max预设值 更多...
 
static final String COMPILE_SOFTWARE_ENCODER_MODE = "software encorder mode"
 软编码模式 更多...
 
static final String COMPILE_VIDEO_ENCODER_NAME = "video encoder name"
 指定视频压缩格式,目前支持hevc(h.265) 更多...
 
static final String COMPILE_USE_OPERATING_RATE = "use operating rate"
 
采集设备错误标识

static final int CAPTURE_DEVICE_ERROR_UNKNOWN = 1
 采集设备错误未知 更多...
 
static final int CAPTURE_DEVICE_ERROR_SERVER_DIED = 2
 采集设备错误服务器崩溃 更多...
 
视频大小预览模式

static final int VIDEO_PREVIEW_SIZEMODE_FULLSIZE = 0
 视频全屏预览模式 更多...
 
static final int VIDEO_PREVIEW_SIZEMODE_LIVEWINDOW_SIZE = 1
 视频livewindow大小预览模式 更多...
 
采集标志

static final int STREAMING_ENGINE_CAPTURE_FLAG_GRAB_CAPTURED_VIDEO_FRAME = 1
 获取采集视频的帧内容(打开这个标志会降低性能,只有在必要的时候开启这个标志) 更多...
 
static final int STREAMING_ENGINE_CAPTURE_FLAG_DONT_USE_SYSTEM_RECORDER = 4
 不使用系统自带的recorder进行录制 更多...
 
static final int STREAMING_ENGINE_CAPTURE_FLAG_STRICT_PREVIEW_VIDEO_SIZE = 8
 限定预览视频尺寸只能是系统自带的预览视频尺寸 更多...
 
static final int STREAMING_ENGINE_CAPTURE_FLAG_DONT_CAPTURE_AUDIO = 16
 不采集音频 更多...
 
static final int STREAMING_ENGINE_CAPTURE_FLAG_CAPTURE_BUDDY_HOST_VIDEO_FRAME = 32
 采集伴侣视频帧 更多...
 
static final int STREAMING_ENGINE_CAPTURE_FLAG_FACE_ACTION_WITH_PARTICLE = 256
 使用脸部动作控制粒子特效 更多...
 
static final int STREAMING_ENGINE_CAPTURE_FLAG_LOW_PIPELINE_SIZE = 512
 
视频防抖模式

static final int VIDEO_STABILIZATION_MODE_OFF = 0
 视频防抖动模式关闭 更多...
 
static final int VIDEO_STABILIZATION_MODE_AUTO = 1
 视频防抖自动模式 更多...
 
static final int VIDEO_STABILIZATION_MODE_STANDARD = 2
 视频防抖标准模式 更多...
 
static final int VIDEO_STABILIZATION_MODE_SUPER = 3
 
录制标志

static final int STREAMING_ENGINE_RECORDING_FLAG_VIDEO_INTRA_FRAME_ONLY = 2
 录制仅包含I-Frame的视频文件。注意:必须与STREAMING_ENGINE_CAPTURE_FLAG_DONT_USE_SYSTEM_RECORDER配合使用才有效果 更多...
 
static final int STREAMING_ENGINE_RECORDING_FLAG_DISABLE_HARDWARE_ENCODER = 4
 不使用硬件编码进行录制 更多...
 
static final int STREAMING_ENGINE_RECORDING_FLAG_SOFTWARE_VIDEO_INTRA_FRAME_ONLY_FAST_STOP = 8
 进行软件编码纯I-Frame录制时快速停止录制,这可能导致视频帧被丢弃 更多...
 
static final int STREAMING_ENGINE_RECORDING_FLAG_ONLY_RECORD_VIDEO = 16
 仅录制视频流到文件中,所有的音频流都不录制 更多...
 
static final int STREAMING_ENGINE_RECORDING_FLAG_IGNORE_VIDEO_ROTATION = 32
 录制时不根据设备的手持方向对视频做旋转。注意:必须与STREAMING_ENGINE_CAPTURE_FLAG_DONT_USE_SYSTEM_RECORDER配合使用才有效果 更多...
 
static final int STREAMING_ENGINE_RECORDING_FLAG_DONT_USE_INPUT_SURFACE = 64
 
引擎定位标识

static final int STREAMING_ENGINE_SEEK_FLAG_SHOW_CAPTION_POSTER = 2
 整体展示字幕效果 更多...
 
static final int STREAMING_ENGINE_SEEK_FLAG_SHOW_ANIMATED_STICKER_POSTER = 4
 整体展示动画贴纸效果 更多...
 
引擎播放标志

static final int STREAMING_ENGINE_PLAYBACK_FLAG_LOW_PIPELINE_SIZE = 8
 降低引擎在播放时内部的流水线尺寸 更多...
 
static final int STREAMING_ENGINE_PLAYBACK_FLAG_DISABLE_FIXED_PREROLL_TIME = 16
 
引擎生成文件标志

static final int STREAMING_ENGINE_COMPILE_FLAG_DISABLE_HARDWARE_ENCODER = 1
 禁用硬件编码器 更多...
 
static final int STREAMING_ENGINE_COMPILE_FLAG_DONT_USE_INPUT_SURFACE = 2
 不使用inputsurface 更多...
 
static final int STREAMING_ENGINE_COMPILE_FLAG_ONLY_VIDEO = 4
 仅生成只有视频流的文件 更多...
 
static final int STREAMING_ENGINE_COMPILE_FLAG_ONLY_AUDIO = 8
 仅生成只有音频流的文件 更多...
 
引擎停止标志

static final int STREAMING_ENGINE_STOP_FLAG_FORCE_STOP_COMPILATION = 1
 强行终止生成,会导致已经生成的文件不完整 更多...
 
static final int STREAMING_ENGINE_STOP_FLAG_ASYNC = 2
 
引擎播放异常类型

static final int STREAMING_ENGINE_PLAYBACK_EXCEPTION_TYPE_MEDIA_FILE_ERROR = 0
 媒体文件错误 更多...
 
硬件错误类型

static final int STREAMING_ENGINE_HARDWARE_ERROR_TYPE_VIDEO_ENCODER_SETUP_ERROR = 0
 
static final int STREAMING_ENGINE_HARDWARE_ERROR_TYPE_VIDEO_ENCODING_ERROR = 1
 
static final int STREAMING_ENGINE_HARDWARE_ERROR_TYPE_VIDEO_DECODER_SETUP_ERROR = 2
 
static final int STREAMING_ENGINE_HARDWARE_ERROR_TYPE_VIDEO_DECODING_ERROR = 3
 
输入buffer的图像旋转角度

static final int BUFFER_IMAGE_ROTATION_0 = 0
 
static final int BUFFER_IMAGE_ROTATION_90 = 1
 
static final int BUFFER_IMAGE_ROTATION_180 = 2
 
static final int BUFFER_IMAGE_ROTATION_270 = 3
 
人体检测特征

static final int HUMAN_DETECTION_FEATURE_FACE_LANDMARK = 1
 人脸点位 更多...
 
static final int HUMAN_DETECTION_FEATURE_FACE_ACTION = 2
 
人体检测数据包类型

static final int HUMAN_DETECTION_DATA_TYPE_FAKE_FACE = 0
 
引擎发送buffer标志

static final int STREAMING_ENGINE_SEND_BUFFER_FLAG_ONLY_FOR_GRAB = 1
 Data only used for handeling video captured's frame content. 更多...
 
static final int STREAMING_ENGINE_SEND_BUFFER_FLAG_ONLY_FOR_BUDDY = 2
 
获取音视频信息时的特殊标识

static final int AV_FILEINFO_EXTRA_NULL = 0
 
static final int AV_FILEINFO_EXTRA_PIXELFORMAT = 1
 

详细描述

流媒体上下文

流媒体上下文类可视作整个SDK框架的入口。开发过程中,NvsStreamingContext提供了静态sharedInstance接口创建流媒体上下文的唯一实例。 通过这个实例对象,我们可以开启采集设备录制视频,添加采集视频特效,设置拍摄时的各项参数,包括自动聚焦,自动曝光调节, 开关换补光灯等。同时还能够创建时间线,并将时间线与实时预览窗口连接起来,实时预览播放已经拍摄完成的视频。整个视频制作完成后,要销毁流媒体上下文的对象实例。 带特效拍摄时,添加素材资源包(采集特效包,场景资源包等),都得先安装,安装成功后获取packageId才能使用,而内建采集特效(builtin)只需获取特效名称即可使用。
sdk接口中凡是需要传入资源、授权等文件路径时一定是全路径。

警告
NvsStreamingContext类中,所有public API除了getAVFileInfo(),detectVideoFileKeyframeInterval(),createVideoFrameRetriever()可以跨线程使用,其他都在UI线程使用!!!

成员函数说明

NvsCaptureVideoFx com.meicam.sdk.NvsStreamingContext.appendBeautyCaptureVideoFx ( )
inline

追加一个美颜视频特效

返回
返回追加的美颜视频特效对象
参见
insertBeautyCaptureVideoFx
NvsCaptureVideoFx com.meicam.sdk.NvsStreamingContext.appendBuiltinCaptureVideoFx ( String  videoFxName)
inline

追加一个内建视频特效

参数
videoFxName视频特效名。获取视频特效名称,请参见getAllBuiltinCaptureVideoFxNames()内建特效名称列表
返回
返回追加的内建视频特效对象
参见
insertBuiltinCaptureVideoFx
NvsCaptureVideoFx com.meicam.sdk.NvsStreamingContext.appendCustomCaptureVideoFx ( NvsCustomVideoFx.Renderer  customVideoFxRender)
inline

追加自定义采集视频特效

参数
customVideoFxRender用户实现的自定义视频特效渲染器接口
返回
返回追加的采集视频特效对象
警告
此接口会引发流媒体引擎状态跳转到引擎停止状态,具体情况请参见引擎变化专题
自从
1.7.0
NvsCaptureVideoFx com.meicam.sdk.NvsStreamingContext.appendPackagedCaptureVideoFx ( String  videoFxPackageId)
inline

追加一个包裹视频特效

参数
videoFxPackageId视频特效包裹ID
返回
返回追加的包裹视频特效对象
参见
insertPackagedCaptureVideoFx
boolean com.meicam.sdk.NvsStreamingContext.applyCaptureScene ( String  captureSceneId)
inline

对采集设备应用拍摄场景资源包

参数
captureSceneId拍摄场景资源包的ID
返回
返回BOOL值。值为YES则应用成功,NO则失败。
自从
1.2.0
参见
getCurrentCaptureSceneId
removeCurrentCaptureScene
void com.meicam.sdk.NvsStreamingContext.cancelAutoFocus ( )
inline

取消正在进行中的自动聚焦

参见
startAutoFocus
boolean com.meicam.sdk.NvsStreamingContext.checkDontSetCameraParamOnRecordingWithSystemRecorder ( )
inline

检查使用系统自带的录像机进行录制视频时是否不能调节摄像头的任何参数。

个别的Android手机在使用系统自带的录像机进行录制视频的同时如果对摄像头 的参数进行调节(比如调节曝光补偿,自动聚焦。。。)会导致录制下来的视频 出现问题或者根本无法停止录制。为了避免发生此类问题,美摄SDK内部维护了 一个Android手机黑名单,一旦某台手机在这个黑名单上,那么其录制过程中 调节摄像头的任何参数都不起作用。这个方法用于查询当前设备是否在黑名单上, 如果在的话,使用者可能需要在拍摄界面上进行一些调整,比如将曝光补偿按钮禁用。。。 注意:如果使用者不使用系统自带的录像机进行录制,则该黑名单并不起作用。

返回
返回布尔值。true表示当前设备在黑名单上,false表示当前设备不在黑名单上。
自从
1.4.1
void com.meicam.sdk.NvsStreamingContext.clearCachedResources ( boolean  asynchronous)
inline

清除缓存资源

参数
asynchronous设置是否为异步模式
static void com.meicam.sdk.NvsStreamingContext.close ( )
inlinestatic

销毁流媒体上下文实例。注意: 销毁之后可以再次创建及获取

参见
init
getInstance
static void com.meicam.sdk.NvsStreamingContext.closeHumanDetection ( )
inlinestatic

关闭人体检测机制

自从
2.5.0
boolean com.meicam.sdk.NvsStreamingContext.compileTimeline ( NvsTimeline  timeline,
long  startTime,
long  endTime,
String  outputFilePath,
int  videoResolutionGrade,
int  videoBitrateGrade,
int  flags 
)
inline

将时间线生成一个文件

参数
timeline时间线对象
startTime开始时间(单位微秒)。startTime取值范围在[0,timeline.duration - 1],传入其他值无效。
endTime结束时间(单位微秒)。endTime取值范围在(startTime,timeline.duration],同样传入其他值无效。
outputFilePath生成输出的文件路径。
videoResolutionGrade生成文件输出的视频分辨率级别。请参见生成视频的分辨率高度级别
videoBitrateGrade生成文件输出的视频码率。请参见生成视频的码率级别。视频输出码率级别分为低码率,中等码率,高等码率。视频生成具体码率值跟生成视频的分辨率有关,这里以1280 * 720p为例,计算出不同码率级别对应的近似值, COMPILE_BITRATE_GRADE_LOW级别值为2.2Mbps,COMPILE_BITRATE_GRADE_MEDIUM级别值为3.3Mbps,COMPILE_BITRATE_GRADE_HIGH级别值为6.7Mbps。
flags生成文件输出的特殊标志,如果没有特殊需求,请填写0。请参见生成文件标志
返回
返回布尔值。注意:时间线生成文件是异步操作。返回true,则启动打包成功;false,则打包启动失败
警告
此接口会引发流媒体引擎状态跳转到引擎停止状态,具体情况请参见引擎变化专题
参见
seekTimeline
playbackTimeline
boolean com.meicam.sdk.NvsStreamingContext.connectCapturePreviewWithLiveWindow ( NvsLiveWindow  liveWindow)
inline

连接采集预览和实时预览窗口

参数
liveWindow实时预览窗口
返回
返回boolean值。返回YES则连接成功,NO则连接失败。
参见
connectTimelineWithLiveWindow
boolean com.meicam.sdk.NvsStreamingContext.connectCapturePreviewWithLiveWindowExt ( NvsLiveWindowExt  liveWindow)
inline

连接采集预览和实时预览图像窗口(基于TextureView)

参数
liveWindow实时预览图像窗口对象
返回
返回布尔值。值为true则连接成功,false则失败。
参见
connectTimelineWithLiveWindowExt
自从
1.15.0
boolean com.meicam.sdk.NvsStreamingContext.connectCapturePreviewWithSurfaceTexture ( SurfaceTexture  outputSurfaceTexture)
inline

连接采集预览和一个SurfaceTexture对象,采集预览的渲染结果将会输出到这个SurfaceTexture对象上面

参数
outputSurfaceTexture渲染结果输出的SurfaceTexture对象
返回
返回布尔值。值为true则连接成功,false则失败。
自从
1.7.1
boolean com.meicam.sdk.NvsStreamingContext.connectTimelineWithLiveWindow ( NvsTimeline  timeline,
NvsLiveWindow  liveWindow 
)
inline

连接时间线和实时预览图像窗口

参数
timeline时间线对象
liveWindow实时预览图像窗口对象
返回
返回布尔值。值为true则连接成功,false则失败。
boolean com.meicam.sdk.NvsStreamingContext.connectTimelineWithLiveWindowExt ( NvsTimeline  timeline,
NvsLiveWindowExt  liveWindow 
)
inline

连接时间线和实时预览图像窗口(基于TextureView)

参数
timeline时间线对象
liveWindow实时预览图像窗口对象
返回
返回布尔值。值为true则连接成功,false则失败。
自从
1.15.0
boolean com.meicam.sdk.NvsStreamingContext.connectTimelineWithSurfaceTexture ( NvsTimeline  timeline,
SurfaceTexture  outputSurfaceTexture 
)
inline

连接时间线和一个SurfaceTexture对象,该时间线的渲染结果将会输出到这个SurfaceTexture对象上面

参数
timeline时间线对象
outputSurfaceTexture渲染结果输出的SurfaceTexture对象
返回
返回布尔值。值为true则连接成功,false则失败。
自从
1.5.0
boolean com.meicam.sdk.NvsStreamingContext.connectTimelineWithSurfaceTexture ( NvsTimeline  timeline,
SurfaceTexture  outputSurfaceTexture,
NvsRational  proxyScale 
)
inline

连接时间线和一个SurfaceTexture对象并设置代理级别,该时间线的渲染结果将会输出到这个SurfaceTexture对象上面

参数
timeline时间线对象
outputSurfaceTexture渲染结果输出的SurfaceTexture对象
proxyScale代理级别
返回
返回布尔值。值为true则连接成功,false则失败。
自从
1.6.0
NvsTimeline com.meicam.sdk.NvsStreamingContext.createTimeline ( NvsVideoResolution  videoEditRes,
NvsRational  videoFps,
NvsAudioResolution  audioEditRes 
)
inline

创建时间线

参数
videoEditRes视频解析度(指定图像宽高及像素比)。对于视频编辑解析度,在传入对应参数值时,目前要求传入的图像宽度值是4的倍数,高度值是2的倍数。注:如果创建NvsStreamingContext单例对象,支持4k视频编辑,则视频编辑解析度里的imageWidth * imageHeight不能高于3840*2160像素,否则视频编辑解析度里的imageWidth * imageHeight不能高于1920 * 1080像素。
videoFps视频帧率
audioEditRes音频解析度(指定采样率、采样格式及声道数)。对于音频编辑解析度,传入的采样率值支持两种:44100与48000。
返回
返回创建的时间线对象
参见
removeTimeline
NvsVideoFrameRetriever com.meicam.sdk.NvsStreamingContext.createVideoFrameRetriever ( String  videoFilePath)
inline

创建视频帧提取对象

参数
videoFilePath原始视频文件路径
返回
返回NvsVideoFrameRetriever对象,表示视频帧提取对象
自从
1.2.0
float com.meicam.sdk.NvsStreamingContext.detectEngineRenderFramePerSecond ( )
inline

从流媒体上下文中获取引擎当前的渲染速度,只在StartCapturePreview和PlaybackTimeline之后有效

返回
返回值表示当前的渲染速度
自从
2.8.0
int com.meicam.sdk.NvsStreamingContext.detectVideoFileKeyframeInterval ( String  videoFilePath)
inline

探测视频文件的I帧间距

参数
videoFilePath视频文件的路径
返回
返回探测到的I帧间距,返回0表示探测失败
自从
1.6.0
List<String> com.meicam.sdk.NvsStreamingContext.getAllBuiltinAudioFxNames ( )
inline

获取全部内嵌音频特效名称

返回
返回包含所有内嵌的音频特效名称的List集合
参见
getAllBuiltinVideoFxNames
List<String> com.meicam.sdk.NvsStreamingContext.getAllBuiltinCaptureVideoFxNames ( )
inline

获取全部内嵌采集视频特效名称

返回
返回包含所有内嵌的采集视频特效名称的List集合
参见
getBeautyVideoFxName
getAllBuiltinVideoFxNames
List<String> com.meicam.sdk.NvsStreamingContext.getAllBuiltinVideoFxNames ( )
inline

获取全部内嵌视频特效名称

返回
返回包含所有内嵌的视频特效名称的List集合
参见
getAllBuiltinAudioFxNames
List<String> com.meicam.sdk.NvsStreamingContext.getAllBuiltinVideoTransitionNames ( )
inline

获取全部内嵌视频转场名称

返回
返回包含所有内嵌的视频转场名称的List集合
参见
getAllBuiltinCaptureVideoFxNames
getBeautyVideoFxName
getDefaultVideoTransitionName
NvsAREffectContext com.meicam.sdk.NvsStreamingContext.getAREffectContext ( )
inline

获取人脸特技上下文

自从
1.17.0
NvsAssetPackageManager com.meicam.sdk.NvsStreamingContext.getAssetPackageManager ( )
inline

获取资源包管理器

返回
返回获取的资源包管理器对象
NvsFxDescription com.meicam.sdk.NvsStreamingContext.getAudioFxDescription ( String  fxName)
inline

获取音频特效描述

参数
fxName音频特效名称
返回
返回音频特效描述的对象
参见
getVideoFxDescription
NvsAVFileInfo com.meicam.sdk.NvsStreamingContext.getAVFileInfo ( String  avFilePath)
inline

获取音视频文件的详细信息

参数
avFilePath音视频文件的路径
返回
返回获取的音视频信息对象
NvsAVFileInfo com.meicam.sdk.NvsStreamingContext.getAVFileInfo ( String  avFilePath,
int  extraFlag 
)
inline

获取音视频文件的详细信息

参数
avFilePath音视频文件的路径
extraFlag获取音视频文件的详细信息的特殊标识。请参见获取音视频信息时的特殊标识
返回
返回获取的音视频信息对象
String com.meicam.sdk.NvsStreamingContext.getBeautyVideoFxName ( )
inline

获得美颜的视频特效名称

返回
返回美颜视频特效名称
参见
getAllBuiltinVideoFxNames
getAllBuiltinCaptureVideoFxNames
CaptureDeviceCapability com.meicam.sdk.NvsStreamingContext.getCaptureDeviceCapability ( int  captureDeviceIndex)
inline

获取采集设备的能力描述对象

参数
captureDeviceIndex采集设备索引
返回
返回采集设备能力描述对象
int com.meicam.sdk.NvsStreamingContext.getCaptureDeviceCount ( )
inline

获取采集设备的数量

返回
返回采集设备数
参见
isCaptureDeviceBackFacing
NvsSize com.meicam.sdk.NvsStreamingContext.getCapturePreviewVideoSize ( int  captureDeviceIndex)
inline

获取采集预览视频分辨率

参数
captureDeviceIndex采集设备索引
返回
获取采集预览视频分辨率
自从
1.7.1
NvsCaptureVideoFx com.meicam.sdk.NvsStreamingContext.getCaptureVideoFxByIndex ( int  captureVideoFxIndex)
inline

获得采集视频特效

参数
captureVideoFxIndex视频特效索引
返回
返回视频特效对象
参见
removeCaptureVideoFx
int com.meicam.sdk.NvsStreamingContext.getCaptureVideoFxCount ( )
inline

获得采集视频特效的数量

返回
返回视频特效数量
Hashtable<String, Object> com.meicam.sdk.NvsStreamingContext.getCompileConfigurations ( )
inline

获取生成时间线配置

返回
返回生成时间线配置,如没有设置,则返回的Hashtable中没有任何对象。Hashtable中关键字的值请参见生成时间线的配置
参见
setCompileConfigurations
float com.meicam.sdk.NvsStreamingContext.getCompileVideoBitrateMultiplier ( )
inline

设置生成视频码率倍乘系数

自从
1.5.0
参见
setCompileVideoBitrateMultiplier
String com.meicam.sdk.NvsStreamingContext.getCurrentCaptureSceneId ( )
inline

取得当前拍摄场景资源包的ID

返回
当前拍摄场景资源包的ID字符串,返回nil表示当前没有拍摄场景资源包
自从
1.2.0
参见
applyCaptureScene
removeCurrentCaptureScene
int com.meicam.sdk.NvsStreamingContext.getCustomCompileVideoHeight ( )
inline

获取当前自定义的生成视频高度。

返回
返回当前自定义的生成视频高度
自从
1.6.1
String com.meicam.sdk.NvsStreamingContext.getDefaultThemeEndingLogoImageFilePath ( )
inline

获取主题末尾默认的Logo图片路径

返回
返回获得的Logo图片路径
参见
setDefaultThemeEndingLogoImageFilePath
String com.meicam.sdk.NvsStreamingContext.getDefaultVideoTransitionName ( )
inline

获得默认视频转场名称

返回
返回表示默认转场名称的字符串
参见
getAllBuiltinVideoTransitionNames
int com.meicam.sdk.NvsStreamingContext.getExposureCompensation ( )
inline

获取曝光补偿

返回
返回曝光补偿值
参见
setExposureCompensation
static NvsStreamingContext com.meicam.sdk.NvsStreamingContext.getInstance ( )
inlinestatic

获取流媒体上下文的单例实例(必须进行初始化后才能使用)

返回
返回流媒体上下文的单例实例对象
参见
init
close
float com.meicam.sdk.NvsStreamingContext.getRecordVideoBitrateMultiplier ( )
inline

获取录制视频码率倍乘系数

自从
1.5.0
参见
setRecordVideoBitrateMultiplier
SdkVersion com.meicam.sdk.NvsStreamingContext.getSdkVersion ( )
inline

获取美摄SDK的版本信息

返回
返回美摄SDK的版本信息对象
自从
1.4.1
int com.meicam.sdk.NvsStreamingContext.getStreamingEngineState ( )
inline

获取流媒体引擎状态

返回
返回流媒体引擎状态。请参见流媒体引擎状态标志
long com.meicam.sdk.NvsStreamingContext.getTimelineCurrentPosition ( NvsTimeline  timeline)
inline

取得时间线当前的时间位置(单位为微秒)

参数
timeline时间线对象
返回
返回时间线的当前位置值
参见
seekTimeline
NvsFxDescription com.meicam.sdk.NvsStreamingContext.getVideoFxDescription ( String  fxName)
inline

获取视频特效描述

参数
fxName视频特效名称
返回
返回视频特效描述的对象
参见
getAudioFxDescription
int com.meicam.sdk.NvsStreamingContext.getVideoStabilization ( )
inline

获取当前的视频防抖动标志

返回
返回当前标志。请参见抖动标志
参见
setVideoStabilization
int com.meicam.sdk.NvsStreamingContext.getZoom ( )
inline

获取缩放因子

返回
返回缩放因子值
参见
setZoom
Bitmap com.meicam.sdk.NvsStreamingContext.grabImageFromTimeline ( NvsTimeline  timeline,
long  timestamp,
NvsRational  proxyScale 
)
inline

获取时间线某一时间戳的图像。详细情况参见视频帧图像提取专题

参数
timeline欲获取图像的时间线对象
timestamp欲获取图像的时间戳(单位微秒)。timestamp取值范围在[0,timeline.duration - 1]。传入其他值无效,grabImageFromTimeline会返回null。
proxyScale代理缩放比例
返回
返回该时间戳图像的Bitmap对象,如果获取图像失败返回null
自从
1.1.2
Bitmap com.meicam.sdk.NvsStreamingContext.grabImageFromTimeline ( NvsTimeline  timeline,
long  timestamp,
NvsRational  proxyScale,
int  flags 
)
inline

获取时间线某一时间戳的图像。详细情况参见视频帧图像提取专题

参数
timeline欲获取图像的时间线对象
timestamp欲获取图像的时间戳(单位微秒)。timestamp取值范围在[0,timeline.duration - 1]。传入其他值无效,grabImageFromTimeline会返回null。
proxyScale代理缩放比例
flags引擎定位的特殊标志。具体参见引擎定位标识
返回
返回该时间戳图像的Bitmap对象,如果获取图像失败返回null
自从
1.16.0
static int com.meicam.sdk.NvsStreamingContext.hasARModule ( )
inlinestatic

检测当前SDK是否含有AR模块

返回
返回值表示是否含有AR模块
自从
2.5.0
static NvsStreamingContext com.meicam.sdk.NvsStreamingContext.init ( Context  ctx,
String  sdkLicenseFilePath,
int  flags 
)
inlinestatic

对流媒体上下文的单例实例进行初始化

参数
ctx安卓Context对象
sdkLicenseFilePath指定SDK license文件的路径
flags标志字段,如果无特殊需求请填写0。请参见流媒体上下文标志
返回
返回流媒体上下文的单例实例对象
自从
2.0.1
参见
getInstance
close
static NvsStreamingContext com.meicam.sdk.NvsStreamingContext.init ( Activity  mainActivity,
String  sdkLicenseFilePath,
int  flags 
)
inlinestatic

对流媒体上下文的单例实例进行初始化。详细了解参见4k视频编辑专题

参数
mainActivity主安卓Activity对象
sdkLicenseFilePath指定SDK license文件的路径
flags标志字段,如果无特殊需求请填写0。请参见流媒体上下文标志
返回
返回流媒体上下文的单例实例对象
自从
1.5.0
参见
getInstance
close
static NvsStreamingContext com.meicam.sdk.NvsStreamingContext.init ( Activity  mainActivity,
String  sdkLicenseFilePath 
)
inlinestatic

对流媒体上下文的单例实例进行初始化

参数
mainActivity主安卓Activity对象
sdkLicenseFilePath指定SDK license文件的路径
返回
返回流媒体上下文的单例实例对象
参见
getInstance
close
static boolean com.meicam.sdk.NvsStreamingContext.initHumanDetection ( Context  ctx,
String  modelFilePath,
String  licenseFilePath,
int  features 
)
inlinestatic

初始化人体检测机制

参数
ctx安卓Context对象
modelFilePath人脸模型文件路径
licenseFilePath授权文件路径
features人体检测特征标志字段。请参见人体检测特征
返回
返回值表示是否成功
自从
2.5.0
NvsCaptureVideoFx com.meicam.sdk.NvsStreamingContext.insertBeautyCaptureVideoFx ( int  insertPosition)
inline

插入一个美颜视频特效

参数
insertPosition插入位置
返回
返回插入的美颜视频特效对象
参见
appendBeautyCaptureVideoFx
NvsCaptureVideoFx com.meicam.sdk.NvsStreamingContext.insertBuiltinCaptureVideoFx ( String  videoFxName,
int  insertPosition 
)
inline

插入一个内建视频特效

参数
videoFxName视频特效名。获取视频特效名称,请参见getAllBuiltinCaptureVideoFxNames()内建特效名称列表
insertPosition插入位置
返回
返回插入的内建视频特效对象
参见
appendBuiltinCaptureVideoFx
NvsCaptureVideoFx com.meicam.sdk.NvsStreamingContext.insertCustomCaptureVideoFx ( NvsCustomVideoFx.Renderer  customVideoFxRender,
int  insertPosition 
)
inline

插入自定义采集视频特效

参数
customVideoFxRender用户实现的自定义视频特效渲染器接口
insertPosition插入位置
返回
返回插入的采集视频特效对象
警告
此接口会引发流媒体引擎状态跳转到引擎停止状态,具体情况请参见引擎变化专题
自从
1.7.0
NvsCaptureVideoFx com.meicam.sdk.NvsStreamingContext.insertPackagedCaptureVideoFx ( String  videoFxPackageId,
int  insertPosition 
)
inline

插入一个包裹视频特效

参数
videoFxPackageId视频特效包裹ID
insertPosition插入位置
返回
返回插入的包裹视频特效对象
参见
appendPackagedCaptureVideoFx
boolean com.meicam.sdk.NvsStreamingContext.isCaptureDeviceBackFacing ( int  captureDeviceIndex)
inline

是否为后置采集设备

参数
captureDeviceIndex采集设备索引
返回
返回boolean值。返回YES则是后置采集设备,NO则不是。
boolean com.meicam.sdk.NvsStreamingContext.isDefaultCaptionFade ( )
inline

设置默认字幕是否为淡入淡出

返回
返回是否为淡入淡出
自从
1.8.0
参见
setDefaultCaptionFade
boolean com.meicam.sdk.NvsStreamingContext.isFlashOn ( )
inline

开/关换补光灯状态

返回
返回boolean值。返回YES则换补光灯是打开状态,NO则是关闭状态。
参见
toggleFlash
boolean com.meicam.sdk.NvsStreamingContext.isRecordingPaused ( )
inline

检查录制是否已经暂停

返回
返回布尔值。值为YES则录制已经暂停,NO为未暂停。
自从
1.17.0
参见
pauseRecording
resumeRecording
boolean com.meicam.sdk.NvsStreamingContext.isSdkAuthorised ( )
inline

检测sdk是否授权

boolean com.meicam.sdk.NvsStreamingContext.pauseRecording ( )
inline

暂停录制采集信号。暂停录制之后再继续录制会录制到同一个媒体文件中。注意:只有不使用系统内置recorder时才能暂停录制!

返回
返回布尔值。值为YES则暂停录制成功,NO则失败。
自从
1.17.0
参见
resumeRecording
boolean com.meicam.sdk.NvsStreamingContext.playbackTimeline ( NvsTimeline  timeline,
long  startTime,
long  endTime,
int  videoSizeMode,
boolean  preload,
int  flags 
)
inline

播放时间线

参数
timeline时间线
startTime开始时间(单位微秒)。startTime取值范围在[0,timeline.duration - 1]。传入其他值无效,playbackTimeline会返回false导致无法开启播放。
endTime结束时间(单位微秒)。如果endTime值传入是负值,则默认播放到视频末尾。
videoSizeMode视频预览模式。请参见视频大小预览模式
preload是否预先加载
flags预览的特殊标志,如无特殊需要,请填写为0。请参见引擎播放标志
返回
返回布尔值。注意:播放时间线是异步操作。返回true则可以开启播放时间线,false则无法开启播放。
警告
此接口会引发流媒体引擎状态跳转到引擎停止状态,具体情况请参见引擎变化专题
参见
seekTimeline
compileTimeline
boolean com.meicam.sdk.NvsStreamingContext.playbackTimeline ( NvsTimeline  timeline,
long  startTime,
long  endTime,
NvsRational  proxyScale,
boolean  preload,
int  flags 
)
inline

播放时间线

参数
timeline时间线
startTime开始时间(单位微秒)。startTime取值范围在[0,timeline.duration - 1]。传入其他值无效,playbackTimeline会返回false导致无法开启播放。
endTime结束时间(单位微秒)。如果endTime值传入是负值,则默认播放到视频末尾。
proxyScale代理缩放比例
preload是否预先加载
flags预览的特殊标志,如无特殊需要,请填写为0。请参见引擎播放标志
返回
返回布尔值。注意:播放时间线是异步操作。返回true则可以开启播放时间线,false则无法开启播放。
警告
此接口会引发流媒体引擎状态跳转到引擎停止状态,具体情况请参见引擎变化专题
参见
seekTimeline
compileTimeline
String com.meicam.sdk.NvsStreamingContext.registerFontByFilePath ( String  fontFilePath)
inline

获取字体文件的fontFamily

参数
fontFilePath字体文件路径
返回
返回字体的fontFamily
void com.meicam.sdk.NvsStreamingContext.removeAllCaptureVideoFx ( )
inline

移除所有采集视频特效

参见
removeCaptureVideoFx
getCaptureVideoFxCount
boolean com.meicam.sdk.NvsStreamingContext.removeCaptureVideoFx ( int  captureVideoFxIndex)
inline

对移除特定索引值的采集视频特效

参数
captureVideoFxIndex视频特效索引
返回
返回boolean值。返回YES则移除成功,NO则失败
参见
appendBuiltinCaptureVideoFx
appendPackagedCaptureVideoFx
appendBeautyCaptureVideoFx
void com.meicam.sdk.NvsStreamingContext.removeCurrentCaptureScene ( )
inline

移除当前拍摄场景

自从
1.2.0
参见
applyCaptureScene
getCurrentCaptureSceneId
boolean com.meicam.sdk.NvsStreamingContext.removeTimeline ( NvsTimeline  timeline)
inline

移除时间线

参数
timeline要移除的时间线
返回
返回布尔值。值为true则移除成功,false则失败。
警告
此接口会引发流媒体引擎状态跳转到引擎停止状态,具体情况请参见引擎变化专题
参见
createTimeline
void com.meicam.sdk.NvsStreamingContext.removeUserWatermarkForCapture ( )
inline

移除为视频采集添加的用户水印。

自从
2.0.1
boolean com.meicam.sdk.NvsStreamingContext.resumeRecording ( )
inline

继续录制采集信号。继续录制会录制到暂停之前的同一个媒体文件中。

返回
返回布尔值。值为YES则继续录制成功,NO则失败。
自从
1.17.0
参见
pauseRecording
NvsColor com.meicam.sdk.NvsStreamingContext.sampleColorFromCapturedVideoFrame ( RectF  sampleRect)
inline

对采集设备的视频帧内容进行采样

参数
sampleRect采样的矩形区域,坐标为实时预览窗口的自身坐标系
返回
返回值为采样的颜色值,该颜色值是采样的矩形区域内所有像素颜色的平均值
自从
1.2.0
boolean com.meicam.sdk.NvsStreamingContext.seekTimeline ( NvsTimeline  timeline,
long  timestamp,
int  videoSizeMode,
int  flags 
)
inline

Seeking the frame at a specific timestamp.

参数
timelineTimeline
timestampTimestamp (in microseconds). Timestamp should be in the range of [0,timeline.duration - 1]. Other input values are invalid and seekTimeline will return false, results can't targeting.
videoSizeModeVideo preview mode. Please refer to video preview sizemode
flagsFlags for streaming engine seeking. For specific please refer to seeking flags of streaming engine
返回
Returns a boolean value. Note: Seek to a specific timestamp is an asynchronous operation, it returns true which means seeking successful, false means seeking failure.
警告
This interface will trigger streaming engine to jump to stop state. For detailed situations please refer to The changes of engine.
参见
playbackTimeline
compileTimeline
boolean com.meicam.sdk.NvsStreamingContext.seekTimeline ( NvsTimeline  timeline,
long  timestamp,
NvsRational  proxyScale,
int  flags 
)
inline

定位某一时间戳的图像

参数
timeline时间线
timestamp时间戳(单位微秒)。timestamp取值范围在[0,timeline.duration - 1]。传入其他值无效,seekTimeline会返回false,导致无法开启定位。
proxyScale代理缩放比例
flags引擎定位的特殊标志。具体参见引擎定位标识
返回
返回布尔值。注意:定位某时间戳图像是异步操作。返回true则成功开启定位,false则无法开启定位。
警告
此接口会引发流媒体引擎状态跳转到引擎停止状态,具体情况请参见引擎变化专题
参见
playbackTimeline
compileTimeline
boolean com.meicam.sdk.NvsStreamingContext.sendBufferToCapturePreview ( byte[]  data,
long  streamTime 
)
inline

输入buffer给采集设备预览

参数
data输入buffer的byte array,仅支持NV21的数据
streamTime输入buffer的时间戳
返回
返回boolean值。
参见
startBufferCapturePreview
boolean com.meicam.sdk.NvsStreamingContext.sendBufferToCapturePreview ( byte[]  data,
long  streamTime,
int  flags 
)
inline

输入buffer给采集预览

参数
data输入buffer的byte array,仅支持NV21的数据
streamTime输入buffer的时间戳
flags标志
返回
返回布尔值。
参见
startBufferCapturePreview
void com.meicam.sdk.NvsStreamingContext.setAutoExposureRect ( RectF  exposureRect)
inline

设置自动曝光检测区域

参数
exposureRect自动曝光检测区域,坐标为实时预览窗口的自身坐标系
自从
1.15.1
void com.meicam.sdk.NvsStreamingContext.setCaptureDeviceCallback ( CaptureDeviceCallback  cb)
inline

设置采集设备回调接口

参数
cb采集设备回调接口
void com.meicam.sdk.NvsStreamingContext.setCapturedVideoFrameGrabberCallback ( CapturedVideoFrameGrabberCallback  cb)
inline

设置获取采集预览图像回调接口

参数
cb获取采集预览图像回调接口
void com.meicam.sdk.NvsStreamingContext.setCaptureRecordingDurationCallback ( CaptureRecordingDurationCallback  cb)
inline

设置录制时长回调接口

参数
cb获取采集预览图像回调接口
自从
1.17.0
void com.meicam.sdk.NvsStreamingContext.setCaptureRecordingStartedCallback ( CaptureRecordingStartedCallback  cb)
inline
void com.meicam.sdk.NvsStreamingContext.setCompileCallback ( CompileCallback  cb)
inline

设置时间线生成文件回调接口

参数
cb时间线生成文件回调接口
void com.meicam.sdk.NvsStreamingContext.setCompileCallback2 ( CompileCallback2  cb)
inline

设置时间线生成文件回调接口2

参数
cb时间线生成文件回调接口2
自从
1.6.0
void com.meicam.sdk.NvsStreamingContext.setCompileConfigurations ( Hashtable< String, Object >  compileConfigurations)
inline

设置生成时间线配置,设置一次即一直生效

参数
compileConfigurations生成时间线配置。Hashtable中关键字的值请参见生成时间线的配置 例如:Hashtable<String, Object> config = new Hashtable<>(); config.put(NvsStreamingContext.COMPILE_GOP_SIZE, 15); // 设置为1即是生成全I帧视频(注:一些安卓机型无法生成全I帧视频,此时可以设置STREAMING_ENGINE_COMPILE_FLAG_DISABLE_HARDWARE_ENCODER这个标志生成) config.put(NvsStreamingContext.COMPILE_BITRATE, 10000000); // 10M bps config.put(NvsStreamingContext.COMPILE_AUDIO_BITRATE, 320000); // 设置音频码率为320Kbps config.put(NvsStreamingContext.COMPILE_LOSSLESS_AUDIO, true); // 设置音频为无损压缩 config.put(NvsStreamingContext.COMPILE_OPTIMIZE_FOR_NETWORK_USE, true); // 设置索引表前置 config.put(NvsStreamingContext.COMPILE_USE_OPERATING_RATE, true); // 使用operating rate m_streamingContext.setCompileConfigurations(config);

取消设置并恢复默认方式例如:

  config.put(NvsStreamingContext.COMPILE_GOP_SIZE, null);
自从
1.8.0
参见
getCompileConfigurations
void com.meicam.sdk.NvsStreamingContext.setCompileVideoBitrateMultiplier ( float  compileVideoBitrateMultiplier)
inline

设置生成视频码率倍乘系数

参数
compileVideoBitrateMultiplier倍乘系数
自从
1.5.0
参见
getCompileVideoBitrateMultiplier
void com.meicam.sdk.NvsStreamingContext.setCustomCompileVideoHeight ( int  videoHeight)
inline

设置自定义的生成视频高度。

在生成时视频时,设置生成视频的码率级别为COMPILE_VIDEO_RESOLUTION_GRADE_CUSTOM 就可以使用自定义的生成视频高度。但是请注意,为了保证视频生成成功,美摄SDK会对高度进行适当的对齐, 因此最终生成的视频高度不一定就是这里设置的高度!

参数
videoHeight自定义的生成视频高度
自从
1.6.1
void com.meicam.sdk.NvsStreamingContext.setDefaultCaptionFade ( boolean  fade)
inline

设置默认字幕是否为淡入淡出

参数
fade是否为淡入淡出
自从
1.8.0
参见
isDefaultCaptionFade
boolean com.meicam.sdk.NvsStreamingContext.setDefaultThemeEndingLogoImageFilePath ( String  logoImageFilePath)
inline

设置默认主题末尾的Logo

参数
logoImageFilePathLogo的路径
返回
判断是否设置Logo成功。true则设置成功,false则失败.
参见
getDefaultThemeEndingLogoImageFilePath
void com.meicam.sdk.NvsStreamingContext.setExposureCompensation ( int  exposureCompensation)
inline

设置曝光补偿

参数
exposureCompensation曝光补偿值
参见
getExposureCompensation
void com.meicam.sdk.NvsStreamingContext.setHardwareErrorCallback ( HardwareErrorCallback  cb)
inline

设置硬件错误回调接口

参数
cb硬件错误回调接口
自从
1.16.0
void com.meicam.sdk.NvsStreamingContext.setPlaybackCallback ( PlaybackCallback  cb)
inline

设置时间线播放回调接口

参数
cb时间线播放回调接口
void com.meicam.sdk.NvsStreamingContext.setPlaybackCallback2 ( PlaybackCallback2  cb)
inline

设置时间线播放回调接口

参数
cb时间线播放回调接口
void com.meicam.sdk.NvsStreamingContext.setPlaybackDelayCallback ( PlaybackDelayCallback  cb)
inline

设置播放延迟回调接口

参数
cb播放延迟回调接口
void com.meicam.sdk.NvsStreamingContext.setPlaybackExceptionCallback ( PlaybackExceptionCallback  cb)
inline

设置播放异常回调接口

参数
cb播放异常回调接口
void com.meicam.sdk.NvsStreamingContext.setRecordVideoBitrateMultiplier ( float  recordVideoBitrateMultiplier)
inline

设置录制视频码率倍乘系数

参数
recordVideoBitrateMultiplier倍乘系数
自从
1.5.0
参见
getRecordVideoBitrateMultiplier
void com.meicam.sdk.NvsStreamingContext.setSeekingCallback ( SeekingCallback  cb)
inline

设置时间线搜索回调接口

参数
cb时间线搜索回调接口
void com.meicam.sdk.NvsStreamingContext.setStreamingEngineCallback ( StreamingEngineCallback  cb)
inline

设置流媒体引擎回调接口

参数
cb流媒体引擎回调接口
boolean com.meicam.sdk.NvsStreamingContext.setThemeEndingEnabled ( boolean  enable)
inline

设置主题结尾logo特效是否显示

返回
返回BOOL值。YES 设置成功;NO 设置失败
参见
setDefaultThemeEndingLogoImageFilePath
void com.meicam.sdk.NvsStreamingContext.setTimelineTimestampCallback ( TimelineTimestampCallback  cb)
inline

设置时间线时间戳回调接口

参数
cb时间线时间戳回调接口
自从
1.2.0
static boolean com.meicam.sdk.NvsStreamingContext.setupHumanDetectionData ( int  dataType,
String  dataFilePath 
)
inlinestatic

初始化人体检测相关数据包

参数
dataType人体检测数据包类型。请参见人体检测数据包类型
dataFilePath数据文件路径
返回
返回值表示是否成功
自从
2.6.0
void com.meicam.sdk.NvsStreamingContext.setUserWatermarkForCapture ( String  watermarkFilePath,
int  displayWidth,
int  displayHeight,
float  opacity,
int  position,
int  marginX,
int  marginY 
)
inline

为视频采集添加用户水印

参数
watermarkFilePath水印文件的路径,须为PNG或JPG文件
displayWidth水印在视频预览画面中显示的宽度,为0则使用图片文件的宽度
displayHeight水印在视频预览画面中显示的高度,为0则使用图片文件的高度
opacity水印的不透明度, 取值范围 0~1
position水印的位置,请参见 NvsTimelineWatermarkPosition
marginX水印在X方向的边距
marginY水印在Y方向的边距
自从
2.0.1
void com.meicam.sdk.NvsStreamingContext.setVideoStabilization ( int  flags)
inline

设置视频防抖动

参数
flags视频防抖动值。请参见抖动标志
参见
getVideoStabilization
void com.meicam.sdk.NvsStreamingContext.setZoom ( int  zoom)
inline

设置缩放因子

参数
zoom缩放比例
参见
getZoom
void com.meicam.sdk.NvsStreamingContext.startAutoFocus ( RectF  focusRect)
inline

启动自动聚焦

参数
focusRect自动聚焦的目标点,坐标为实时预览窗口的自身坐标系
参见
cancelAutoFocus
boolean com.meicam.sdk.NvsStreamingContext.startBufferCapturePreview ( int  width,
int  heidht,
NvsRational  fps,
int  rotation,
boolean  flipHorizontally 
)
inline

启动输入buffer模式的采集设备预览

参数
width输入buffer的宽
heidht输入buffer的高
fps输入buffer的帧率
rotation输入buffer的图像旋转角度。请参见输入buffer的图像旋转角度
flipHorizontally是否需要水平翻转
返回
返回boolean值。返回YES则启动预览成功,NO则启动预览失败。
参见
sendBufferToCapturePreview
boolean com.meicam.sdk.NvsStreamingContext.startCapturePreview ( int  captureDeviceIndex,
int  videoResGrade,
int  flags,
NvsRational  aspectRatio 
)
inline

启动采集设备预览

参数
captureDeviceIndex采集设备索引
videoResGrade视频采集分辨率级别。请参见视频采集分辨率级别。 视频分辨率等级是指录制时所拍摄视频短边(即可能是宽度或者是高度)的分辨率值, 根据视频横纵比aspectRatio(值为null则由系统采集设备来决定横纵比)计算得到另一边(即可能是宽度或者是高度)的值。其包括四种级别,分别是LOW,MEDIUM,HIGH,SUPER_HIGH, 依次对应360p,480p,720p,1080p。android SDK前后置摄像头对应的分辨率级别是一致的。拍摄录制有两种方式:带特效录制和不带特效录制。采用带特效录制方式(不用系统自带的recorder进行录制), SDK会对用户手机系统整体处理能力进行评估,若能够实时处理录制的视频,则采用设置的分辨率等级进行录制;若不能处理,SDK会适当降低当前分辨率等级以匹配用户手机系统能够达到的录制等级。 例如:用某一款手机录制时设置SUPER_HIGH等级,但是它可能录制不了这个等级的视频,所以就会适当降低其等级到HIGH甚至是MEDIUM,所以才会出现有些用户设置的视频录制的等级跟拍摄的视频等级不一致的情况。 同样的,如果使用不带特效录制方式(使用系统相机录制),则会根据相机能够达到的分辨率级别选择适当的分辨率等级。假如相机达不到设置的分辨率等级,可能也会降低相应的分辨率等级来进行录制。 如果有用户想自定义录制视频的等级,例如540 * 960,则需要拍摄等横纵比的视频,通过创建宽高依次是540和960的时间线,编辑然后生成。生成时,生成分辨率高度等级里面没有960p的等级, 因此需要在生成前调用setCustomCompileVideoHeight()接口来自定义高度,然后调用生成接口compileTimeline(),生成高度级别设置为COMPILE_VIDEO_RESOLUTION_GRADE_CUSTOM即可。实例代码如下:
    NvsVideoResolution videoEditRes = new NvsVideoResolution();
    videoEditRes.imageWidth = 540;
    videoEditRes.imageHeight = 960;
    videoEditRes.imagePAR = new NvsRational(1, 1);
    NvsRational videoFps = new NvsRational(25, 1);

    NvsAudioResolution audioEditRes = new NvsAudioResolution();
    audioEditRes.sampleRate = 44100;
    audioEditRes.channelCount = 2;

    mTimeline = mStreamingContext.createTimeline(videoEditRes, videoFps, audioEditRes);
    mStreamingContext.setCustomCompileVideoHeight(960);
    mStreamingContext.compileTimeline(mTimeline, 0, mTimeline.getDuration(), m_compilePath,
    NvsStreamingContext.COMPILE_VIDEO_RESOLUTION_GRADE_CUSTOM, NvsStreamingContext.COMPILE_BITRATE_GRADE_HIGH, 0);
flags标志字段,如无特殊需求请填写0。请参见采集标志。每个Flag应用场景如下:
STREAMING_ENGINE_CAPTURE_FLAG_GRAB_CAPTURED_VIDEO_FRAME用于视频抠像;
STREAMING_ENGINE_CAPTURE_FLAG_STRICT_PREVIEW_VIDEO_SIZE与STREAMING_ENGINE_CAPTURE_FLAG_CAPTURE_BUDDY_HOST_VIDEO_FRAME结合用于人脸检测;
STREAMING_ENGINE_CAPTURE_FLAG_DONT_USE_SYSTEM_RECORDER用于带特效录制视频。
STREAMING_ENGINE_CAPTURE_FLAG_DONT_CAPTURE_AUDIO用于视频直播,不采集音频流,一般不常用。
aspectRatio预览视频横纵比,传入nl则由系统采集设备来决定横纵比
返回
返回boolean值。返回YES则启动预览成功,NO则启动预览失败。
void com.meicam.sdk.NvsStreamingContext.StartContinuousFocus ( )
inline

启动连续聚焦

boolean com.meicam.sdk.NvsStreamingContext.startDualBufferCapturePreview ( SurfaceTexture  surfaceTexture,
int  surfaceTextureWidth,
int  surfaceTextureHeight,
int  surfaceTextureRotation,
int  cpuBufferWidth,
int  cpuBufferHeight,
boolean  cpuBufferFlipHorizontally,
int  cpuBufferRotation,
NvsRational  fps,
int  flags 
)
inline

启动双输入buffer模式的采集预览,其中一个输入源来源于SurfaceTexture,另一个来源于cpu buffer,两者在旋转到正方向之后的尺寸必须一致!

参数
surfaceTexture纹理对象
surfaceTextureWidth输入SurfaceTexture的buffer宽度
surfaceTextureHeight输入SurfaceTexture的buffer高度
surfaceTextureRotation输入SurfaceTexture的旋转角度(顺时针) 请参见输入buffer的图像旋转角度
cpuBufferWidth输入cpu buffer的宽度
cpuBufferHeight输入cpu buffer的高度
cpuBufferFlipHorizontally输入cpu buffer是否进行水平翻转(先于旋转)
cpuBufferRotation输入cpu buffer的旋转角度(顺时针) 请参见输入buffer的图像旋转角度
fps输入buffer的帧率
flags标志字段,如果无特殊需求请填写0。请参见采集标志
返回
返回布尔值。值为true则启动预览成功,false则启动失败。
参见
sendBufferToCapturePreview
boolean com.meicam.sdk.NvsStreamingContext.startRecording ( String  outputFilePath)
inline

启动录制采集设备信号。请参见视频录制方式

参数
outputFilePath录制文件的路径。注意: 我们建议输出.mov格式的文件
返回
返回boolean值。返回YES则启动录制成功,NO则启动失败。
参见
stopRecording
boolean com.meicam.sdk.NvsStreamingContext.startRecording ( String  outputFilePath,
int  flags 
)
inline

启动录制采集设备信号。请参见视频录制方式

参数
outputFilePath录制文件的路径。注意: 我们建议输出.mov格式的文件
flags标志字段,如无特殊需求请填写0。请参见录制标志
返回
返回boolean值。返回YES则启动录制成功,NO则启动失败。
自从
1.5.1
参见
stopRecording
boolean com.meicam.sdk.NvsStreamingContext.startRecording ( String  outputFilePath,
int  flags,
Hashtable< String, Object >  recordConfigurations 
)
inline

启动录制采集设备信号。请参见视频录制方式

参数
outputFilePath录制文件的路径。注意: 我们建议输出.mov格式的文件
flags标志字段,如无特殊需求请填写0。请参见录制标志
recordConfigurations录制视频配置。Hashtable中关键字的值请参见录制视频配置
例如:
 Hashtable<String, Object> config = new Hashtable<>();
 config.put(NvsStreamingContext.RECORD_GOP_SIZE, 15); // 设置为1即是生成全I帧视频(注:一些安卓机型无法生成全I帧视频,此时可以设置STREAMING_ENGINE_COMPILE_FLAG_DISABLE_HARDWARE_ENCODER这个标志生成)
 config.put(NvsStreamingContext.RECORD_BITRATE, 10000000); // 10M bps
返回
返回boolean值。返回YES则启动录制成功,NO则启动失败。
自从
1.5.1
参见
stopRecording
void com.meicam.sdk.NvsStreamingContext.stop ( )
inline

停止引擎

void com.meicam.sdk.NvsStreamingContext.stop ( int  flags)
inline

停止引擎

参数
flags停止标志,请参见引擎停止状态
自从
1.16.0
void com.meicam.sdk.NvsStreamingContext.stopRecording ( )
inline

结束录制采集设备信号

参见
startRecording
void com.meicam.sdk.NvsStreamingContext.toggleFlash ( boolean  flashOn)
inline

开/关换补光灯

参数
flashOn闪光灯是否开或关
参见
isFlashOn

类成员变量说明

final int com.meicam.sdk.NvsStreamingContext.AV_FILEINFO_EXTRA_NULL = 0
static
final int com.meicam.sdk.NvsStreamingContext.AV_FILEINFO_EXTRA_PIXELFORMAT = 1
static
final int com.meicam.sdk.NvsStreamingContext.BUFFER_IMAGE_ROTATION_0 = 0
static
final int com.meicam.sdk.NvsStreamingContext.BUFFER_IMAGE_ROTATION_180 = 2
static
final int com.meicam.sdk.NvsStreamingContext.BUFFER_IMAGE_ROTATION_270 = 3
static
final int com.meicam.sdk.NvsStreamingContext.BUFFER_IMAGE_ROTATION_90 = 1
static
final int com.meicam.sdk.NvsStreamingContext.CAPTURE_DEVICE_ERROR_SERVER_DIED = 2
static

采集设备错误服务器崩溃

final int com.meicam.sdk.NvsStreamingContext.CAPTURE_DEVICE_ERROR_UNKNOWN = 1
static

采集设备错误未知

final String com.meicam.sdk.NvsStreamingContext.COMPILE_AUDIO_BITRATE = "audio bitrate"
static

生成音频码率

final String com.meicam.sdk.NvsStreamingContext.COMPILE_BITRATE = "bitrate"
static

生成视频码率

final int com.meicam.sdk.NvsStreamingContext.COMPILE_BITRATE_GRADE_HIGH = 2
static

生成视频高码率

final int com.meicam.sdk.NvsStreamingContext.COMPILE_BITRATE_GRADE_LOW = 0
static

生成视频低码率

final int com.meicam.sdk.NvsStreamingContext.COMPILE_BITRATE_GRADE_MEDIUM = 1
static

生成视频中等码率

final String com.meicam.sdk.NvsStreamingContext.COMPILE_GOP_SIZE = "gopsize"
static

生成视频GOP SIZE

final String com.meicam.sdk.NvsStreamingContext.COMPILE_LOSSLESS_AUDIO = "lossless audio"
static

是否生成无损音频

final String com.meicam.sdk.NvsStreamingContext.COMPILE_OPTIMIZE_FOR_NETWORK_USE = "optimize-for-network-use"
static

是否前置索引表

final String com.meicam.sdk.NvsStreamingContext.COMPILE_SOFTWARE_ENCODER_CRF = "software encorder crf"
static

软编码crf预设值

final String com.meicam.sdk.NvsStreamingContext.COMPILE_SOFTWARE_ENCODER_CRF_BITRATE_MAX = "software encorder crf bitrate max"
static

软编码crf模式bitrate max预设值

final String com.meicam.sdk.NvsStreamingContext.COMPILE_SOFTWARE_ENCODER_MODE = "software encorder mode"
static

软编码模式

final String com.meicam.sdk.NvsStreamingContext.COMPILE_SOFTWARE_ENCODER_PRESET = "software encorder preset"
static

软编码参数预设值

final String com.meicam.sdk.NvsStreamingContext.COMPILE_USE_OPERATING_RATE = "use operating rate"
static

use operating rate

final String com.meicam.sdk.NvsStreamingContext.COMPILE_VIDEO_ENCODER_NAME = "video encoder name"
static

指定视频压缩格式,目前支持hevc(h.265)

final int com.meicam.sdk.NvsStreamingContext.COMPILE_VIDEO_RESOLUTION_GRADE_1080 = 3
static

生成视频高度-1080

final int com.meicam.sdk.NvsStreamingContext.COMPILE_VIDEO_RESOLUTION_GRADE_2160 = 4
static

生成视频高度-2160

final int com.meicam.sdk.NvsStreamingContext.COMPILE_VIDEO_RESOLUTION_GRADE_360 = 0
static

生成视频高度-360(宽度由视频高度以及创建时间线(createTimeline)时指定的视频宽高以及像素比算出)

final int com.meicam.sdk.NvsStreamingContext.COMPILE_VIDEO_RESOLUTION_GRADE_480 = 1
static

生成视频高度-480

final int com.meicam.sdk.NvsStreamingContext.COMPILE_VIDEO_RESOLUTION_GRADE_720 = 2
static

生成视频高度-720

final int com.meicam.sdk.NvsStreamingContext.COMPILE_VIDEO_RESOLUTION_GRADE_CUSTOM = 256
static

自定义生成视频高度

final int com.meicam.sdk.NvsStreamingContext.HUMAN_DETECTION_DATA_TYPE_FAKE_FACE = 0
static

假脸数据包类型

final int com.meicam.sdk.NvsStreamingContext.HUMAN_DETECTION_FEATURE_FACE_ACTION = 2
static

人脸表情

final int com.meicam.sdk.NvsStreamingContext.HUMAN_DETECTION_FEATURE_FACE_LANDMARK = 1
static

人脸点位

final String com.meicam.sdk.NvsStreamingContext.RECORD_BITRATE = "bitrate"
static

录制视频码率

final String com.meicam.sdk.NvsStreamingContext.RECORD_GOP_SIZE = "gopsize"
static

录制视频GOP SIZE

final int com.meicam.sdk.NvsStreamingContext.STREAMING_CONTEXT_FLAG_ASYNC_ENGINE_STATE = 16
static

引擎状态切换使用异步方式以便减少主线程的卡顿

final int com.meicam.sdk.NvsStreamingContext.STREAMING_CONTEXT_FLAG_COMPACT_MEMORY_MODE = 2
static

最小化内存占用

final int com.meicam.sdk.NvsStreamingContext.STREAMING_CONTEXT_FLAG_NO_HARDWARE_VIDEO_READER = 8
static

禁用硬件解码

final int com.meicam.sdk.NvsStreamingContext.STREAMING_CONTEXT_FLAG_SUPPORT_4K_EDIT = 1
static

支持4K视频编辑

final int com.meicam.sdk.NvsStreamingContext.STREAMING_CONTEXT_FLAG_SUPPORT_8K_EDIT = 4
static

支持8K编辑(仅图片)

final int com.meicam.sdk.NvsStreamingContext.STREAMING_CONTEXT_VIDEO_DECODER_WITHOUT_SURFACE_TEXTURE = 32
static

解码器中不使用SurfaceTexture的方式进行解码

final int com.meicam.sdk.NvsStreamingContext.STREAMING_ENGINE_CAPTURE_FLAG_CAPTURE_BUDDY_HOST_VIDEO_FRAME = 32
static

采集伴侣视频帧

final int com.meicam.sdk.NvsStreamingContext.STREAMING_ENGINE_CAPTURE_FLAG_DONT_CAPTURE_AUDIO = 16
static

不采集音频

final int com.meicam.sdk.NvsStreamingContext.STREAMING_ENGINE_CAPTURE_FLAG_DONT_USE_SYSTEM_RECORDER = 4
static

不使用系统自带的recorder进行录制

final int com.meicam.sdk.NvsStreamingContext.STREAMING_ENGINE_CAPTURE_FLAG_FACE_ACTION_WITH_PARTICLE = 256
static

使用脸部动作控制粒子特效

final int com.meicam.sdk.NvsStreamingContext.STREAMING_ENGINE_CAPTURE_FLAG_GRAB_CAPTURED_VIDEO_FRAME = 1
static

获取采集视频的帧内容(打开这个标志会降低性能,只有在必要的时候开启这个标志)

final int com.meicam.sdk.NvsStreamingContext.STREAMING_ENGINE_CAPTURE_FLAG_LOW_PIPELINE_SIZE = 512
static

降低引擎在采集时内部的流水线尺寸

final int com.meicam.sdk.NvsStreamingContext.STREAMING_ENGINE_CAPTURE_FLAG_STRICT_PREVIEW_VIDEO_SIZE = 8
static

限定预览视频尺寸只能是系统自带的预览视频尺寸

final int com.meicam.sdk.NvsStreamingContext.STREAMING_ENGINE_COMPILE_FLAG_DISABLE_HARDWARE_ENCODER = 1
static

禁用硬件编码器

final int com.meicam.sdk.NvsStreamingContext.STREAMING_ENGINE_COMPILE_FLAG_DONT_USE_INPUT_SURFACE = 2
static

不使用inputsurface

final int com.meicam.sdk.NvsStreamingContext.STREAMING_ENGINE_COMPILE_FLAG_ONLY_AUDIO = 8
static

仅生成只有音频流的文件

final int com.meicam.sdk.NvsStreamingContext.STREAMING_ENGINE_COMPILE_FLAG_ONLY_VIDEO = 4
static

仅生成只有视频流的文件

final int com.meicam.sdk.NvsStreamingContext.STREAMING_ENGINE_HARDWARE_ERROR_TYPE_VIDEO_DECODER_SETUP_ERROR = 2
static
final int com.meicam.sdk.NvsStreamingContext.STREAMING_ENGINE_HARDWARE_ERROR_TYPE_VIDEO_DECODING_ERROR = 3
static
final int com.meicam.sdk.NvsStreamingContext.STREAMING_ENGINE_HARDWARE_ERROR_TYPE_VIDEO_ENCODER_SETUP_ERROR = 0
static
final int com.meicam.sdk.NvsStreamingContext.STREAMING_ENGINE_HARDWARE_ERROR_TYPE_VIDEO_ENCODING_ERROR = 1
static
final int com.meicam.sdk.NvsStreamingContext.STREAMING_ENGINE_PLAYBACK_EXCEPTION_TYPE_MEDIA_FILE_ERROR = 0
static

媒体文件错误

final int com.meicam.sdk.NvsStreamingContext.STREAMING_ENGINE_PLAYBACK_FLAG_DISABLE_FIXED_PREROLL_TIME = 16
static

降低引擎在播放时首帧的播出延迟

final int com.meicam.sdk.NvsStreamingContext.STREAMING_ENGINE_PLAYBACK_FLAG_LOW_PIPELINE_SIZE = 8
static

降低引擎在播放时内部的流水线尺寸

final int com.meicam.sdk.NvsStreamingContext.STREAMING_ENGINE_RECORDING_FLAG_DISABLE_HARDWARE_ENCODER = 4
static

不使用硬件编码进行录制

final int com.meicam.sdk.NvsStreamingContext.STREAMING_ENGINE_RECORDING_FLAG_DONT_USE_INPUT_SURFACE = 64
static

不使用inputsurface

final int com.meicam.sdk.NvsStreamingContext.STREAMING_ENGINE_RECORDING_FLAG_IGNORE_VIDEO_ROTATION = 32
static

录制时不根据设备的手持方向对视频做旋转。注意:必须与STREAMING_ENGINE_CAPTURE_FLAG_DONT_USE_SYSTEM_RECORDER配合使用才有效果

final int com.meicam.sdk.NvsStreamingContext.STREAMING_ENGINE_RECORDING_FLAG_ONLY_RECORD_VIDEO = 16
static

仅录制视频流到文件中,所有的音频流都不录制

final int com.meicam.sdk.NvsStreamingContext.STREAMING_ENGINE_RECORDING_FLAG_SOFTWARE_VIDEO_INTRA_FRAME_ONLY_FAST_STOP = 8
static

进行软件编码纯I-Frame录制时快速停止录制,这可能导致视频帧被丢弃

final int com.meicam.sdk.NvsStreamingContext.STREAMING_ENGINE_RECORDING_FLAG_VIDEO_INTRA_FRAME_ONLY = 2
static

录制仅包含I-Frame的视频文件。注意:必须与STREAMING_ENGINE_CAPTURE_FLAG_DONT_USE_SYSTEM_RECORDER配合使用才有效果

final int com.meicam.sdk.NvsStreamingContext.STREAMING_ENGINE_SEEK_FLAG_SHOW_ANIMATED_STICKER_POSTER = 4
static

整体展示动画贴纸效果

final int com.meicam.sdk.NvsStreamingContext.STREAMING_ENGINE_SEEK_FLAG_SHOW_CAPTION_POSTER = 2
static

整体展示字幕效果

final int com.meicam.sdk.NvsStreamingContext.STREAMING_ENGINE_SEND_BUFFER_FLAG_ONLY_FOR_BUDDY = 2
static

数据只应用于采集伴侣视频帧的处理

final int com.meicam.sdk.NvsStreamingContext.STREAMING_ENGINE_SEND_BUFFER_FLAG_ONLY_FOR_GRAB = 1
static

Data only used for handeling video captured's frame content.

final int com.meicam.sdk.NvsStreamingContext.STREAMING_ENGINE_STATE_CAPTUREPREVIEW = 1
static

采集预览

final int com.meicam.sdk.NvsStreamingContext.STREAMING_ENGINE_STATE_CAPTURERECORDING = 2
static

拍摄录制

final int com.meicam.sdk.NvsStreamingContext.STREAMING_ENGINE_STATE_COMPILE = 5
static

生成文件

final int com.meicam.sdk.NvsStreamingContext.STREAMING_ENGINE_STATE_PLAYBACK = 3
static

播放

final int com.meicam.sdk.NvsStreamingContext.STREAMING_ENGINE_STATE_SEEKING = 4
static

定位

final int com.meicam.sdk.NvsStreamingContext.STREAMING_ENGINE_STATE_STOPPED = 0
static

引擎停止

final int com.meicam.sdk.NvsStreamingContext.STREAMING_ENGINE_STOP_FLAG_ASYNC = 2
static

异步停止引擎,避免阻塞主线程

final int com.meicam.sdk.NvsStreamingContext.STREAMING_ENGINE_STOP_FLAG_FORCE_STOP_COMPILATION = 1
static

强行终止生成,会导致已经生成的文件不完整

final int com.meicam.sdk.NvsStreamingContext.VIDEO_CAPTURE_RESOLUTION_GRADE_HIGH = 2
static

视频采集高分辨率

final int com.meicam.sdk.NvsStreamingContext.VIDEO_CAPTURE_RESOLUTION_GRADE_LOW = 0
static

视频采集低分辨率

final int com.meicam.sdk.NvsStreamingContext.VIDEO_CAPTURE_RESOLUTION_GRADE_MEDIUM = 1
static

视频采集中等分辨率

final int com.meicam.sdk.NvsStreamingContext.VIDEO_CAPTURE_RESOLUTION_GRADE_SUPER_HIGH = 3
static

视频采集超高分辨率

final int com.meicam.sdk.NvsStreamingContext.VIDEO_PREVIEW_SIZEMODE_FULLSIZE = 0
static

视频全屏预览模式

final int com.meicam.sdk.NvsStreamingContext.VIDEO_PREVIEW_SIZEMODE_LIVEWINDOW_SIZE = 1
static

视频livewindow大小预览模式

final int com.meicam.sdk.NvsStreamingContext.VIDEO_STABILIZATION_MODE_AUTO = 1
static

视频防抖自动模式

final int com.meicam.sdk.NvsStreamingContext.VIDEO_STABILIZATION_MODE_OFF = 0
static

视频防抖动模式关闭

final int com.meicam.sdk.NvsStreamingContext.VIDEO_STABILIZATION_MODE_STANDARD = 2
static

视频防抖标准模式

final int com.meicam.sdk.NvsStreamingContext.VIDEO_STABILIZATION_MODE_SUPER = 3
static

视频防抖电影模式


该类的文档由以下文件生成: