public abstract class AbstractLiveSession extends java.lang.Object implements IEncoderListener, ILiveSession
| Modifier and Type | Field and Description |
|---|---|
VideoEncoderGroupFilter |
mEncoderGroupFilter |
VideoLiveFilterContext |
mFilterContext |
GPUPreprocessFilter |
mPreprocessFilter |
| Constructor and Description |
|---|
AbstractLiveSession(android.content.Context context)
默认的开播的VideoLiveSession
|
| Modifier and Type | Method and Description |
|---|---|
void |
adjustEncoderBitrate(int bitRate) |
boolean |
isHardwareEncoderAvailable()
获取是否允许硬编开播
|
void |
onEncodeEncParam(java.lang.String param)
sdk内部编码参数通知.
|
void |
onEncodeFirstFrame()
编码头一帧回调接口.
|
void |
onEncodeFrameData(byte[] data,
int len,
long pts,
long dts,
int frameType,
VideoEncoderType encodeType,
int svcTid,
int svcSid)
编码后一帧视频数据的输出回调函数.
|
void |
onEncodeResolution(int width,
int height)
实际编码的分辨率回调接口, 每3秒钟回调一次.
|
void |
onEncoderSwitch()
切换视频编码器
|
void |
onEncodeStat(int bitRate,
int frameRate)
编码码率,帧率统计数据回调接口, 每3秒钟回调一次.
|
void |
onHardEncoderError()
硬编出错,通知上层禁用硬编
|
void |
onWaterMarkSizeChange(int w,
int h)
切换弱网之后,编码分辨率变更,需要变换水印的坐标和宽高
|
void |
requestIFrame() |
void |
setDynamicTexture(IDynamicTexture dynamicTexture) |
void |
setEncoderConfig(VideoEncoderConfig config)
配置编码器(软编硬编都需要配置)
|
void |
setEncoderListener(IEncoderListener listener) |
void |
setHardwareEncoderAvailable(boolean available)
设置是否允许硬编开播
|
void |
setLowDelayMode(boolean enable) |
void |
setNetworkBitrateSuggest(int bitrate) |
void |
setResolutionModifyConfigs(java.util.List<ResolutionModifyConfig> configs,
int intervalSecs) |
void |
setUserLiveConfig(YYUserLiveConfig userLiveConfig)
不频繁调用,且销毁内存不多,所以每次调用copy一个新的config,以防线程竞争.
|
void |
setWaterMark(WaterMark waterMark) |
void |
startEncoder()
启动编码器
|
void |
stopAndRelease()
停止销毁live session.
|
void |
stopEncoder()
关闭编码器
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitsetWaterMark, takeScreenShotpublic GPUPreprocessFilter mPreprocessFilter
public VideoEncoderGroupFilter mEncoderGroupFilter
public VideoLiveFilterContext mFilterContext
public AbstractLiveSession(android.content.Context context)
public void stopAndRelease()
stopAndRelease in interface ILiveSessionpublic void startEncoder()
startEncoder in interface ILiveSessionpublic void stopEncoder()
ILiveSessionstopEncoder in interface ILiveSessionpublic void setWaterMark(WaterMark waterMark)
public void setDynamicTexture(IDynamicTexture dynamicTexture)
setDynamicTexture in interface ILiveSessionpublic void setNetworkBitrateSuggest(int bitrate)
setNetworkBitrateSuggest in interface ILiveSessionpublic void setResolutionModifyConfigs(java.util.List<ResolutionModifyConfig> configs, int intervalSecs)
setResolutionModifyConfigs in interface ILiveSessionpublic void setEncoderListener(IEncoderListener listener)
setEncoderListener in interface ILiveSessionpublic void setEncoderConfig(VideoEncoderConfig config)
ILiveSessionsetEncoderConfig in interface ILiveSessionpublic void setLowDelayMode(boolean enable)
setLowDelayMode in interface ILiveSessionpublic void requestIFrame()
requestIFrame in interface ILiveSessionpublic void adjustEncoderBitrate(int bitRate)
adjustEncoderBitrate in interface ILiveSessionpublic void onEncodeStat(int bitRate,
int frameRate)
IEncoderListeneronEncodeStat in interface IEncoderListenerbitRate - 实际编码输出的码率.frameRate - 实际编码输出的帧率.public void onEncodeResolution(int width,
int height)
IEncoderListeneronEncodeResolution in interface IEncoderListenerwidth - 实际编码分辨率宽度height - 实际编码分辨率高度.public void onEncodeFirstFrame()
IEncoderListeneronEncodeFirstFrame in interface IEncoderListenerpublic void onEncodeFrameData(byte[] data,
int len,
long pts,
long dts,
int frameType,
VideoEncoderType encodeType,
int svcTid,
int svcSid)
IEncoderListeneronEncodeFrameData in interface IEncoderListenerdata - 编码后的视频数据len - 视频数据的长度pts - 视频数据的pts, 单位是msdts - 视频数据的dts, 单位是msframeType - 视频数据的帧类型,YY系统中的帧类型取值一样.encodeType - 视频数据的编码类型,这里是开播SDK中定义的encodeType,特别提醒这里和yysdk中传输定义的encodeType有不同.public void onEncodeEncParam(java.lang.String param)
IEncoderListeneronEncodeEncParam in interface IEncoderListenerparam - 编码参数,一般用于调试打印在屏幕,或者统计等等.public void onEncoderSwitch()
IEncoderListeneronEncoderSwitch in interface IEncoderListenerpublic void onHardEncoderError()
IEncoderListeneronHardEncoderError in interface IEncoderListenerpublic void onWaterMarkSizeChange(int w,
int h)
IEncoderListeneronWaterMarkSizeChange in interface IEncoderListenerpublic void setUserLiveConfig(YYUserLiveConfig userLiveConfig)
userLiveConfig - public void setHardwareEncoderAvailable(boolean available)
ILiveSessionsetHardwareEncoderAvailable in interface ILiveSessionpublic boolean isHardwareEncoderAvailable()
ILiveSessionisHardwareEncoderAvailable in interface ILiveSession