解决(ARM64-ARMV8)嵌入式Linux系统下X264编码提示:libx264 :use cpu capability none!

简介: 解决(ARM64-ARMV8)嵌入式Linux系统下X264编码提示:libx264 :use cpu capability none!

一、开发环境介绍

X264库的版本: x264-snapshot-20181217-2245

开发板:友善之臂 RK3399

RK3399芯片是国内优秀芯片厂商瑞芯微的六核64位芯片。

开发板运行的系统是: FriendlyDesktop ubuntu系统。

image.png

开发板的官网使用介绍链接:http://wiki.friendlyarm.com/wiki/index.php/NanoPC-T4/zh#FriendlyDesktop.E7.B3.BB.E7.BB.9F.E7.9A.84.E4.BD.BF.E7.94.A8


二、编译NASM

下载NASM库:  http://distfiles.macports.org/nasm/

image.png

下载nasm-2.14.02 .tar.bz2 进行解压。


nasm-2.14.02CSDN下载地址:  https://download.csdn.net/download/xiaolong1126626497/12339734



注意: 下面代码是直接在RK3399系统里运行的,不是在PC电脑上,使用的编译器是aarch64-linux-gcc


aarch64位的编译器下载地址: https://download.csdn.net/download/xiaolong1126626497/12203205


编译安装NASM库示例:

wbyq@wbyq:~$ tar xvf nasm-2.14.02 .tar.bz2
wbyq@wbyq:~$ ./configure
wbyq@wbyq:~$ make
wbyq@wbyq:~$ sudo make install

三、编译X264

下载x264库:https://download.csdn.net/download/xiaolong1126626497/12339693

编译x264库:

wbyq@wbyq:~$ ./configure --prefix=$PWD/_install --enable-static --enable-shared
wbyq@wbyq:~$ make && make install

image.png

编码运行时提示:


[libx264 @ 0x7f34004aa0]

using cpu capabilities: ARMv8 NEON

[libx264 @ 0x7f34004aa0] profile High, level 2.2, 4:2:0, 8-bit

[libx264 @ 0x7f34004aa0] 264 - core 157 - H.264/MPEG-4 AVC codec - Copyleft 2003-2018 - http://www.videolan.org/x264.html - options: cabac=1 ref=1 deblock=1:0:0 analyse=0x3:0x3 me=dia subme=1 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=9 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=1 keyint=10 keyint_min=1 scenecut=40 intra_refresh=0 rc=abr mbtree=0 bitrate=400 ratetol=1.0 qcomp=0.60 qpmin=10 qpmax=51 qpstep=4 ip_ratio=1.40 aq=1:1.00


X264库编译好之后,就可以编译FFMPEG库了。


编译好的ffmpeg库下载地址: https://download.csdn.net/download/xiaolong1126626497/12339799

wbyq@wbyq:~/work/rk3399/ffmpeg-4.2.2$ make clean
wbyq@wbyq:~/work/rk3399/ffmpeg-4.2.2$ ./configure --enable-shared --enable-static --prefix=$PWD/_install --enable-gpl --enable-ffmpeg --enable-libx264 --extra-cflags=-I/home/wbyq/work/rk3399/x264-snapshot-20181217-2245/_install/include --extra-ldflags=-L/home/wbyq/work/rk3399/x264-snapshot-20181217-2245/_install/lib
wbyq@wbyq:~/work/rk3399/ffmpeg-4.2.2$ make && make install

image.png

目录
相关文章
|
3月前
|
Ubuntu Linux Anolis
Linux系统禁用swap
本文介绍了在新版本Linux系统(如Ubuntu 20.04+、CentOS Stream、openEuler等)中禁用swap的两种方法。传统通过注释/etc/fstab中swap行的方式已失效,现需使用systemd管理swap.target服务或在/etc/fstab中添加noauto参数实现禁用。方法1通过屏蔽swap.target适用于新版系统,方法2通过修改fstab挂载选项更通用,兼容所有系统。
257 3
Linux系统禁用swap
|
3月前
|
Linux
Linux系统修改网卡名为eth0、eth1
在Linux系统中,可通过修改GRUB配置和创建Udev规则或使用systemd链接文件,将网卡名改为`eth0`、`eth1`等传统命名方式,适用于多种发行版并支持多网卡配置。
376 3
|
Ubuntu Linux 网络安全
Linux系统初始化脚本
一款支持Rocky、CentOS、Ubuntu、Debian、openEuler等主流Linux发行版的系统初始化Shell脚本,涵盖网络配置、主机名设置、镜像源更换、安全加固等多项功能,适配单/双网卡环境,支持UEFI引导,提供多版本下载与持续更新。
343 0
Linux系统初始化脚本
|
3月前
|
安全 Linux Shell
Linux系统提权方式全面总结:从基础到高级攻防技术
本文全面总结Linux系统提权技术,涵盖权限体系、配置错误、漏洞利用、密码攻击等方法,帮助安全研究人员掌握攻防技术,提升系统防护能力。
319 1
|
3月前
|
监控 安全 Linux
Linux系统提权之计划任务(Cron Jobs)提权
在Linux系统中,计划任务(Cron Jobs)常用于定时执行脚本或命令。若配置不当,攻击者可利用其提权至root权限。常见漏洞包括可写的Cron脚本、目录、通配符注入及PATH变量劫持。攻击者通过修改脚本、创建恶意任务或注入命令实现提权。系统管理员应遵循最小权限原则、使用绝对路径、避免通配符、设置安全PATH并定期审计,以防范此类攻击。
1034 1
|
网络协议 Linux 网络安全
Linux的capability深入分析
http://www.cnblogs.com/iamfy/archive/2012/09/20/2694977.
2804 0
|
3月前
|
Linux 应用服务中间件 Shell
二、Linux文本处理与文件操作核心命令
熟悉了Linux的基本“行走”后,就该拿起真正的“工具”干活了。用grep这个“放大镜”在文件里搜索内容,用find这个“探测器”在系统中寻找文件,再用tar把东西打包带走。最关键的是要学会使用管道符|,它像一条流水线,能把这些命令串联起来,让简单工具组合出强大的功能,比如 ps -ef | grep 'nginx' 就能快速找出nginx进程。
二、Linux文本处理与文件操作核心命令
|
3月前
|
Linux
linux命令—stat
`stat` 是 Linux 系统中用于查看文件或文件系统详细状态信息的命令。相比 `ls -l`,它提供更全面的信息,包括文件大小、权限、所有者、时间戳(最后访问、修改、状态变更时间)、inode 号、设备信息等。其常用选项包括 `-f` 查看文件系统状态、`-t` 以简洁格式输出、`-L` 跟踪符号链接,以及 `-c` 或 `--format` 自定义输出格式。通过这些选项,用户可以灵活获取所需信息,适用于系统调试、权限检查、磁盘管理等场景。
312 137
|
3月前
|
安全 Ubuntu Unix
一、初识 Linux 与基本命令
玩转Linux命令行,就像探索一座新城市。首先要熟悉它的“地图”,也就是/根目录下/etc(放配置)、/home(住家)这些核心区域。然后掌握几个“生存口令”:用ls看周围,cd去别处,mkdir建新房,cp/mv搬东西,再用cat或tail看文件内容。最后,别忘了随时按Tab键,它能帮你自动补全命令和路径,是提高效率的第一神器。
713 57
|
2月前
|
存储 安全 Linux
Linux卡在emergency mode怎么办?xfs_repair 命令轻松解决
Linux虚拟机遇紧急模式?别慌!多因磁盘挂载失败。本文教你通过日志定位问题,用`xfs_repair`等工具修复文件系统,三步快速恢复。掌握查日志、修磁盘、验重启,轻松应对紧急模式,保障系统稳定运行。
474 2