当前位置: 首页 > 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…...

长期使用 Token Plan 套餐后感受到的月度成本控制效果

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 长期使用 Token Plan 套餐后感受到的月度成本控制效果 对于依赖大模型 API 进行开发的个人或团队而言&#xff0c;成本始终是一个需…...

TDAD时间序列异常检测实战:从算法原理到生产部署

1. 项目概述&#xff1a;从零开始理解TDAD最近在GitHub上看到一个名为“TDAD”的项目&#xff0c;仓库地址是zd8899/TDAD。乍一看这个缩写&#xff0c;很多朋友可能会有点懵&#xff0c;这到底是做什么的&#xff1f;是某个新框架&#xff0c;还是一个数据处理工具&#xff1f;…...

基于MCP协议的AI驱动API测试:原理、架构与工程实践

1. 项目概述&#xff1a;API测试的“瑞士军刀”MCP最近在梳理团队内部的API测试流程时&#xff0c;发现了一个挺有意思的项目&#xff1a;cocaxcode/api-testing-mcp。乍一看这个标题&#xff0c;可能很多朋友会有点懵&#xff0c;这“MCP”是个啥&#xff1f;其实&#xff0c;…...

远程团队绩效管理系统的终极指南:如何打造高效协作的分布式团队

远程团队绩效管理系统的终极指南&#xff1a;如何打造高效协作的分布式团队 【免费下载链接】remote-working 收集整理远程工作相关的资料 项目地址: https://gitcode.com/gh_mirrors/re/remote-working 在数字化转型加速的今天&#xff0c;远程工作已从选择变为必需。G…...

保姆级教程:用Python搞定安居客滑块验证码(附AES加密与轨迹生成源码)

Python实战&#xff1a;破解安居客滑块验证码的完整技术方案 滑块验证码已经成为现代网站反爬机制的重要组成部分。对于开发者而言&#xff0c;理解其工作原理并实现自动化解决方案&#xff0c;不仅能提升爬虫效率&#xff0c;也是技术能力的体现。本文将深入解析安居客滑块验证…...

clipboardy跨平台兼容性解析:支持macOS、Windows、Linux的完整解决方案

clipboardy跨平台兼容性解析&#xff1a;支持macOS、Windows、Linux的完整解决方案 【免费下载链接】clipboardy Access the system clipboard (copy/paste) 项目地址: https://gitcode.com/gh_mirrors/cl/clipboardy clipboardy是一款功能强大的跨平台剪贴板工具&#…...

AI智能体评估框架Agent Vibes:构建标准化基准测试的实践指南

1. 项目概述与核心价值最近在AI智能体开发圈子里&#xff0c;一个名为“Agent Vibes”的项目引起了我的注意。这个项目名听起来就挺有意思&#xff0c;直译过来是“智能体氛围”或者“智能体感觉”&#xff0c;它本质上是一个开源的、用于构建和评估AI智能体&#xff08;Agent&…...

LT8302无光耦隔离反激转换器设计与优化

1. LT8302无光耦隔离反激转换器设计解析在隔离电源设计领域&#xff0c;传统方案通常依赖光耦器件实现反馈回路的电气隔离。这种设计虽然成熟&#xff0c;但存在明显的局限性——光耦的电流传输比&#xff08;CTR&#xff09;会随温度变化和老化而漂移&#xff0c;导致系统稳定…...

PyTorch进阶教程:从模型部署到工程化实战全解析

1. 项目概述与核心价值最近在深度学习社区里&#xff0c;一个名为“TingsongYu/PyTorch-Tutorial-2nd”的项目引起了我的注意。作为一名在算法工程领域摸爬滚打了多年的从业者&#xff0c;我深知对于初学者和希望系统进阶的开发者来说&#xff0c;一份结构清晰、内容扎实、且能…...

EldenRingSaveCopier终极指南:轻松迁移艾尔登法环存档的完整解决方案

EldenRingSaveCopier终极指南&#xff1a;轻松迁移艾尔登法环存档的完整解决方案 【免费下载链接】EldenRingSaveCopier 项目地址: https://gitcode.com/gh_mirrors/el/EldenRingSaveCopier 你是否曾在艾尔登法环中投入数百小时&#xff0c;却因存档损坏或设备更换而面…...