编译环境

Ubuntu16.04 x86_64

Ffmpeg3.4

ndk-r14b

编译前的准备

ubuntu16.04 64位linux

下载ndkubuntu

下载ffmpegbash

查看ubuntu的版本是32位仍是64位编辑器

uname -a

android-ndk须要和ubuntu版本的位数保持一致ide

安装make工具

apt-get install make

安装vimpost

apt-get install vim

编译步骤

1.建立目录

在ubuntu中/home下建立NDK文件夹,将下载好的android-ndk-r14b和ffmpeg3.4放到NDK文件夹

2.解压

解压android_ndk_r14b

tar -jxvf android-ndk-r14b-linux-x86_64.tar.bz2

解压ffmpeg3.4

tar -jxvf ffmpeg-3.4.tar.bz2

3.编写build_android.sh

在ffmpeg-3.4文件夹中建立build_android.sh文件

编写脚本,脚本以下,支持neon和硬解码

#!/bin/bash

NDK=/home/NDK/android-ndk-r14b

#anroid 5.0

PLATFORM=$NDK/platforms/android-21/arch-arm

#交叉编译工具链

TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64

#CPU架构

CPU=armv7-a

#输出路径

PREFIX=./android/$CPU

function buildFfmpeg

{

./configure \

--prefix=$PREFIX \

--target-os=android \

--cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \

--arch=arm \

--cpu=armv7-a \

--sysroot=$PLATFORM \

--extra-cflags="-I$PLATFORM/usr/include -fPIC -DANDROID -mfpu=neon -mfloat-abi=softfp" \

--cc=$TOOLCHAIN/bin/arm-linux-androideabi-gcc \

--nm=$TOOLCHAIN/bin/arm-linux-androideabi-nm \

--enable-shared \

--enable-runtime-cpudetect \

--enable-gpl \

--enable-small \

--enable-cross-compile \

--enable-asm \

--enable-neon \

--enable-jni \

--enable-mediacodec \

--enable-decoder=h264_mediacodec \

--enable-hwaccel=h264_mediacodec \

--disable-static \

--disable-doc \

--disable-ffmpeg \

--disable-ffplay \

--disable-ffprobe \

--disable-ffserver\

--disable-postproc \

--disable-avdevice \

--disable-symver \

--disable-stripping

make -j16

make install

}

buildFfmpeg

须要将NDK=/mnt/f/ubuntu-workspace/ff/android-ndk-r14b这句替换为你的NDKl路径,如不清楚,能够cd到ndk目录,而后使用pwd命令,便可显示出ndk的路径。

4.编译脚本

chmod +x build_android.sh

./build_android.sh

5.查看头文件和库文件

成功编译完成后会在ffmpeg-3.4/android/文件夹中生成一个armv7-a文件夹,这个文件夹就是咱们所须要的头文件和动态库。

遇到的问题:

由于我是在window中用编辑器建立的build_android.sh,因此遇到了下面这个问题

若是使用./build_android.sh报以下错误

-bash: ./start.sh: /bin/sh^M: bad interpreter: No such file or directory

这是因为在window编辑build_android.sh的编码格式引发的。

可经过以下操做解决:

查看该文件:vim build_android.sh

查看该错误文件的格式(通常报错的文件格式是DOS):

:set ff

修改该文件格式为UNIX:

:set ff=unix

再保存

:wq

android ndk r14b安装,[Cmake-Android音视频]NDK-r14b编译ffmpeg3.4支持neon,硬解码相关推荐

  1. linux编译ffmpeg_[Cmake-Android音视频]ffmpeg3.4编译支持neon,硬解码

    编译环境 Ubuntu16.04 x86_64 Ffmpeg3.4 ndk-r14b 编译前的准备 ubuntu16.04 64位 Index of /releases/16.04.3​release ...

  2. android音视频工程师,音视频学习 (十三) Android 中通过 FFmpeg 命令对音视频编辑处理(已开源)...

    ## 音视频学习 (十三) Android 中通过 FFmpeg 命令对音视频编辑处理(已开源) ## 视音频编辑器 ## 前言 有时候我们想对音视频进行加工处理,比如视频编辑.添加字幕.裁剪等功能处 ...

  3. NDK学习笔记:FFmpeg音视频同步3(你追我赶,升级ffmpeg/libyuv支持neon)

    NDK学习笔记:FFmpeg音视频同步3 本篇内容说多不多,但如果要说得明明白白的,可能就有点难度了.所以我决定把我的调试过程日志都呈现出来,方便大家理解.继上一篇文末,我们学习到了什么是DTS/PT ...

  4. 树莓派编译ffmpeg支持x264硬解码播放视频

    树莓派编译ffmpeg支持h264_mmal硬解码 1,x264源码编译 1.1下载x264源码,解压 1.2添加一个脚本文件config_x264_rpi.sh ,放入1.1解压之后的文件夹中 1. ...

  5. Android 中通过 FFmpeg 命令对音视频编辑处理(已开源)

    视音频编辑器 前言 有时候我们想对音视频进行加工处理,比如视频编辑.添加字幕.裁剪等功能处理,虽然 Github 上开源了一些比较不错的项目,但是如果我们想在此项目上进行二次开发,比如我想拿到该项目的 ...

  6. android视频剪辑处理第三方,Android 中通过 FFmpeg 命令对音视频编辑处理

    以下文章来源于DevYk ,作者DevYK 音视频编辑器 前言 有时候我们想对音视频进行加工处理,比如视频编辑.添加字幕.裁剪等功能处理,虽然 Github 上开源了一些比较不错的项目,但是如果我们想 ...

  7. android mediarecorder 输出到流_音视频的采集、编码、封包成 mp4 输出

    使用 Android Camera API 完成音视频的采集.编码.封包成 mp4 输出 基于android.hardware.Camera,创建一个横屏应用,实时预览摄像头图像,实现录像并输出MP4 ...

  8. android 环信录音,环信音视频插件

    更新记录 1.0.1(2020-12-13) 解决插件和微信小程序不通的问题 Android端增加日志文件输出 1.0.0(2020-11-26) 1.0.0 发布原生的推流 拉流组件 ,配合环信We ...

  9. Android基于腾讯云实时音视频实现类似微信视频通话最小化悬浮

    最近项目中有需要语音.视频通话需求,看到这个像环信.融云等SDK都有具体Demo实现,但咋的领导对腾讯情有独钟啊,IM要用腾讯云IM,不妙的是腾讯云IM并不包含有音视频通话都要自己实现,没办法深入了解 ...

最新文章

  1. 商汤62篇论文入选CVPR 2019,一览五大方向最新研究进展
  2. placeholder如何实现换行
  3. 设计模式--1(设计模式基础,设计模式基本原则,设计模式分类)
  4. linux ipset 流量,linux中ipset命令的使用方法详解
  5. html5健康有机蔬菜果汁店网站模板
  6. java最小子串覆盖_LeetCode 76. 最小覆盖子串
  7. r语言算巢式设计方差分析_R语言入门之效力分析(Power Analysis)
  8. 北斗/GPS模块输出的NMEA 0183语句详解
  9. git用SSH下载代码
  10. js制作简易班级抽签程序
  11. 大数据分析平台洱源县_洱源县专项债可行性研究报告
  12. JAVA操作execl
  13. 最接地气的一套PHP面试题(总结不易,踩坑踩到挂了好多面试)
  14. 第二次计算机水平考试是什么,第二次计算机二级考试试题及答案
  15. 高点击率淘宝宝贝主图怎么做
  16. 什么是搬砖套利赚钱模式?
  17. 最新西门子224/226PLC源码/V8.9西门子PLC源码 C v8.9运行源代码,本人已修改好剩余的bug
  18. 2.PasswordEncoder
  19. 英语语法最终珍藏版笔记- 22反意疑问句
  20. Wireshark嗅探抓包工具

热门文章

  1. 中国软件公司100强排名 1
  2. Android底层隐私数据,100%安卓APP都在获取用户隐私,网络隐私进入深入区
  3. MATLAB中fileparts具体应用实例
  4. android 4.4版miui v5,基于Android 4.4的MIUI V5要来了
  5. MASA Framework 命令查询职责分离
  6. frp服务器,类似花生壳的内网映射软件
  7. linux环境编程 百度云,linux环境下使用百度云网盘
  8. matlab画玫瑰花曲线,网上收到的用matlab画玫瑰花的代码怎么不行啊,报告错误,求大神...
  9. java list遍历添加元素_java 遍历中为对象添加元素
  10. 用python编写五子棋游戏代码