public class MediaInfo
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
protected int |
mBitrate |
protected int |
mGop |
protected VideoQuality |
mVideoQuality |
Constructor and Description |
---|
MediaInfo() |
Modifier and Type | Method and Description |
---|---|
int |
getCrf()
获取视频编码质量因子
|
int |
getEncoderFps() |
int |
getFps()
获取录制采集帧率
|
int |
getGop()
获取Gop大小
|
int |
getVideoBitrate()
视频码率
|
VideoCodecs |
getVideoCodec()
获取编码器类型
|
int |
getVideoHeight()
获取视频高度
|
VideoQuality |
getVideoQuality()
获取视频质量
|
int |
getVideoWidth()
获取视频宽度
|
int |
setCrf(int crf)
设置 crf(编码质量因子)值,默认
|
int |
setEncoderFps(int encoderFps)
设置编码帧率,必须在[,]之间,否则将为无效的值,将使用内置默认值30。
编码帧率只会影响编码的码率,并不能决定实际输出的视频帧率,实际视频帧率受摄像头采集帧率和渲染性能的影响,根据实际情况而定。
|
int |
setFps(int fps)
设置录制采集帧率,必须在[,]之间,否则将为无效的值,将使用默认值 30.
|
int |
setGop(int gop)
设置Gop大小,这里的gop单位是帧数,即两个I帧之间间隔多少帧,而实际上硬编码器内部是以时间为gop单位的,即两个I帧间隔多少秒,因此
实际输出视频的Gop是用该值除以编码帧率计算而出。举例编码帧率设置为25fps,该接口设置125,则实际视频的gop值是5秒,也就是5秒一个I帧。
如果设置的gop小于帧率值,则内部给到编码器的gop为1,如果大于25,则取整计算。
|
int |
setVideoBitrate(int bitrate)
视频码率,有效的码率值必须在[200, 20000]之间,即最小是200Kbps,最大是20Mbps 单位:kbps,如果超过当前分辨率的使用码率值,有的编码器
不会无限增加码率,比如720P的码率值4M应该就足够使用了,可能会出现设置10M码率,输出的视频码率依然只有4M左右,具体根据不同编码器行为而定。
|
void |
setVideoCodec(VideoCodecs videoCodec)
设置编码器类型
|
int |
setVideoHeight(int videoHeight)
设置视频的高
|
void |
setVideoQuality(VideoQuality quality)
设置视频质量,该接口影响的是生成视频的码率
|
int |
setVideoWidth(int videoWidth)
设置视频的宽
|
protected int mGop
protected int mBitrate
protected VideoQuality mVideoQuality
public int getVideoWidth()
public int setVideoWidth(int videoWidth)
videoWidth
- 视频宽度public int getVideoHeight()
public int setVideoHeight(int videoHeight)
videoHeight
- 视频高度public int getFps()
public int setFps(int fps)
fps
- 采集帧率public VideoCodecs getVideoCodec()
public void setVideoCodec(VideoCodecs videoCodec)
videoCodec
- 编码器类型VideoCodecs
public int getCrf()
public int setCrf(int crf)
crf
- 必须在[,]之间, 越界时使用临界值。public int getEncoderFps()
public int setEncoderFps(int encoderFps)
encoderFps
- 编码帧率public VideoQuality getVideoQuality()
v3.27.0 新增
VideoQuality
public void setVideoQuality(VideoQuality quality)
v3.27.0 新增
quality
- 质量等级VideoQuality
public int getGop()
v3.27.0 新增
public int setGop(int gop)
v3.27.0 新增
gop
- 合法的区间[0,9000] 大于等于0,且小于等于9000 0的情况下,在有的手机上可以做到全I帧,而也有一些手机做不到全I帧public int getVideoBitrate()
v3.27.0 新增
public int setVideoBitrate(int bitrate)
bitrate
-