public interface VideoEncoder
Modifier and Type | Interface and Description |
---|---|
static class |
VideoEncoder.BitrateAllocation
Represents bitrate allocated for an encoder to produce frames.
|
static interface |
VideoEncoder.Callback |
static class |
VideoEncoder.Capabilities
Capabilities (loss notification, etc.) passed to the encoder by WebRTC.
|
static class |
VideoEncoder.CodecSpecificInfo
Codec specific information about the encoded frame.
|
static class |
VideoEncoder.CodecSpecificInfoH264 |
static class |
VideoEncoder.CodecSpecificInfoVP8 |
static class |
VideoEncoder.CodecSpecificInfoVP9 |
static class |
VideoEncoder.EncodeInfo
Additional info for encoding.
|
static class |
VideoEncoder.ResolutionBitrateLimits
Bitrate limits for resolution.
|
static class |
VideoEncoder.ScalingSettings
Settings for WebRTC quality based scaling.
|
static class |
VideoEncoder.Settings
Settings passed to the encoder by WebRTC.
|
Modifier and Type | Method and Description |
---|---|
default long |
createNativeVideoEncoder()
The encoder implementation backing this interface is either 1) a Java
encoder (e.g., an Android platform encoder), or alternatively 2) a native
encoder (e.g., a software encoder or a C++ encoder adapter).
|
VideoCodecStatus |
encode(VideoFrame frame,
VideoEncoder.EncodeInfo info)
Requests the encoder to encode a frame.
|
java.lang.String |
getImplementationName()
Should return a descriptive name for the implementation.
|
default VideoEncoder.ResolutionBitrateLimits[] |
getResolutionBitrateLimits()
Returns the list of bitrate limits.
|
VideoEncoder.ScalingSettings |
getScalingSettings()
Any encoder that wants to use WebRTC provided quality scaler must implement this method.
|
VideoCodecStatus |
initEncode(VideoEncoder.Settings settings,
VideoEncoder.Callback encodeCallback)
Initializes the encoding process.
|
default boolean |
isHardwareEncoder()
Returns true if the encoder is backed by hardware.
|
VideoCodecStatus |
release()
Releases the encoder.
|
VideoCodecStatus |
setRateAllocation(VideoEncoder.BitrateAllocation allocation,
int framerate)
Sets the bitrate allocation and the target framerate for the encoder.
|
default long createNativeVideoEncoder()
default boolean isHardwareEncoder()
VideoCodecStatus initEncode(VideoEncoder.Settings settings, VideoEncoder.Callback encodeCallback)
VideoCodecStatus release()
VideoCodecStatus encode(VideoFrame frame, VideoEncoder.EncodeInfo info)
VideoCodecStatus setRateAllocation(VideoEncoder.BitrateAllocation allocation, int framerate)
VideoEncoder.ScalingSettings getScalingSettings()
default VideoEncoder.ResolutionBitrateLimits[] getResolutionBitrateLimits()
java.lang.String getImplementationName()
6.0.0