Linux----Mplayer音视频库的移植
想要播放视频音乐就得移植相关库到板子上
Mplayer移植需要依赖以下源文件:(从官网获取或者网上)
1、zlib-1.2.3.tar.gz :通用的内存空间的压缩库。
2、libpng-1.2.57.tar.gz :png格式图片的压缩或解压库
3、Jpegsrc.v9b.tar.gz : jpeg格式图片的压缩或解压库
4、alsa-lib-1.1.0.tar.bz2 :alsa音频库--处理声音的
5、fftw-3.3.4.tar.gz: 傅里叶变换库--算法库
6、MPlayer-1.3.0.tar.gz:Mplayer音视频播放源码
//1、zlib-1.2.3.tar.gz :通用的内存空间的压缩库。
以下三步:(其他5个库也一样)
①configure配置:(在ubuntu上 该解压后的库的目录路径下的终端上运行以下代码)
CC=aarch64-linux-gnu-gcc \
./configure --prefix=/home/edu118/rk3399/rk/xiangmu/install \
--libdir=/home/edu118/rk3399/rk/xiangmu/install/lib \
--includedir=/home/edu118/rk3399/rk/xiangmu/install/include \
--shared
②配置完后再make -j8编译一下
③再make install -j8 运行一下动态文件
//2、libpng-1.2.57.tar.gz :png格式图片的压缩或解压库
./configure --prefix=/home/edu118/rk3399/rk/xiangmu/install \
CC=aarch64-linux-gnu-gcc --host=aarch64-linux-gnu \
--enable-shared --enable-static \
CPPFLAGS=-I/home/edu118/rk3399/rk/xiangmu/install/include \
LDFLAGS=-L/home/edu118/rk3399/rk/xiangmu/install/lib \
LIBS=-lz
//3、libjpeg源码包移植
./configure --prefix=/home/edu118/rk3399/rk/xiangmu/install \
CC=aarch64-linux-gnu-gcc --host=aarch64-linux-gnu \
--enable-shared --enable-static
//4、fftw源码包移植 ---傅里叶变换算法
./configure --prefix=/home/edu118/rk3399/rk/xiangmu/install \
CC=aarch64-linux-gnu-gcc --host=aarch64-linux-gnu \
--enable-shared --enable-static
//5、alsa-lib源码包移植(音频库)
./configure --prefix=/home/edu118/rk3399/rk/xiangmu/install \
CC=aarch64-linux-gnu-gcc --host=aarch64-linux-gnu \
--disable-python
//6、Mplayer源码包移植---开发--需要使用的对应库API函数
./configure --prefix=/home/edu118/rk3399/rk/xiangmu/install \
--cc=aarch64-linux-gnu-gcc --host-cc=gcc \
--target=aarch64-linux-gnu \
--enable-cross-compile --enable-fbdev \
--enable-png --enable-jpeg --enable-alsa --enable-ossaudio \
--disable-x264-lavc --disable-freetype --disable-fontconfig \
--extra-cflags="-I/home/edu118/rk3399/rk/xiangmu/install/include -DHAVE_ARMV8=0" \
--extra-ldflags="-L/home/edu118/rk3399/rk/xiangmu/install/lib/" \
--extra-libs="-lasound -ljpeg -lpng" 2>&1 |tee logfile
//configure配置好了后,make -j8 编译的时候出现了错误,需要修改config.mak文件,删除第33行的 ‘ -s '
Mplayer播放(在超级终端运行)
- mplayer播放器简单启动测试(第一种方法)
- 在开发板串口终端进行播放视频测试
参数说明:
rotate=1 参数表示把屏旋转90度,可根据播放的视频尺寸关系决定是否旋转
-vo fbdev2 表示指定使用framebuffer设备显示---就是LCD设备/dev/fb0(屏幕的节点)
-ao alsa 表示使用 alsa 子系统输出声音
以下是在开发板串口终端执行的启动播放器命令(哪一条都可以),请直接复制粘贴到串口终端上执行:
下面的命令,将目前所遇到的所有情况,全部列举出来。
1)旋转90度,注意,旋转后原来的LCD屏w和h就调换了。
mplayer -vo fbdev2 -ao alsa -vf rotate=1 xm.mpg
转换完之后,x轴会变成y轴
2)放置视频在屏幕的位置---把视频放到屏幕的任意位置
mplayer -vo fbdev2 -ao alsa -geometry 0:0 xm.mpg
3)然后指定 x,y 尺寸播放视频,随意修改尺寸
mplayer -vo fbdev2 -ao alsa -zoom -x 800 -y 1280 xm.mpg
4)等比例比例缩放
mplayer -slave -quiet -vo fbdev2 -ao alsa -vf scale=480:-3 -sws 9 video.mp4
参数:说明等比例比例缩放
-vf scale=480:-3 -sws 9 :变换至480像素宽,高度按比例缩放
mplayer -vo fbdev2 -ao alsa -geometry 0:0 -vf scale=200:-3 -sws 9 qnzl.mp4 |
任意比例播放:
注意:
可以在ubuntu下创两个文件
build文件下:放解压后的库的源码
Install文件下:放配置安装的路径 所以的动态库都放在一起
然后install文件夹下创建 lib include文件 编译生成的头文件放include里
CPPFLAGS=-I/home/huzhiyuan/work/ddd/Mplayer_install/include \
LDFLAGS=-L/home/huzhiyuan/work/ddd/Mplayer_install/lib \
l---链接 z---zlib这个库 LIBS---是Makefile里面的变量
最后将bin lib 文件发送给板子(超级终端上)
相关文章:

Linux----Mplayer音视频库的移植
想要播放视频音乐就得移植相关库到板子上 Mplayer移植需要依赖以下源文件:(从官网获取或者网上) 1、zlib-1.2.3.tar.gz :通用的内存空间的压缩库。 2、libpng-1.2.57.tar.gz :png格式图片的压缩或解压库 3、Jpegsrc.v9b.tar.gz : jpeg格式图片的压…...

STM32测测速---编码电机读取速度的计算
1、首先先了解一下计算的公式 速度计算: 轮胎每转一圈的脉冲数取决于编码器的分辨率,可由下面公式进行计算: PPR是电机的线数 以GA25-370电机为例。 图片来源:第四节:STM32定时器(4.JGA25-370霍尔编码器…...
【已解决】服务器无法联网与更换镜像源
目录 问题描述: 1.修改网卡的 DNS1 和 DNS2 2.修改DNS列表 3.重启网络服务 4.切换镜像源 4.1备份原镜像源 4.2下载阿里云镜像源 4.3替换无法使用的域名 4.4刷新软件包缓存 4.5其他镜像源 5.阿里云镜像源开发者社区说明 6.阿里云DNS网址 7.DNS域名服务器…...
android11 屏蔽usb通过otg转接口外接鼠标设备
硬件平台:QCS6125 软件平台:Android11 需求:Android设备通过接usb转接线连接鼠标功能屏蔽。 考虑到屏蔽的层面可以从两个层面去做,一个是驱动层面不识别,一个就是Android系统层面不识别加载,本篇只讲后者。…...

HAL库源码移植与使用之RTC时钟
实时时钟(Real Time Clock,RTC),本质是一个计数器,计数频率常为秒,专门用来记录时间。 普通定时器无法掉电运行!但RTC可由VBAT备用电源供电,断电不断时 这里讲F1系列的RTC 可以产生三个中断信号ÿ…...

GIT命令学习 一
📑打牌 : da pai ge的个人主页 🌤️个人专栏 : da pai ge的博客专栏 ☁️宝剑锋从磨砺出,梅花香自苦寒来 ☁️运维工程师的职责:监…...
VS+QT 打包可执行文件.exe
切换成release版本,同时更改项目属性中release配置下的各个属性,确保匹配 重新生成解决方案,将生成的.exe复制到一个空白文件夹中 执行: cd D:\QT\5.12.10\msvc2015_64\binwindeployqt C:\Users\DELL\Desktop\serials\MainWind…...
Android笔试面试题AI答之Activity(2)
答案仅供参考,大部分为文心一言AI作答 目录 1. 请介绍一下Activity 生命周期?1. 完全生命周期2. 可见生命周期3. 前台生命周期4. 配置更改5. 特殊场景 2. 请介绍一下横竖屏切换时Activity的生命周期变化?1.默认行为(未设置androi…...
来自Transformers的双向编码器表示(BERT) 通俗解释
来自Transformers的双向编码器表示(BERT) 目录 1. 从上下文无关到上下文敏感2. 从特定于任务到不可知任务3. BERT:把两个最好的结合起来4. BERT的输入表示5. 掩蔽语言模型(Masked Language Modeling)6. 下一句预测&am…...
代码随想录第十六天|贪心算法(2)
目录 LeetCode 134. 加油站 LeetCode 135. 分发糖果 LeetCode 860. 柠檬水找零 LeetCode 406. 根据身高重建队列 LeetCode 452. 用最少数量的箭引爆气球 LeetCode 435. 无重叠区间 LeetCode 763. 划分字母区间 LeetCode 56. 合并区间 LeetCode 738. 单调递增的数字 总…...

花几千上万学习Java,真没必要!(二十二)
1、final关键字: 测试代码1: package finaltest.com;public class FinalBasicDemo {public static void main(String[] args) {// final修饰基本数据类型变量final int number 5;// 尝试修改number的值,这将导致编译错误// number 10; // …...

在RK3568上如何烧录MAC?
这里我们用RKDevInfoWriteTool 1.1.4版本 下载地址:https://pan.baidu.com/s/1Y5uNhkyn7D_CjdT98GrlWA?pwdhm30 提 取 码:hm30 烧录过程: 1. 解压RKDevInfoWriteTool_Setup_V1.4_210527.7z 进入解压目录,双击运行RKDevInfo…...

1.30、基于卷积神经网络的手写数字旋转角度预测(matlab)
1、卷积神经网络的手写数字旋转角度预测原理及流程 基于卷积神经网络的手写数字旋转角度预测是一个常见的计算机视觉问题。在这种情况下,我们可以通过构建一个卷积神经网络(Convolutional Neural Network,CNN)来实现该任务。以下…...
Windows如何使用Python的sphinx
在Windows上使用Python的Sphinx进行文档渲染和呈现,可以遵循以下步骤进行操作: 安装Python:首先,确保你的Windows系统上已经安装了Python。你可以从Python的官方网站下载并安装适合你系统(32位或64位&…...
C++ STL nth_element 用法
一:功能 将一个序列分为两组,前一组元素都小于*nth,后一组元素都大于*nth, 并且确保第 nth 个位置就是排序之后所处的位置。即该位置的元素是该序列中第nth小的数。 二:用法 #include <vector> #include <a…...

【PostgreSQL教程】PostgreSQL 选择数据库
博主介绍:✌全网粉丝20W+,CSDN博客专家、Java领域优质创作者,掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围:SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物联网、机器学习等设计与开发。 感兴趣的可…...
C# —— HashTable
集合collections命名空间,专门进行一系列的数据存储和检索的类,主要包含了:堆栈、和队列、list、ArrayList、数组 HashTable 字典 storeList 排序列表等类 Array 数组 长度固定, 类型固定 通过索引值来进行访问 ArrayList动态数组,…...
LeetCode 第407场周赛个人题解
目录 100372. 使两个整数相等的位更改次数 原题链接 思路分析 AC代码 100335. 字符串元音游戏 原题链接 思路分析 AC代码 100360. 将 1 移动到末尾的最大操作次数 原题链接 思路分析 AC代码 100329. 使数组等于目标数组所需的最少操作次数 原题链接 思路分析 A…...

使用Django框架实现音频上传功能
数据库设计(models.py) class Music(models.Model):""" 音乐 """name models.CharField(verbose_name"音乐名字", max_length32)singer models.CharField(verbose_name"歌手", max_length32)# 本质…...

[路由器]IP-MAC的绑定与取消
背景:当公司的网络不想与外部人员进行共享,可以在路由器页面配置IP-MAC的绑定,让公司内部人员的手机和电脑的mac,才能接入到公司。第一步:在ARP防护中,启动IP-MAC绑定选项,必须启动仅允许IP-MAC…...

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型
摘要 拍照搜题系统采用“三层管道(多模态 OCR → 语义检索 → 答案渲染)、两级检索(倒排 BM25 向量 HNSW)并以大语言模型兜底”的整体框架: 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后,分别用…...

调用支付宝接口响应40004 SYSTEM_ERROR问题排查
在对接支付宝API的时候,遇到了一些问题,记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...
CVPR 2025 MIMO: 支持视觉指代和像素grounding 的医学视觉语言模型
CVPR 2025 | MIMO:支持视觉指代和像素对齐的医学视觉语言模型 论文信息 标题:MIMO: A medical vision language model with visual referring multimodal input and pixel grounding multimodal output作者:Yanyuan Chen, Dexuan Xu, Yu Hu…...

Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例
使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件,常用于在两个集合之间进行数据转移,如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model:绑定右侧列表的值&…...

基于Flask实现的医疗保险欺诈识别监测模型
基于Flask实现的医疗保险欺诈识别监测模型 项目截图 项目简介 社会医疗保险是国家通过立法形式强制实施,由雇主和个人按一定比例缴纳保险费,建立社会医疗保险基金,支付雇员医疗费用的一种医疗保险制度, 它是促进社会文明和进步的…...

前端导出带有合并单元格的列表
// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…...
系统设计 --- MongoDB亿级数据查询优化策略
系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log,共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题,不能使用ELK只能使用…...
Java - Mysql数据类型对应
Mysql数据类型java数据类型备注整型INT/INTEGERint / java.lang.Integer–BIGINTlong/java.lang.Long–––浮点型FLOATfloat/java.lang.FloatDOUBLEdouble/java.lang.Double–DECIMAL/NUMERICjava.math.BigDecimal字符串型CHARjava.lang.String固定长度字符串VARCHARjava.lang…...
Matlab | matlab常用命令总结
常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...
LLM基础1_语言模型如何处理文本
基于GitHub项目:https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken:OpenAI开发的专业"分词器" torch:Facebook开发的强力计算引擎,相当于超级计算器 理解词嵌入:给词语画"…...