美摄SDK For Android
1.0.0
|
流媒体上下文 更多...
类 | |
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模块 更多... | |
流媒体上下文
流媒体上下文类可视作整个SDK框架的入口。开发过程中,NvsStreamingContext提供了静态sharedInstance接口创建流媒体上下文的唯一实例。 通过这个实例对象,我们可以开启采集设备录制视频,添加采集视频特效,设置拍摄时的各项参数,包括自动聚焦,自动曝光调节, 开关换补光灯等。同时还能够创建时间线,并将时间线与实时预览窗口连接起来,实时预览播放已经拍摄完成的视频。整个视频制作完成后,要销毁流媒体上下文的对象实例。 带特效拍摄时,添加素材资源包(采集特效包,场景资源包等),都得先安装,安装成功后获取packageId才能使用,而内建采集特效(builtin)只需获取特效名称即可使用。
sdk接口中凡是需要传入资源、授权等文件路径时一定是全路径。
|
inline |
|
inline |
追加一个内建视频特效
videoFxName | 视频特效名。获取视频特效名称,请参见getAllBuiltinCaptureVideoFxNames()或内建特效名称列表。 |
|
inline |
追加自定义采集视频特效
customVideoFxRender | 用户实现的自定义视频特效渲染器接口 |
|
inline |
|
inline |
对采集设备应用拍摄场景资源包
captureSceneId | 拍摄场景资源包的ID |
|
inline |
取消正在进行中的自动聚焦
|
inline |
检查使用系统自带的录像机进行录制视频时是否不能调节摄像头的任何参数。
个别的Android手机在使用系统自带的录像机进行录制视频的同时如果对摄像头 的参数进行调节(比如调节曝光补偿,自动聚焦。。。)会导致录制下来的视频 出现问题或者根本无法停止录制。为了避免发生此类问题,美摄SDK内部维护了 一个Android手机黑名单,一旦某台手机在这个黑名单上,那么其录制过程中 调节摄像头的任何参数都不起作用。这个方法用于查询当前设备是否在黑名单上, 如果在的话,使用者可能需要在拍摄界面上进行一些调整,比如将曝光补偿按钮禁用。。。 注意:如果使用者不使用系统自带的录像机进行录制,则该黑名单并不起作用。
|
inline |
清除缓存资源
asynchronous | 设置是否为异步模式 |
|
inlinestatic |
销毁流媒体上下文实例。注意: 销毁之后可以再次创建及获取
|
inlinestatic |
关闭人体检测机制
|
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。请参见生成文件标志 |
|
inline |
|
inline |
连接采集预览和实时预览图像窗口(基于TextureView)
liveWindow | 实时预览图像窗口对象 |
|
inline |
连接采集预览和一个SurfaceTexture对象,采集预览的渲染结果将会输出到这个SurfaceTexture对象上面
outputSurfaceTexture | 渲染结果输出的SurfaceTexture对象 |
|
inline |
连接时间线和实时预览图像窗口
timeline | 时间线对象 |
liveWindow | 实时预览图像窗口对象 |
|
inline |
连接时间线和实时预览图像窗口(基于TextureView)
timeline | 时间线对象 |
liveWindow | 实时预览图像窗口对象 |
|
inline |
连接时间线和一个SurfaceTexture对象,该时间线的渲染结果将会输出到这个SurfaceTexture对象上面
timeline | 时间线对象 |
outputSurfaceTexture | 渲染结果输出的SurfaceTexture对象 |
|
inline |
连接时间线和一个SurfaceTexture对象并设置代理级别,该时间线的渲染结果将会输出到这个SurfaceTexture对象上面
timeline | 时间线对象 |
outputSurfaceTexture | 渲染结果输出的SurfaceTexture对象 |
proxyScale | 代理级别 |
|
inline |
创建时间线
videoEditRes | 视频解析度(指定图像宽高及像素比)。对于视频编辑解析度,在传入对应参数值时,目前要求传入的图像宽度值是4的倍数,高度值是2的倍数。注:如果创建NvsStreamingContext单例对象,支持4k视频编辑,则视频编辑解析度里的imageWidth * imageHeight不能高于3840*2160像素,否则视频编辑解析度里的imageWidth * imageHeight不能高于1920 * 1080像素。 |
videoFps | 视频帧率 |
audioEditRes | 音频解析度(指定采样率、采样格式及声道数)。对于音频编辑解析度,传入的采样率值支持两种:44100与48000。 |
|
inline |
创建视频帧提取对象
videoFilePath | 原始视频文件路径 |
|
inline |
从流媒体上下文中获取引擎当前的渲染速度,只在StartCapturePreview和PlaybackTimeline之后有效
|
inline |
探测视频文件的I帧间距
videoFilePath | 视频文件的路径 |
|
inline |
|
inline |
|
inline |
|
inline |
获取全部内嵌视频转场名称
|
inline |
获取人脸特技上下文
|
inline |
获取资源包管理器
|
inline |
|
inline |
获取音视频文件的详细信息
avFilePath | 音视频文件的路径 |
|
inline |
|
inline |
|
inline |
获取采集设备的能力描述对象
captureDeviceIndex | 采集设备索引 |
|
inline |
|
inline |
获取采集预览视频分辨率
captureDeviceIndex | 采集设备索引 |
|
inline |
|
inline |
获得采集视频特效的数量
|
inline |
获取生成时间线配置
|
inline |
|
inline |
取得当前拍摄场景资源包的ID
|
inline |
获取当前自定义的生成视频高度。
|
inline |
|
inline |
|
inline |
|
inlinestatic |
|
inline |
|
inline |
获取美摄SDK的版本信息
|
inline |
获取流媒体引擎状态
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
获取时间线某一时间戳的图像。详细情况参见视频帧图像提取专题
timeline | 欲获取图像的时间线对象 |
timestamp | 欲获取图像的时间戳(单位微秒)。timestamp取值范围在[0,timeline.duration - 1]。传入其他值无效,grabImageFromTimeline会返回null。 |
proxyScale | 代理缩放比例 |
|
inline |
|
inlinestatic |
检测当前SDK是否含有AR模块
|
inlinestatic |
对流媒体上下文的单例实例进行初始化
ctx | 安卓Context对象 |
sdkLicenseFilePath | 指定SDK license文件的路径 |
flags | 标志字段,如果无特殊需求请填写0。请参见流媒体上下文标志 |
|
inlinestatic |
|
inlinestatic |
对流媒体上下文的单例实例进行初始化
mainActivity | 主安卓Activity对象 |
sdkLicenseFilePath | 指定SDK license文件的路径 |
|
inlinestatic |
初始化人体检测机制
ctx | 安卓Context对象 |
modelFilePath | 人脸模型文件路径 |
licenseFilePath | 授权文件路径 |
features | 人体检测特征标志字段。请参见人体检测特征 |
|
inline |
|
inline |
插入一个内建视频特效
videoFxName | 视频特效名。获取视频特效名称,请参见getAllBuiltinCaptureVideoFxNames()或内建特效名称列表。 |
insertPosition | 插入位置 |
|
inline |
插入自定义采集视频特效
customVideoFxRender | 用户实现的自定义视频特效渲染器接口 |
insertPosition | 插入位置 |
|
inline |
插入一个包裹视频特效
videoFxPackageId | 视频特效包裹ID |
insertPosition | 插入位置 |
|
inline |
是否为后置采集设备
captureDeviceIndex | 采集设备索引 |
|
inline |
|
inline |
|
inline |
|
inline |
检测sdk是否授权
|
inline |
暂停录制采集信号。暂停录制之后再继续录制会录制到同一个媒体文件中。注意:只有不使用系统内置recorder时才能暂停录制!
|
inline |
播放时间线
timeline | 时间线 |
startTime | 开始时间(单位微秒)。startTime取值范围在[0,timeline.duration - 1]。传入其他值无效,playbackTimeline会返回false导致无法开启播放。 |
endTime | 结束时间(单位微秒)。如果endTime值传入是负值,则默认播放到视频末尾。 |
videoSizeMode | 视频预览模式。请参见视频大小预览模式 |
preload | 是否预先加载 |
flags | 预览的特殊标志,如无特殊需要,请填写为0。请参见引擎播放标志 |
|
inline |
播放时间线
timeline | 时间线 |
startTime | 开始时间(单位微秒)。startTime取值范围在[0,timeline.duration - 1]。传入其他值无效,playbackTimeline会返回false导致无法开启播放。 |
endTime | 结束时间(单位微秒)。如果endTime值传入是负值,则默认播放到视频末尾。 |
proxyScale | 代理缩放比例 |
preload | 是否预先加载 |
flags | 预览的特殊标志,如无特殊需要,请填写为0。请参见引擎播放标志 |
|
inline |
获取字体文件的fontFamily
fontFilePath | 字体文件路径 |
|
inline |
移除所有采集视频特效
|
inline |
对移除特定索引值的采集视频特效
captureVideoFxIndex | 视频特效索引 |
|
inline |
|
inline |
|
inline |
移除为视频采集添加的用户水印。
|
inline |
|
inline |
对采集设备的视频帧内容进行采样
sampleRect | 采样的矩形区域,坐标为实时预览窗口的自身坐标系 |
|
inline |
Seeking the frame at a specific timestamp.
timeline | Timeline |
timestamp | Timestamp (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. |
videoSizeMode | Video preview mode. Please refer to video preview sizemode |
flags | Flags for streaming engine seeking. For specific please refer to seeking flags of streaming engine |
|
inline |
|
inline |
输入buffer给采集设备预览
data | 输入buffer的byte array,仅支持NV21的数据 |
streamTime | 输入buffer的时间戳 |
|
inline |
输入buffer给采集预览
data | 输入buffer的byte array,仅支持NV21的数据 |
streamTime | 输入buffer的时间戳 |
flags | 标志 |
|
inline |
设置自动曝光检测区域
exposureRect | 自动曝光检测区域,坐标为实时预览窗口的自身坐标系 |
|
inline |
设置采集设备回调接口
cb | 采集设备回调接口 |
|
inline |
设置获取采集预览图像回调接口
cb | 获取采集预览图像回调接口 |
|
inline |
设置录制时长回调接口
cb | 获取采集预览图像回调接口 |
|
inline |
|
inline |
设置时间线生成文件回调接口
cb | 时间线生成文件回调接口 |
|
inline |
设置时间线生成文件回调接口2
cb | 时间线生成文件回调接口2 |
|
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);
|
inline |
|
inline |
设置自定义的生成视频高度。
在生成时视频时,设置生成视频的码率级别为COMPILE_VIDEO_RESOLUTION_GRADE_CUSTOM 就可以使用自定义的生成视频高度。但是请注意,为了保证视频生成成功,美摄SDK会对高度进行适当的对齐, 因此最终生成的视频高度不一定就是这里设置的高度!
videoHeight | 自定义的生成视频高度 |
|
inline |
|
inline |
设置默认主题末尾的Logo
logoImageFilePath | Logo的路径 |
|
inline |
|
inline |
设置硬件错误回调接口
cb | 硬件错误回调接口 |
|
inline |
设置时间线播放回调接口
cb | 时间线播放回调接口 |
|
inline |
设置时间线播放回调接口
cb | 时间线播放回调接口 |
|
inline |
设置播放延迟回调接口
cb | 播放延迟回调接口 |
|
inline |
设置播放异常回调接口
cb | 播放异常回调接口 |
|
inline |
|
inline |
设置时间线搜索回调接口
cb | 时间线搜索回调接口 |
|
inline |
设置流媒体引擎回调接口
cb | 流媒体引擎回调接口 |
|
inline |
|
inline |
设置时间线时间戳回调接口
cb | 时间线时间戳回调接口 |
|
inlinestatic |
|
inline |
为视频采集添加用户水印
watermarkFilePath | 水印文件的路径,须为PNG或JPG文件 |
displayWidth | 水印在视频预览画面中显示的宽度,为0则使用图片文件的宽度 |
displayHeight | 水印在视频预览画面中显示的高度,为0则使用图片文件的高度 |
opacity | 水印的不透明度, 取值范围 0~1 |
position | 水印的位置,请参见 NvsTimelineWatermarkPosition |
marginX | 水印在X方向的边距 |
marginY | 水印在Y方向的边距 |
|
inline |
|
inline |
|
inline |
|
inline |
启动输入buffer模式的采集设备预览
width | 输入buffer的宽 |
heidht | 输入buffer的高 |
fps | 输入buffer的帧率 |
rotation | 输入buffer的图像旋转角度。请参见输入buffer的图像旋转角度 |
flipHorizontally | 是否需要水平翻转 |
|
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则由系统采集设备来决定横纵比 |
|
inline |
启动连续聚焦
|
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。请参见采集标志 |
|
inline |
启动录制采集设备信号。请参见视频录制方式
outputFilePath | 录制文件的路径。注意: 我们建议输出.mov格式的文件 |
|
inline |
|
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 |
|
inline |
停止引擎
|
inline |
|
inline |
结束录制采集设备信号
|
inline |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
采集设备错误服务器崩溃
|
static |
采集设备错误未知
|
static |
生成音频码率
|
static |
生成视频码率
|
static |
生成视频高码率
|
static |
生成视频低码率
|
static |
生成视频中等码率
|
static |
生成视频GOP SIZE
|
static |
是否生成无损音频
|
static |
是否前置索引表
|
static |
软编码crf预设值
|
static |
软编码crf模式bitrate max预设值
|
static |
软编码模式
|
static |
软编码参数预设值
|
static |
use operating rate
|
static |
指定视频压缩格式,目前支持hevc(h.265)
|
static |
生成视频高度-1080
|
static |
生成视频高度-2160
|
static |
生成视频高度-360(宽度由视频高度以及创建时间线(createTimeline)时指定的视频宽高以及像素比算出)
|
static |
生成视频高度-480
|
static |
生成视频高度-720
|
static |
自定义生成视频高度
|
static |
假脸数据包类型
|
static |
人脸表情
|
static |
人脸点位
|
static |
录制视频码率
|
static |
录制视频GOP SIZE
|
static |
引擎状态切换使用异步方式以便减少主线程的卡顿
|
static |
最小化内存占用
|
static |
禁用硬件解码
|
static |
支持4K视频编辑
|
static |
支持8K编辑(仅图片)
|
static |
解码器中不使用SurfaceTexture的方式进行解码
|
static |
采集伴侣视频帧
|
static |
不采集音频
|
static |
不使用系统自带的recorder进行录制
|
static |
使用脸部动作控制粒子特效
|
static |
获取采集视频的帧内容(打开这个标志会降低性能,只有在必要的时候开启这个标志)
|
static |
降低引擎在采集时内部的流水线尺寸
|
static |
限定预览视频尺寸只能是系统自带的预览视频尺寸
|
static |
禁用硬件编码器
|
static |
不使用inputsurface
|
static |
仅生成只有音频流的文件
|
static |
仅生成只有视频流的文件
|
static |
|
static |
|
static |
|
static |
|
static |
媒体文件错误
|
static |
降低引擎在播放时首帧的播出延迟
|
static |
降低引擎在播放时内部的流水线尺寸
|
static |
不使用硬件编码进行录制
|
static |
不使用inputsurface
|
static |
录制时不根据设备的手持方向对视频做旋转。注意:必须与STREAMING_ENGINE_CAPTURE_FLAG_DONT_USE_SYSTEM_RECORDER配合使用才有效果
|
static |
仅录制视频流到文件中,所有的音频流都不录制
|
static |
进行软件编码纯I-Frame录制时快速停止录制,这可能导致视频帧被丢弃
|
static |
录制仅包含I-Frame的视频文件。注意:必须与STREAMING_ENGINE_CAPTURE_FLAG_DONT_USE_SYSTEM_RECORDER配合使用才有效果
|
static |
整体展示动画贴纸效果
|
static |
整体展示字幕效果
|
static |
数据只应用于采集伴侣视频帧的处理
|
static |
Data only used for handeling video captured's frame content.
|
static |
采集预览
|
static |
拍摄录制
|
static |
生成文件
|
static |
播放
|
static |
定位
|
static |
引擎停止
|
static |
异步停止引擎,避免阻塞主线程
|
static |
强行终止生成,会导致已经生成的文件不完整
|
static |
视频采集高分辨率
|
static |
视频采集低分辨率
|
static |
视频采集中等分辨率
|
static |
视频采集超高分辨率
|
static |
视频全屏预览模式
|
static |
视频livewindow大小预览模式
|
static |
视频防抖自动模式
|
static |
视频防抖动模式关闭
|
static |
视频防抖标准模式
|
static |
视频防抖电影模式