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…...
智能在线客服平台:数字化时代企业连接用户的 AI 中枢
随着互联网技术的飞速发展,消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁,不仅优化了客户体验,还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用,并…...
oracle与MySQL数据库之间数据同步的技术要点
Oracle与MySQL数据库之间的数据同步是一个涉及多个技术要点的复杂任务。由于Oracle和MySQL的架构差异,它们的数据同步要求既要保持数据的准确性和一致性,又要处理好性能问题。以下是一些主要的技术要点: 数据结构差异 数据类型差异ÿ…...
Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...
C++ 求圆面积的程序(Program to find area of a circle)
给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...
Maven 概述、安装、配置、仓库、私服详解
目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...
以光量子为例,详解量子获取方式
光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学(silicon photonics)的光波导(optical waveguide)芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中,光既是波又是粒子。光子本…...
人机融合智能 | “人智交互”跨学科新领域
本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...
2025年低延迟业务DDoS防护全攻略:高可用架构与实战方案
一、延迟敏感行业面临的DDoS攻击新挑战 2025年,金融交易、实时竞技游戏、工业物联网等低延迟业务成为DDoS攻击的首要目标。攻击呈现三大特征: AI驱动的自适应攻击:攻击流量模拟真实用户行为,差异率低至0.5%,传统规则引…...
负载均衡器》》LVS、Nginx、HAproxy 区别
虚拟主机 先4,后7...
DAY 45 超大力王爱学Python
来自超大力王的友情提示:在用tensordoard的时候一定一定要用绝对位置,例如:tensorboard --logdir"D:\代码\archive (1)\runs\cifar10_mlp_experiment_2" 不然读取不了数据 知识点回顾: tensorboard的发展历史和原理tens…...
