当前位置: 首页 > news >正文

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播放(在超级终端运行)

  1. mplayer播放器简单启动测试(第一种方法)
  2. 在开发板串口终端进行播放视频测试

参数说明:

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 可以产生三个中断信号&#xff…...

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 用法

一&#xff1a;功能 将一个序列分为两组&#xff0c;前一组元素都小于*nth&#xff0c;后一组元素都大于*nth&#xff0c; 并且确保第 nth 个位置就是排序之后所处的位置。即该位置的元素是该序列中第nth小的数。 二&#xff1a;用法 #include <vector> #include <a…...

【PostgreSQL教程】PostgreSQL 选择数据库

博主介绍:✌全网粉丝20W+,CSDN博客专家、Java领域优质创作者,掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围:SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物联网、机器学习等设计与开发。 感兴趣的可…...

C# —— HashTable

集合collections命名空间&#xff0c;专门进行一系列的数据存储和检索的类&#xff0c;主要包含了:堆栈、和队列、list、ArrayList、数组 HashTable 字典 storeList 排序列表等类 Array 数组 长度固定&#xff0c; 类型固定 通过索引值来进行访问 ArrayList动态数组&#xff0c…...

LeetCode 第407场周赛个人题解

目录 100372. 使两个整数相等的位更改次数 原题链接 思路分析 AC代码 100335. 字符串元音游戏 原题链接 思路分析 AC代码 100360. 将 1 移动到末尾的最大操作次数 原题链接 思路分析 AC代码 100329. 使数组等于目标数组所需的最少操作次数 原题链接 思路分析 A…...

使用Django框架实现音频上传功能

数据库设计&#xff08;models.py&#xff09; class Music(models.Model):""" 音乐 """name models.CharField(verbose_name"音乐名字", max_length32)singer models.CharField(verbose_name"歌手", max_length32)# 本质…...

[路由器]IP-MAC的绑定与取消

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

后进先出(LIFO)详解

LIFO 是 Last In, First Out 的缩写&#xff0c;中文译为后进先出。这是一种数据结构的工作原则&#xff0c;类似于一摞盘子或一叠书本&#xff1a; 最后放进去的元素最先出来 -想象往筒状容器里放盘子&#xff1a; &#xff08;1&#xff09;你放进的最后一个盘子&#xff08…...

3.3.1_1 检错编码(奇偶校验码)

从这节课开始&#xff0c;我们会探讨数据链路层的差错控制功能&#xff0c;差错控制功能的主要目标是要发现并且解决一个帧内部的位错误&#xff0c;我们需要使用特殊的编码技术去发现帧内部的位错误&#xff0c;当我们发现位错误之后&#xff0c;通常来说有两种解决方案。第一…...

在四层代理中还原真实客户端ngx_stream_realip_module

一、模块原理与价值 PROXY Protocol 回溯 第三方负载均衡&#xff08;如 HAProxy、AWS NLB、阿里 SLB&#xff09;发起上游连接时&#xff0c;将真实客户端 IP/Port 写入 PROXY Protocol v1/v2 头。Stream 层接收到头部后&#xff0c;ngx_stream_realip_module 从中提取原始信息…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序

一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...

06 Deep learning神经网络编程基础 激活函数 --吴恩达

深度学习激活函数详解 一、核心作用 引入非线性:使神经网络可学习复杂模式控制输出范围:如Sigmoid将输出限制在(0,1)梯度传递:影响反向传播的稳定性二、常见类型及数学表达 Sigmoid σ ( x ) = 1 1 +...

ArcGIS Pro制作水平横向图例+多级标注

今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作&#xff1a;ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等&#xff08;ArcGIS出图图例8大技巧&#xff09;&#xff0c;那这次我们看看ArcGIS Pro如何更加快捷的操作。…...

3-11单元格区域边界定位(End属性)学习笔记

返回一个Range 对象&#xff0c;只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意&#xff1a;它移动的位置必须是相连的有内容的单元格…...

Web 架构之 CDN 加速原理与落地实践

文章目录 一、思维导图二、正文内容&#xff08;一&#xff09;CDN 基础概念1. 定义2. 组成部分 &#xff08;二&#xff09;CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 &#xff08;三&#xff09;CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 &#xf…...

AI病理诊断七剑下天山,医疗未来触手可及

一、病理诊断困局&#xff1a;刀尖上的医学艺术 1.1 金标准背后的隐痛 病理诊断被誉为"诊断的诊断"&#xff0c;医生需通过显微镜观察组织切片&#xff0c;在细胞迷宫中捕捉癌变信号。某省病理质控报告显示&#xff0c;基层医院误诊率达12%-15%&#xff0c;专家会诊…...

浪潮交换机配置track检测实现高速公路收费网络主备切换NQA

浪潮交换机track配置 项目背景高速网络拓扑网络情况分析通信线路收费网络路由 收费汇聚交换机相应配置收费汇聚track配置 项目背景 在实施省内一条高速公路时遇到的需求&#xff0c;本次涉及的主要是收费汇聚交换机的配置&#xff0c;浪潮网络设备在高速项目很少&#xff0c;通…...