编译 x264 for iOS

devtools/2024/9/23 2:40:59/

在这里插入图片描述

文章目录


环境 :
macOS 14.3.1
x264 - 20191217-2245


编译

1、下载 x264 源码

http://download.videolan.org/pub/videolan/x264/snapshots/

这里我下载x264-snapshot-20191217-2245.tar.bz2 (截止2024-05-04最新)

解压后,将文件夹命名为 x264 (编译脚本写死这个地址)


2、下载 x264 编译脚本
https://github.com/kewlbear/x264-ios
将脚本和源码 x264 放在同一级目录


3、编译 x264

这里我将脚本中的 ARCHS 选项只保留 arm64 x86_64,然后执行

./build-x264.sh

编译完将生成 x264-iOS 文件夹

% cd /Users/shushu/Downloads/x264/x264-iOS 
% tree
.
├── include
│   ├── x264.h
│   └── x264_config.h
└── lib└── libx264.a

x264_47">在 FFMpeg 启用 x264


修改 ffmpeg 编译脚本
对于 <目前大家都是用这份脚本
https://github.com/kewlbear/FFmpeg-iOS-build-script> 的 ./build-ffmpeg.sh 文件

1、17 行的注释打开

X264=`pwd`/fat-x264

在 脚本同一级目录,新建文件夹命名为 fat-x264,将 x264 编译出来的 x264-iOS 文件夹下的 lib 复制到 fat-x264 下。
x264-iOS保持还不懂,后续会拖放到 iOS 工程中。


2、将 104行的 -fembed-bitcode 去掉

CFLAGS="$CFLAGS -mios-version-min=$DEPLOYMENT_TARGET -fembed-bitcode"

修改为

CFLAGS="$CFLAGS -mios-version-min=$DEPLOYMENT_TARGET"

其他编译选项


./build-x264.sh

./build-x264.sh arm64

  • To build fat library for armv7 and x86_64 (64-bit simulator):
./build-x264.sh armv7 x86_64

  • To build fat library from separately built thin libraries:
./build-x264.sh lipo

  • Library and Header Files are in ./x264-iOS

报错处理

building x86_64...
Found no assembler
Minimum version is nasm-2.13
If you really want to compile without asm, configure with --disable-asm.

CONFIGURE_FLAGS 键添加选项 --disable-asm

不知道这个 未来是否会用上,先这么做


brew upgrade nasm 

伊织 2024-05-04(六)
要上班了,是否焦虑?


http://www.ppmy.cn/devtools/33116.html

相关文章

安卓手机APP开发__媒体开发部分__可兼容的媒体转码

安卓手机APP开发__媒体开发部分__可兼容的媒体转码 目录 概述 什么时候使用转码 配置转码 在代码中声明能力 在一个资源文件中声明能力 使用另一个APP的媒体能力,来打开一个视频文件

论文复现4,Awe:Waypoint-Based Imitation Learning for Robotic Manipulation

复现aloha增加航点预处理,代码根据官方代码链接:https://github.com/lucys0/awe 因为是在远程和local都安装过一次,遇到问题有点频繁,所以安装过程和问题一起写的,应该是挺全了。 git clone https://github.com/lucys0/awe.gitcd aweconda create -n awe python=3.9conda…

快速在windows搭建本地SFTP服务器

目录 下载工具freeSSHd配置freeSSHd启动SFTP服务连接SFTP相关连接&#xff1a;快速在windows搭建本地FTP服务器 下载工具freeSSHd 官网地址&#xff1a;http://www.freesshd.com/?cttdownload&#xff0c;好像已经打不开了&#xff0c;自己搜集了一个资源备用&#xff1a; 链…

英伟达RTX AI PC,1300 TOPS算力的生产力革命

1300 TOPS算力的英伟达RTX AI PC&#xff0c;正掀起一场生产力革命 RTX 4090笔记本电脑GPU领先iGPU近30倍AI性能&#xff0c;RTX AI大算力重新定义AI PC行业标准 今天&#xff0c;AI技术的发展速度超乎所有人的想象&#xff0c;AGI最终到来的时刻似乎每天都在被提前&#xff0…

【C++】STL — List的接口讲解 +详细模拟实现

前言&#xff1a; 本章我们将学习STL中另一个重要的类模板list… list是可以在常数范围内在任意位置进行插入和删除的序列式容器&#xff0c;并且该容器可以前后双向迭代。list的底层是带头双向循环链表结构&#xff0c;双向链表中每个元素存储在互不相关的独立节点中&#xf…

rknn adb shell error: closed

博主的答案&#xff1a; 【Android测试】adb shell回车后出现 error closed的解决办法-CSDN博客 第1种&#xff1a;重启电脑&#xff0c;之后把手机查到电脑上&#xff0c;启动idea 第2种&#xff1a;手机-设置-应用程序-开发-usb调试打开再关闭一次 第3种&#xff1a;重启手…

从 Word 文档中提取所有的有效 JSON 对象(包含跨段落)

文章目录 一、概述二、代码 一、概述 从 word 中提取所有有效 json &#xff08;包含跨段落的 json&#xff09;。 二、代码 """ 从 Word 文档中提取所有的 JSON 对象 """from docx import Document import jsondef extract_json_from_docx(d…

脉冲激活图(PAM)

脉冲激活图&#xff08;Pulse Activation Map&#xff0c;PAM&#xff09;是一种用于解释神经网络决策过程的技术&#xff0c;特别是在处理时间序列数据或脉冲信号时。PAM通过可视化神经网络中特定层的激活情况&#xff0c;帮助理解模型是如何响应不同类型的输入信号的。以下是…