ok113i——交叉编译音视频动态库

提示:buildroot支持ffmpeg和SDL,但博主的ffmpeg是按下面方法编译通过,SDL使用buildroot直接编译也通过;

1. 下载ffmpeg源码

下载链接:https://github.com/FFmpeg/FFmpeg/tags
根据版本需要自行下载压缩包,这里下载的是n4.4.5版本;
解压:tar -xvf FFmpeg-n4.4.5.tar.gz;
解压后得到FFmpeg-n4.4.5目录,进去;

2. 配置交叉编译器环境变量

# 使用export配置临时环境变量
export PATH=$PATH:/home/forlinx/OK113i-linux-sdk/out/t113_i/ok113i/longan/buildroot/host/bin/ 
# echo查看环境变量
echo $PATH

3. 编译输出动态库文件

参考1(测试通过):https://blog.csdn.net/fangye945a/article/details/112882064
# 交叉编译ffmpeg
./configure --cross-prefix=arm-linux-gnueabi- --enable-cross-compile --target-os=linux --cc=arm-linux-gnueabi-gcc --arch=arm --prefix=/home/forlinx/qtProject/FFmpeg-n4.4.5/output --enable-ffmpeg --disable-armv5te --disable-armv6 --disable-armv6t2 --enable-shared --extra-cflags="-fPIC" --extra-cxxflags="-fPIC"
make && make install # 运行完,编译结果就会输出到outpu目录
如果编译失败,则make clean再编译

# 交叉编译ffmpeg, 裁剪
./configure --cross-prefix=aarch64-linux-gnu- --enable-cross-compile --target-os=linux --cc=aarch64-linux-gnu-gcc --arch=arm64 --prefix=/home/disk/fangye/build_amba/ffmpeg_build/FFmpeg-n4.3.1_amba/output --disable-x86asm --enable-parsers --disable-decoders --enable-decoder=h264  --enable-decoder=aac --disable-encoders  --disable-muxers  --enable-muxer=mp4 --disable-demuxers --disable-protocols --enable-protocol=file --disable-filters --disable-bsfs --enable-ffmpeg

参考2:https://blog.csdn.net/yyz_1987/article/details/131076072
# 交叉编译lame,执行命令后没得到输出文件
./configure --host=arm-linux-gnueabihf --prefix=$(pwd)/output cc=arm-fsl-linux-gnueabi-gcc --disable-frontend
make && make install # 运行完,编译结果就会输出到outpu目录

# 交叉编译x264, 执行命令后没得到输出文件
./configure --prefix=build --disable-asm --enable-shared --enable-static --host=arm-linux-gnueabi --cross-prefix=arm-linux-gnueabi-
make && make install # 运行完,编译结果就会输出到outpu目录

# 交叉编译ffmpeg, 包含lame和x264
./configure --prefix=../arm-ffmpegbuild --enable-shared --enable-libmp3lame  --enable-libx264 --enable-gpl --disable-asm --enable-version3 --cross-prefix=arm-fsl-linux-gnueabi-  --target-os=linux --extra-cflags="-I ../lamebuild/include" --extra-ldflags="-L ../lamebuild/lib" --enable-cross-compile   --enable-small --arch=arm --cpu=arm926ej-s --disable-everything --enable-decoder=h264 --enable-parser=h264 --enable-demuxer=rtsp --extra-ldflags="-L/root/test/ffmpeg/x264build/lib" --extra-cflags="-I ../x264build/include"
make && make install # 运行完,编译结果就会输出到outpu目录

编译后报错:WARNING: arm-linux-gnueabi-pkg-config not found, library detection may fail.
直接安装:sudo apt-get install pkg-config-arm-linux-gnueabi
编译后没生成动态库,需要执行:make && make install

4. 验证编译后的ffmpeg

然后将output文件压缩(注意开发板上的tar功能不全,解压缩已知是支持-cvf的压缩包):tar -cvf ffmpeg-output.tar.gz output/
然后在开发板解压缩: tar -xvf ffmpeg-output.tar.gz
验证编译后的程序能不能运行,运行./output/bin/ffmpeg,报错:
./ffmpeg: error while loading shared libraries: libavdevice.so.58: cannot open shared object file: No such file or directory
设置库文件的临时环境变量:
export LD_LIBRARY_PATH=/usr/local/lib/
再次运行./output/bin/ffmpeg,会输出版本信息;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/972682.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SpringAI系列 - ToolCalling篇(二) - 如何设置应用侧工具参数ToolContext(有坑)

目录 一、引言二、集成ToolContext示例步骤1: 在`@Tool`标注的工具方法中集成`ToolConext`参数步骤2:`ChatClient`运行时动态设置`ToolContext`参数三、填坑一、引言 在使用AI大模型的工具调用机制时,工具参数都是由大模型解析用户输入上下文获取的,由大模型提供参数给本地…

​实在智能与宇树科技、云深科技一同获评浙江省“人工智能服务商”、 “数智优品”​等荣誉

近日,浙江省经信厅正式公布《2024 年浙江省人工智能应用场景、应用标杆企业、人工智能服务商及 “数智优品” 名单》。 实在智能获评浙江省“人工智能服务商”,核心产品 “实在 Agent 智能体” 入选 “数智优品”。一同获此殊荣的还有宇树科技、云深处科…

【云安全】云原生-Docker(六)Docker API 未授权访问

Docker API 未授权访问 是一个非常严重的安全漏洞,可能导致严重的安全风险。 什么是 Docker API ? Docker API 是 Docker 容器平台提供的一组 RESTful API,用于与 Docker 守护程序进行通信和管理 Docker 容器。通过 Docker API,…

open-webui安装

docker安装openwebui 拉取镜像 docker pull ghcr.io/open-webui/open-webui:maindocker images启动 docker run -d -p 8346:8080 --name open-webui ghcr.io/open-webui/open-webui:maindocker ps查看端口占用 lsof -i:8346访问地址 http://ip:port http://127.0.0.1:8346

在ubuntu上用Python的openpyxl模块操作Excel的案例

文章目录 安装模块读取Excel数据库取数匹配数据和更新Excel数据 在Ubuntu系统的环境下基本职能借助Python的openpyxl模块实现对Excel数据的操作。 安装模块 本次需要用到的模块需要提前安装(如果没有的话) pip3 install openpyxl pip3 install pymysql在操作前,需…

SOME/IP--协议英文原文讲解8

前言 SOME/IP协议越来越多的用于汽车电子行业中,关于协议详细完全的中文资料却没有,所以我将结合工作经验并对照英文原版协议做一系列的文章。基本分三大块: 1. SOME/IP协议讲解 2. SOME/IP-SD协议讲解 3. python/C举例调试讲解 4.2 Speci…

基于YOLO11深度学习的果园苹果检测与计数系统设计与实现【python源码+Pyqt5界面+数据集+训练代码】

《------往期经典推荐------》 一、AI应用软件开发实战专栏【链接】 项目名称项目名称1.【人脸识别与管理系统开发】2.【车牌识别与自动收费管理系统开发】3.【手势识别系统开发】4.【人脸面部活体检测系统开发】5.【图片风格快速迁移软件开发】6.【人脸表表情识别系统】7.【…

【C++】 Flow of Control

《C程序设计基础教程》——刘厚泉,李政伟,二零一三年九月版,学习笔记 文章目录 1、选择结构1.1、if 语句1.2、嵌套的 if 语句1.3、条件运算符 ?:1.4、switch 语句 2、循环结构2.1、while 语句2.2、do-while 语句2.3、 for 循环2.4、循环嵌套…

mysql 学习15 SQL优化,插入数据优化,主键优化,order by优化,group by 优化,limit 优化,count 优化,update 优化

插入数据优化, insert 优化, 批量插入(一次不超过1000条) 手动提交事务 主键顺序插入 load 从本地一次插入大批量数据, 登陆时 mysql --local-infile -u root -p load data local infile /root/sql1.log into table tb…

玩转大语言模型——使用LM Studio在本地部署deepseek R1的零基础)教程

系列文章目录 玩转大语言模型——使用langchain和Ollama本地部署大语言模型 玩转大语言模型——三分钟教你用langchain提示词工程获得猫娘女友 玩转大语言模型——ollama导入huggingface下载的模型 玩转大语言模型——langchain调用ollama视觉多模态语言模型 玩转大语言模型—…

【复现DeepSeek-R1之Open R1实战】系列7:GRPO原理介绍、训练流程和源码深度解析

目录 4.6 GRPO训练过程4.6.1 GRPO原理4.6.2 设置参考模型4.6.3 从训练集中抽取问题4.6.4 旧策略模型生成G个输出4.6.5 对每个输出用奖励模型 RM 打分4.6.6 根据目标函数做梯度更新 【复现DeepSeek-R1之Open R1实战】系列博文链接: 【复现DeepSeek-R1之Open R1实战】…

STM32物联网终端实战:从传感器到云端的低功耗设计

STM32物联网终端实战:从传感器到云端的低功耗设计 一、项目背景与挑战分析 1.1 物联网终端典型需求 (示意图说明:传感器数据采集 → 本地处理 → 无线传输 → 云端存储) 在工业物联网场景中,终端设备需满足以下核心需…

R 语言科研绘图第 26 期 --- 密度图-基础

在发表科研论文的过程中,科研绘图是必不可少的,一张好看的图形会是文章很大的加分项。 为了便于使用,本系列文章介绍的所有绘图都已收录到了 sciRplot 项目中,获取方式: R 语言科研绘图模板 --- sciRplothttps://mp.…

Starlink卫星动力学系统仿真建模番外篇6-地球敏感器

地球敏感器:介绍、使用方法及相关算法 地球敏感器是航天器姿态控制系统中的重要传感器,用于确定地球相对于航天器的位置和方向。它在卫星、空间站和深空探测器等任务中广泛应用,主要用于姿态控制、轨道调整和导航。本文将介绍地球敏感器的基…

【含文档+PPT+源码】基于微信小程序的猎兔汽车保养维修美容服务平台的设计与实现

项目介绍 本课程演示的是一款基于微信小程序的猎兔汽车保养维修美容服务平台的设计与实现,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的 Java 学习者。 1.包含:项目源码、项目文档、数据库脚本、软件工具等所有资料 2.带你从零开始部…

斐波那契数列模型:在动态规划的丝绸之路上追寻斐波那契的足迹(上)

文章目录 引言递归与动态规划的对比递归解法的初探动态规划的优雅与高效自顶向下的记忆化搜索自底向上的迭代法 性能分析与比较小结 引言 斐波那契数列,这一数列如同一条无形的丝线,穿越千年时光,悄然延续其魅力。其定义简单而优美&#xff…

基于微信小程序的宿舍报修管理系统设计与实现,SpringBoot(15500字)+Vue+毕业论文+指导搭建视频

运行环境 jdkmysqlIntelliJ IDEAmaven3微信开发者工具 项目技术SpringBoothtmlcssjsjqueryvue2uni-app 宿舍报修小程序是一个集中管理宿舍维修请求的在线平台,为学生、维修人员和管理员提供了一个便捷、高效的交互界面。以下是关于这些功能的简单介绍: …

Linux环境开发工具

Linux软件包管理器yum Linux下安装软件方式: 源代码安装rpm安装——Linux安装包yum安装——解决安装源、安装版本、安装依赖的问题 yum对应于Windows系统下的应用商店 使用Linux系统的人:大部分是职业程序员 客户端怎么知道去哪里下载软件&#xff1…

遥感影像目标检测:从CNN(Faster-RCNN)到Transformer(DETR)

我国高分辨率对地观测系统重大专项已全面启动,高空间、高光谱、高时间分辨率和宽地面覆盖于一体的全球天空地一体化立体对地观测网逐步形成,将成为保障国家安全的基础性和战略性资源。未来10年全球每天获取的观测数据将超过10PB,遥感大数据时…

大数据开发治理平台~DataWorks(核心功能汇总)

目录 数据集成 功能概述 使用限制 功能相关补充说明 数据开发 功能概述 数据建模 功能概述 核心技术与架构 数据分析 功能概述 数据治理 数据地图 功能概述 数据质量 功能概述 数据治理资产 功能概述 使用限制 数据服务 功能概述 数据集成 DataWorks的数据…