Android技术分享| Android WebRTC 开启H264软件编解码教程

Android WebRTC 软件编解码基于 openH264 和 FFMpeg,但是编译时默认是不开启的,想要开启需要对代码做一定的增加修改,下面我将所有修改步骤一一列出。

本文基于

webRTC 版本:(https://chromium.googlesource.com/external/webrtc/+/branch-heads/4515)

设备:Mac

虚拟机:Parallels Desktop + Ubuntu 18.4

开始

一:修改 rtc_use_h264 返回值

路径:webrtc/src/webrtc.gni ,打开该文件,修改 rtc_use_h264 属性为 rtc_use_h264 = true

  # rtc_use_h264 =
  # proprietary_codecs && !is_android && !is_ios && !(is_win && !is_clang)
  
  rtc_use_h264 = true
二:修改 ffmpeg 相关编译参数

路径:webrtc/src/third_party/ffmpeg/ffmpeg_generated.gni

这里需要打开很多与 H264 相关的编译开关,务必看清楚,不然编译会报这种错❌

以下是我参考网上各种资料博客整理出来的,只编译armv7、arm64

#:行

198#

if ((is_mac) || (is_win) || (use_linux_config))

修改

if ((is_mac) || (is_win) || (use_linux_config) || (is_android))

252#

if ((is_mac && ffmpeg_branding == "Chrome") || (is_win && ffmpeg_branding == "Chrome") || (use_linux_config && ffmpeg_branding == "Chrome") || (use_linux_config && ffmpeg_branding == "ChromeOS"))

修改

if ((is_mac && ffmpeg_branding == "Chrome") || (is_win && ffmpeg_branding == "Chrome") || (use_linux_config && ffmpeg_branding == "Chrome") || (use_linux_config && ffmpeg_branding == "ChromeOS") || (is_android))

295#

if ((is_mac && current_cpu == "x64") || (is_win && current_cpu == "x64") || (is_win && current_cpu == "x86") || (use_linux_config && current_cpu == "x64") || (use_linux_config && current_cpu == "x86"))

修改

if ((is_mac && current_cpu == "x64") || (is_win && current_cpu == "x64") || (is_win && current_cpu == "x86") || (use_linux_config && current_cpu == "x64") || (use_linux_config && current_cpu == "x86") || (is_android && current_cpu=="x86") || (is_android && current_cpu=="x64"))

376#

if ((is_mac && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_win && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_win && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "x64" && ffmpeg_branding == "Chrome") |
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值