首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Android API for WebRTC设置硬件编码器

如何使用Android API for WebRTC设置硬件编码器
EN

Stack Overflow用户
提问于 2019-11-09 08:32:05
回答 1查看 766关注 0票数 0

我使用的是1.0.28513版本,不知道如何/在哪里指定VP8作为硬件加速的视频编解码器。

EN

回答 1

Stack Overflow用户

发布于 2019-11-09 11:37:53

再见,

看看Kotlin中的这个wonderful example

代码语言:javascript
复制
private val peerConnectionFactory: PeerConnectionFactory by lazy {
    //Initialize PeerConnectionFactory globals.
    val initializationOptions = PeerConnectionFactory.InitializationOptions.builder(this)
            .setEnableVideoHwAcceleration(true)
            .createInitializationOptions()
    PeerConnectionFactory.initialize(initializationOptions)

    //Create a new PeerConnectionFactory instance - using Hardware encoder and decoder.
    val options = PeerConnectionFactory.Options()
    val defaultVideoEncoderFactory = DefaultVideoEncoderFactory(
            rootEglBase.eglBaseContext, /* enableIntelVp8Encoder */true, /* enableH264HighProfile */true)
    val defaultVideoDecoderFactory = DefaultVideoDecoderFactory(rootEglBase.eglBaseContext)
    PeerConnectionFactory(options, defaultVideoEncoderFactory, defaultVideoDecoderFactory)
}

并发送到相应的Java class

代码语言:javascript
复制
/** Create encoder factory using default hardware encoder factory. */
public DefaultVideoEncoderFactory(
    EglBase.Context eglContext, boolean enableIntelVp8Encoder, boolean enableH264HighProfile) {
  this.hardwareVideoEncoderFactory =
        new HardwareVideoEncoderFactory(eglContext, enableIntelVp8Encoder, enableH264HighProfile);
}

/** Create encoder factory using explicit hardware encoder factory. */
DefaultVideoEncoderFactory(VideoEncoderFactory hardwareVideoEncoderFactory) {
    this.hardwareVideoEncoderFactory = hardwareVideoEncoderFactory;
}

应该能帮你弄清楚该在哪里行动

希望能有所帮助

祝你今天愉快,

安东尼诺

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58775340

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档