ffmpeg x264 x265 fdk-aac 编译记录

ffmpeg之libx265编译安装方法及一键shell脚本 现在我们来说说libx265的安装,安装Libx265的时候大家需要安装以下依赖 PS:如果您觉得安装过程繁琐,可以使用文章结尾处的shell一键脚本 libx265依赖安装参加文章: CMake-3.12.0组件之libarchive-3.3.2shell一键编译安装方法及脚本 安装好cmake之后,就可以开始安装libx265了 下载x265源码包 wget -O x265_2.8.tar... 阅读详情

ffmpeg 裁剪定制编译过多次了 这里记录下 主题部分

关于ffmpeg自定义编解码器

FFmpeg codec HOWTO - MultimediaWiki

一 环境

ubuntu 18.04

ffmpeg:

v4.2.2 

ndk :android-ndk-r20b-linux-x86_64

fdk-aac 0.1.5

x264: 0.164.x 

1.1  下载编译fdk-aac 

 wget http://jaist.dl.sourceforge.net/project/opencore-amr/fdk-aac/fdk-aac-0.1.5.tar.gz

tar -xvf fdk-aac-0.15.tar.gz

 编写编译文件 

touch build_fdk_aac_clang_android.sh

#!/bin/bash
NDK=$ANDROID_NDK_HOME   # 这里需要替换成你本地的 NDK 路径,其他的不用修改
HOST_TAG=linux-x86_64
TOOLCHAIN=$NDK/toolchains/llvm/prebuilt/$HOST_TAG
ANDROID_LIB_PATH="$(pwd)/android"
echo $ANDROID_LIB_PATH

API=21

function build_android
{
echo "Build fdk-aac for android $CPU"
./configure \
--host=$HOST \
--disable-shared \
--enable-static \
--prefix="$ANDROID_LIB_PATH/$CPU" \
 CPPFLAGS="-fPIC"

make clean
make -j8
make install
echo "Build fdk-aac for android $CPU completed"
}
 
# armeabi-v7a
CPU=armeabi-v7a
HOST=arm-linux-android
export AR=$TOOLCHAIN/bin/arm-linux-androideabi-ar
export AS=$TOOLCHAIN/bin/arm-linux-androideabi-as
export LD=$TOOLCHAIN/bin/arm-linux-androideabi-ld
export RANLIB=$TOOLCHAIN/bin/arm-linux-androideabi-ranlib
export STRIP=$TOOLCHAIN/bin/arm-linux-androideabi-strip
export CC=$TOOLCHAIN/bin/armv7a-linux-androideabi$API-clang
export CXX=$TOOLCHAIN/bin/armv7a-linux-androideabi$API-clang++
build_android

# arm64-v8a
CPU=arm64-v8a
HOST=aarch64-linux-android
export AR=$TOOLCHAIN/bin/aarch64-linux-android-ar
export AS=$TOOLCHAIN/bin/aarch64-linux-android-as
export LD=$TOOLCHAIN/bin/aarch64-linux-android-ld
export RANLIB=$TOOLCHAIN/bin/aarch64-linux-android-ranlib
export STRIP=$TOOLCHAIN/bin/aarch64-linux-android-strip
export CC=$TOOLCHAIN/bin/aarch64-linux-android$API-clang
export CXX=$TOOLCHAIN/bin/aarch64-linux-android$API-clang++
build_android


1.2 x264

wget https://code.videolan.org/videolan/x264/-/archive/master/x264-master.tar.bz2

tar -xvf x264-master.tar.bz2

 编写编译文件 

touch build_x264_clang_android.sh

#!/bin/bash
export NDK=$ANDROID_NDK_HOME # 这里需要替换成你本地的 NDK 路径,其他的不用修改
TOOLCHAIN=$NDK/toolchains/llvm/prebuilt/linux-x86_64
export API=21

function build_android
{
./configure \
    --prefix=$PREFIX \
	 --disable-cli \
    --enable-static \
    --enable-pic \
    --host=$my_host \
	  --cross-prefix=$CROSS_PREFIX \
    --sysroot=$NDK/toolchains/llvm/prebuilt/linux-x86_64/sysroot \

make clean
make -j8
make install
}

#arm64-v8a
PREFIX=$(pwd)/android/arm64-v8a
my_host=aarch64-linux-android
export TARGET=aarch64-linux-android
export CC=$TOOLCHAIN/bin/$TARGET$API-clang
export CXX=$TOOLCHAIN/bin/$TARGET$API-clang++
CROSS_PREFIX=$TOOLCHAIN/bin/aarch64-linux-android-
build_android

#armeabi-v7a
PREFIX=$(pwd)/android/armeabi-v7a
my_host=armv7a-linux-android
export TARGET=armv7a-linux-androideabi
export CC=$TOOLCHAIN/bin/$TARGET$API-clang
export CXX=$TOOLCHAIN/bin/$TARGET$API-clang++
CROSS_PREFIX=$TOOLCHAIN/bin/arm-linux-androideabi-
build_android

1.3 ffmpeg

wget https://ffmpeg.org/releases/ffmpeg-4.2.2.tar.bz2

 或者github

GitHub - FFmpeg/FFmpeg: Mirror of https://git.ffmpeg.org/ffmpeg.git

   脚本

touch build_ffmpeg_aac_x264_android.sh

#!/bin/bash
#你自己的NDK路径.
export NDK=$ANDROID_NDK_HOME
TOOLCHAIN=$NDK/toolchains/llvm/prebuilt/linux-x86_64
 
function build_android
{
 
./configure \
--prefix=$PREFIX \
--enable-neon  \
--enable-nonfree \
--enable-hwaccels  \
--enable-gpl   \
--enable-postproc \
--enable-shared \
--disable-debug \
--enable-small \
--enable-jni \
--enable-mediacodec \
--enable-decoder=h264_mediacodec \
--disable-static \
--disable-doc \
--enable-ffmpeg \
--disable-ffplay \
--disable-ffprobe \
--disable-avdevice \
--disable-doc \
--disable-symver \
--enable-libx264 \
--enable-libfdk-aac \
--enable-encoder=libx264 \
--enable-encoder=libfdk_aac \
--cross-prefix=$CROSS_PREFIX \
--target-os=android \
--arch=$ARCH \
--cpu=$CPU \
--cc=$CC \
--cxx=$CXX \
--enable-cross-compile \
--sysroot=$SYSROOT \
--extra-cflags="-I$X264_INCLUDE -I$FDK_INCLUDE -Os -fpic $OPTIMIZE_CFLAGS" \
--extra-ldflags="-lm -L$FDK_LIB -L$X264_LIB $ADDI_LDFLAGS" 
 
make clean
make
make install
 
echo "编译成功 $CPU"
 
}
 

#armv8-a
ARCH=arm64
CPU=armv8-a
API=21
CC=$TOOLCHAIN/bin/aarch64-linux-android$API-clang
CXX=$TOOLCHAIN/bin/aarch64-linux-android$API-clang++
SYSROOT=$NDK/toolchains/llvm/prebuilt/linux-x86_64/sysroot
CROSS_PREFIX=$TOOLCHAIN/bin/aarch64-linux-android-
PREFIX=$(pwd)/android/$CPU
OPTIMIZE_CFLAGS="-mfloat-abi=softfp -mfpu=vfp -marm -march=$CPU "
 
BASE_PATH=/home/t/third_parts
LIB_TARGET_ABI=arm64-v8a
 
#指定 fdk-aac 的头文件和静态库目录
FDK_INCLUDE=$BASE_PATH/fdk-aac-0.1.5/android/$LIB_TARGET_ABI/include
FDK_LIB=$BASE_PATH/fdk-aac-0.1.5/android/$LIB_TARGET_ABI/lib
 
#指定 x264 的头文件和静态库目录
X264_INCLUDE=$BASE_PATH/x264-master/android/$LIB_TARGET_ABI/include
X264_LIB=$BASE_PATH/x264-master/android/$LIB_TARGET_ABI/lib
 
build_android
 

#armv7-a
ARCH=arm
CPU=armv7-a
API=21
CC=$TOOLCHAIN/bin/armv7a-linux-androideabi$API-clang
CXX=$TOOLCHAIN/bin/armv7a-linux-androideabi$API-clang++
SYSROOT=$NDK/toolchains/llvm/prebuilt/linux-x86_64/sysroot
CROSS_PREFIX=$TOOLCHAIN/bin/arm-linux-androideabi-
PREFIX=$(pwd)/android/$CPU
OPTIMIZE_CFLAGS="-mfloat-abi=softfp -mfpu=vfp -marm -march=$CPU "
 
BASE_PATH=/home/t/third_parts
LIB_TARGET_ABI=armeabi-v7a
FDK_INCLUDE=$BASE_PATH/fdk-aac-0.1.5/android/$LIB_TARGET_ABI/include
FDK_LIB=$BASE_PATH/fdk-aac-0.1.5/android/$LIB_TARGET_ABI/lib
X264_INCLUDE=$BASE_PATH/x264/android/$LIB_TARGET_ABI/include
X264_LIB=$BASE_PATH/x264/android/$LIB_TARGET_ABI/lib
 
build_android
 

可以静态库动态库同时编译 

 关于 pkg-config 

1.4 x265

FFmpeg 集成 x265 编译及解码_ffmpeg x265-优快云博客

ffmpeg 5.0后内部 mediaocodec 已支持硬编 h264

ffmpeg学习笔记2 编译x265(Win10+android-ndk-r22)生成的arm64-v8a动、静态库 ffmpeg学习笔记2 编译x265(Win10+android-ndk-r22)生成的arm64-v8a动、静态库 https://blog.youkuaiyun.com/aggs1990/article/details/124576351 优快云审核可能较慢,如无法下载,可以过段时间再回来看下 仅供相关爱好者交流使用,请于下载24小时内删除 立即下载

相关推荐

别再手动测接口了!用Pytest+Requests+Allure搭建你的第一个自动化框架(附完整源码)

本文详细介绍了如何使用Pytest+Requests+Allure搭建Python接口自动化测试框架,涵盖环境准备、核心组件封装、测试用例设计、报告生成及CI/CD集成等关键步骤。通过实战案例和完整源码,帮助开发者快速构建高效的接口自动化测试解决方案,提升测试效率和质量。

weixin_42546508的博客 321

ffmpeg支持x265编译

将生成的x265库的各种文件,分别放到msys的/usr/local 下的lib,include路径下,将x265.pc文件放到/usr/local/lib/pkgconfig文件路径下,配置msys环境变量为x265.pc文件路径。x265 下载地址 : https://bitbucket.org/multicoreware/x265_git/src/master/cmake下载地址:https://cmake.org/files。//ffmpeg下载地址:https://ffmpeg.org。

Szh8888的博客 781

ThinkBook 16 2024 Ubuntu驱动全攻略:从无线网卡到触控板

本文详细介绍了ThinkBook 16 2024在Ubuntu系统下的驱动问题解决方案,涵盖无线网卡、蓝牙、显卡和触控板等关键硬件的驱动修复步骤。通过具体命令和配置指南,帮助用户快速解决兼容性问题,提升Ubuntu在ThinkBook上的使用体验。

weixin_29200741的博客 829

C++ while(num-- >0)

int num = 1024; while (num-- > 0) { printf("Hello World!\n"); } 以上代码循环打印 Hello World! 1024次,每次num自动减少1,直到为0停止。

宝安小雨 1345

从爱好者到工程师:如何低成本体验RFSoC ZU47DR?性能实测与避坑指南

本文详细介绍了如何低成本体验赛灵思RFSoC ZU47DR芯片,包括二手开发板选购、租赁服务、精简开发环境搭建等实用方案。通过性能实测与避坑指南,帮助爱好者和工程师在有限预算下充分利用这款集成了ARM处理器和FPGA的高性能芯片,降低开发门槛。

weixin_42525005的博客 221

【iceberg数据一致性】iceberg如何保证高并发数据一致性

那么在高并发的时候,同时操作某张表时是如何运作的呢?其实这里iceberg引用了乐观锁的方法。其实在写入数据的时候是有一个验证的操作的,即在准备写入时会检查原文件和带写入文件的差异,如果存在本次写入数据以外的数据,则代表有其他操作已经更新了原文件,那么本次写入会取消,并重试写入的步骤,知道验证完成,写入完成,如此就保证了数据的一致性,并且也解决了HMS锁的问题。在使用iceberg写数据时,一直弄不清楚为什么iceberg写入快,并且能够保证数据的一致性。今天决定搞清楚这个问题,经过查询和理解,写下来。

你的博客 1044

ios 编译ffmpeg 支持 x264 fdk-aac openssl 并裁剪库大小

1.音视频开发需要引入x264 和fdk-aac的 库 参考本篇文章进行 ffmpeg 的ios 环境下的编译 我在编译的过程中,遇到了自己打的fdk-aac编译不过的情况, 最后下载了这篇文章的源码,把他的fdk-aac 抠出来,然后 放在自己的ffmpeg脚本同级目录下,就生成.a通过了。 2.新建一个xcode 项目使用ffmpeg, 参考了这篇文章的最后一张图片进行修改head...

github_35041937的博客 2009

大模型LLM部署方式

建议根据实际需求选择方案,企业级服务优先考虑vLLM或TGI,个人用户可尝试Ollama或Hugging Face本地加载。若需完整代码示例,可参考网页2的VLLM实战或网页5的TGI部署案例。:高并发、低延迟的API服务,需分布式推理支持。:快速创建可分享的Web应用。:个人开发、快速原型验证。

u010249118的博客 516

六、FFmpeg使用---X264的编译

欢迎加入技术交流群 群号: 552340860 上一篇文章五、FFmpeg零基础(2)-FFmpeg的编译讲解了如何去编译FFmpeg,按照我写的步骤是可以编译出我们要的静态库。但是有个问题是,FFmpeg默认是没有把音视频的编码器编译进去的,就是说你用上一遍的文章编译出来的库是不能对视频流文件和PCM采样数据进行编码,要我们手动去编译X264和AAC,然后编译到FFmpeg中,这个时候的静...

weixin_33725239的博客 441

告别手绘!用Aseprite+Unity Tilemap,从AI生成到2D游戏地图的保姆级搭建流程

本文详细介绍了如何利用Aseprite和Unity Tilemap从AI生成素材到搭建2D游戏地图的完整流程。涵盖AI生成素材的预处理、图层管理、动画制作,以及Unity中的Tilemap系统配置和性能优化技巧,帮助开发者高效创建像素风游戏地图。

weixin_29015483的博客 584

Android车载音频系统概览

官网有些部分的内容描述比较简单,对没有app、系统和底层开发经验,容易一眼扫过,没有留意到相关细节。 本节补充车载音频相关细节。

hwj的博客 785

VS2019+msys2编译ffmpeg

最近在学习音视频相关开发技术。第一步是搭建开发环境,通过参考网上查到的资料结合实际情况,最终将ffmpeg编译通过,并支持x264、x265、fdk-aac。在这里将具体的操作过程记录下来,方便以后参考。 ####1、下载VS2019社区版本、下载msys64位版本的可执行文件进行安装。 https://www.msys2.org msys2官网 https://visualstudio.microsoft.com/zh-hans/downloads/ VS2019下载地址 ####2、通过vs2019.

北极星的技术笔记 1089

40、基于指令的GPU编程:OpenACC与OpenMP的深入解析

本文深入解析了两种基于指令的GPU编程模型——OpenACC和OpenMP。从编程复杂度、数据处理方式和性能表现等多个方面对两者进行了对比分析,并结合实际应用场景提供了选择建议。通过详细的代码示例和性能测试结果,帮助开发者更好地理解和应用这两种编程模型,以充分发挥GPU的并行计算能力。

q5r6s7的博客 134

Centos7安装ffmpeg4.4过程

Centos7安装ffmpeg4.4过程实践笔记。

程序员的日常 2465

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

(转载)Windosw下Visual Studio2022编译FFmpeg(支持x264、x265、fdk-acc)

<div id="content_views" class="htmledit_views"> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="https://so.youkuaiyun.com/so/search?q=FFmpeg&amp;spm=100

dongsilang的博客 871

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

linux编译ffmpeg

我使用的是uos,各源代码,在各自官方都很容易找到 安装编译所依赖环境 sudo apt-get install make cmake g++ nasm yasm diffutils pkg-config -y 编译x264 kaviw@kaviw-PC:~/Desktop/tools/x264-master$ ./configure --enable-shared --prefix=/usr/ kaviw@kaviw-PC:~/Desktop/tools/x264-master$ make -j32

ihmhm12345的博客 385

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

ffmpeg安装过程记录

Ubuntu ffmpeg安装

sunmingyang1987的博客 4120

Linux下编译ffmpeg 3.3,包含aac, x264, x265库

参考连接:https://www.cnblogs.com/jimodetiantang/p/9160183.html 一开始,我是直接从2.3节开始的。然后坠入深坑。所以如果有朋友需要编译带 aac x264, x265的话,强烈推荐上面链接。我这里仅记录了错误的过程,和自己是如何跳出坑的过程。 1、libfdk-aac 安装完成。 2、但是编译libvpx 出错: ht-dong@ubuntu:~/ffmpeg/ffmpeg/libvpx$ ./run.sh ./configure: 273:

优快云的博客 941

FFmpeg源码编译出支持音频AAC编码以及H264,H265编码的库

先决条件: 需要安装msys2(是一个在windows中模拟linux操作系统的软件) 由于在linux中编译ffmpeg比较简单, 所以利用一下msys2, 直接去官网下载安装即可 需要安装visual studio 2019 一,配置mys2 使用vs2019+msys2的环境来编译ffmpeg源码 1,打开vs2019命令行工具 想要编译出64位的库就选64位的命令行工具, 这里选用32位的作为示范 2,输入cl命令 确认下存在编译工具 3,打开msys2_shell.cmd文件 : 修

qq_40684669的博客 2851

交叉编译ffmpeg:aac x264 x265

这几天一直在折腾在ubuntu下交叉编译arm平台的ffmpeg,作为一个标准的windows使用者来说,在linux下折腾真是费劲,现在把编译过程记录下,主要是x265的编译太折腾人!  交叉编译环境自行配置。 交叉编译AAC: 1.下载aac源码 wget -O fdk-aac.tar.gz https://github.com/mstorsjo/fdk-aac/tarbal

wanglx2012的专栏 6487

windows环境编译ffmpeg +visual studio 2022

1.坑有点多,主要出现在路劲上。比如export LIB=$LIB";D:\msys64\usr\local\lib" 加入了也没什么用,应该是msys2子系统不能识别D:xxxx 使用/usr/local/lib这种方法就可以。2.在编译三方库时不是很顺利,CC=cl --toolchain=msvc 反正关于msvc编译器的命令,就有问题。

weixin_50873490的博客 1810

CentOS编译FFmpeg过程记录

一、下载FFmpeg源码 度娘一波找一下FFmpeg的官网,看看能不能找到下载源码的地址 看到可以使用git来clone源码,于是在命令行执行 git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg 注:如果大人的系统里没有装git,就先yum install git一下。如果你所在的用户非root用户,则前面最好加上sudo yum instal...

家风的博客 1511

【FFmppeg】windows环境编译ffmpeg +visual studio 2022

坑有点多,主要出现在路劲上。比如加入了也没什么用,应该是msys2子系统不能识别D:xxxx 使用/usr/local/lib这种方法就可以。在编译三方库时不是很顺利,反正关于msvc编译器的命令,就有问题。比如在msys2黑窗口 使用CC=cl 有可能引发声明了但未定义的问题(有cl命令但是就是报cl无法使用),猜测是有命令但是没有识别到命令动态库 建议在windows黑窗口使用 因为windwos肯定能寻到vs命令,就不需要太在意环境问题。

qq_43331089的博客 705

ffmpeg移植到树莓派

ffmpeg移植前言一、准备材料二、编译步骤总结 前言 提示:这里可以添加本文要记录的大概内容: 几年前买了一块树莓派3B+板子,躺在废料堆中好几年,最近在学习ffmpeg相关内容,打算用树莓派实现一个NVR的功能。 一、准备材料 1.ffmpeg源码:ffmpeg-4.3 2.x264源码:x264-master 3.x265源码:x265-2.7 4.fdk-aac源码:fdk-aac2.0.1 二、编译步骤 环境:Ubuntu 16.04 编译工具:arm-linux-gnueabihf- 1.配

duanchuadnong的博客 1111

FFmpeg:下载,安装与编译

致敬雷神 前言 从16年4月份在雷神的博客中开始接触到FFmpeg到现在大约都有三四年的光景了,一直苦于没有合适的机会研究和开发FFmpeg.近来公司想基于FFmpeg做一款属于自己的播放器,所以从网上找资料来进行学习.这里就做一个系列记录一下我的学习记录.这篇博客主要讲讲FFmpeg的下载,安装与编译三个方面的,其实就是环境搭建了.那么我们就开始正题吧. FFmpeg的下载 总共有两种种方式来进行下载FFmpeg分别如下所示.大家酌情选择即可 我们直接使用命令去github上下载即可.如下.

得不到的永远是骚栋. 732

centos编译ffmpeg和opencv

例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考。

duanchuadnong的博客 362
上一篇: ffmpeg configure 参数
下一篇: ubuntu 18.04 install Boost 1.75
江太翁
博客等级 码龄15年 271粉丝 141原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值