Package tvi.webrtc
Class DefaultVideoEncoderFactory
- java.lang.Object
-
- tvi.webrtc.DefaultVideoEncoderFactory
-
- All Implemented Interfaces:
VideoEncoderFactory
public class DefaultVideoEncoderFactory extends java.lang.Object implements VideoEncoderFactory
Helper class that combines HW and SW encoders.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface tvi.webrtc.VideoEncoderFactory
VideoEncoderFactory.VideoEncoderSelector
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringPROP_ENABLE_HARDWARE_ENCODINGGlobally enables or disables support for hardware encoding for all supported video mime types.static java.lang.StringPROP_ENABLE_HARDWARE_H264_ENCODINGEnables or disables support for hardware encoding of H.264 content.static java.lang.StringPROP_ENABLE_HARDWARE_H264_HIGH_PROFILEEnables "High Profile" H.264 support for hardware encoding H.264 content.static java.lang.StringPROP_ENABLE_HARDWARE_H264_HUAWEI_ENCODEREnables support for Huawei's H.264 encoder.static java.lang.StringPROP_ENABLE_HARDWARE_MEDIATEK_ENCODEREnables support for MediaTek's hardware encoders (VP8 & H.264 if avail).static java.lang.StringPROP_ENABLE_HARDWARE_VP8_ENCODINGEnables or disables support for hardware encoding of VP8 content.static java.lang.StringPROP_ENABLE_HARDWARE_VP8_INTEL_ENCODEREnables support for Intel's VP8 hardware encoder.static java.lang.StringPROP_ENABLE_HARDWARE_VP9_ENCODINGEnables or disables support for hardware encoding of VP9 content.
-
Constructor Summary
Constructors Constructor Description DefaultVideoEncoderFactory(EglBase.Context eglContext, boolean enableIntelVp8Encoder, boolean enableH264HighProfile)DefaultVideoEncoderFactory(EglBase.Context eglContext, boolean enableIntelVp8Encoder, boolean enableH264HighProfile, boolean enableH264HuaweiSupport, boolean enableMediTekSupport)Create encoder factory using default hardware encoder factory.DefaultVideoEncoderFactory(EglBase.Context eglContext, java.util.Properties config)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description VideoEncodercreateEncoder(VideoCodecInfo info)Creates an encoder for the given video codec.VideoCodecInfo[]getSupportedCodecs()Enumerates the list of supported video codecs.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface tvi.webrtc.VideoEncoderFactory
getEncoderSelector, getImplementations
-
-
-
-
Field Detail
-
PROP_ENABLE_HARDWARE_ENCODING
public static final java.lang.String PROP_ENABLE_HARDWARE_ENCODING
Globally enables or disables support for hardware encoding for all supported video mime types. If disabled, hardware encoding will be disabled regardless if its subsequently enabled for a particular mimetype.- See Also:
- Constant Field Values
-
PROP_ENABLE_HARDWARE_VP8_ENCODING
public static final java.lang.String PROP_ENABLE_HARDWARE_VP8_ENCODING
Enables or disables support for hardware encoding of VP8 content.- See Also:
- Constant Field Values
-
PROP_ENABLE_HARDWARE_VP9_ENCODING
public static final java.lang.String PROP_ENABLE_HARDWARE_VP9_ENCODING
Enables or disables support for hardware encoding of VP9 content.- See Also:
- Constant Field Values
-
PROP_ENABLE_HARDWARE_H264_ENCODING
public static final java.lang.String PROP_ENABLE_HARDWARE_H264_ENCODING
Enables or disables support for hardware encoding of H.264 content.- See Also:
- Constant Field Values
-
PROP_ENABLE_HARDWARE_H264_HIGH_PROFILE
public static final java.lang.String PROP_ENABLE_HARDWARE_H264_HIGH_PROFILE
Enables "High Profile" H.264 support for hardware encoding H.264 content. Has no effect for software encoding.- See Also:
- Constant Field Values
-
PROP_ENABLE_HARDWARE_VP8_INTEL_ENCODER
public static final java.lang.String PROP_ENABLE_HARDWARE_VP8_INTEL_ENCODER
Enables support for Intel's VP8 hardware encoder.- See Also:
- Constant Field Values
-
PROP_ENABLE_HARDWARE_H264_HUAWEI_ENCODER
public static final java.lang.String PROP_ENABLE_HARDWARE_H264_HUAWEI_ENCODER
Enables support for Huawei's H.264 encoder.- See Also:
- Constant Field Values
-
PROP_ENABLE_HARDWARE_MEDIATEK_ENCODER
public static final java.lang.String PROP_ENABLE_HARDWARE_MEDIATEK_ENCODER
Enables support for MediaTek's hardware encoders (VP8 & H.264 if avail).- See Also:
- Constant Field Values
-
-
Constructor Detail
-
DefaultVideoEncoderFactory
public DefaultVideoEncoderFactory(EglBase.Context eglContext, boolean enableIntelVp8Encoder, boolean enableH264HighProfile)
-
DefaultVideoEncoderFactory
public DefaultVideoEncoderFactory(EglBase.Context eglContext, boolean enableIntelVp8Encoder, boolean enableH264HighProfile, boolean enableH264HuaweiSupport, boolean enableMediTekSupport)
Create encoder factory using default hardware encoder factory.
-
DefaultVideoEncoderFactory
public DefaultVideoEncoderFactory(EglBase.Context eglContext, java.util.Properties config)
-
-
Method Detail
-
createEncoder
@Nullable public VideoEncoder createEncoder(VideoCodecInfo info)
Description copied from interface:VideoEncoderFactoryCreates an encoder for the given video codec.- Specified by:
createEncoderin interfaceVideoEncoderFactory
-
getSupportedCodecs
public VideoCodecInfo[] getSupportedCodecs()
Description copied from interface:VideoEncoderFactoryEnumerates the list of supported video codecs. This method will only be called once and the result will be cached.- Specified by:
getSupportedCodecsin interfaceVideoEncoderFactory
-
-