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 文件发送给板子(超级终端上)

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据结构day3

一、思维导图 二、顺序表实现学生管理系统 //头文件 #ifndef TEST_H #define TEST_H #define MAX_SIZE 100//定义学生类型 typedef struct {char name[20]; //姓名int age; //年龄double score; //分数 }datatype;//定义班级类型 typedef struct {datatype student[MAX…

CDGA数据治理:突破卡点堵点,解决确权难、流通交易难问题

随着大数据时代的来临,数据已成为推动社会进步和经济发展的重要力量。然而,数据治理中的卡点堵点问题,特别是确权难、流通交易难,正成为制约数据要素市场健康发展的瓶颈。本文将探讨这些问题,并提出相应的解决方案。 确…

uniapp写登陆|微信小程序登录和微信h5登录使用同一个页面

文章目录 导文微信小程序登录先写一个样式代码实现详细解释: 微信h5登录先写一个样式代码实现1. checkWeChatCode()2. getWeChatCode()页面获取登陆后的code 导文 微信小程序登录怎么实现? 微信h5登录怎么实现? 用uniapp写同一个页面&#xf…

CloudCampus的三种部署模式

CloudCampus的三种部署模式 本地部署 客户购买控制器 自己运营 软件永久license sns ,将软件补丁、软件升级(含升级版本的新特性)、远程支持等打包在一起组成SnS年费 msp自建云部署 msp 购买控制器 msp运营 …

测试数据科学家深度学习基础知识的 45 个问题(以及解决方案)

测试数据科学家深度学习基础知识的 45 个问题(以及解决方案) 一、介绍 早在2009年, 深度学习还只是一个新兴领域。只有少数人认为这是一个富有成效的研究领域。今天,它被用于开发应用程序,这些应用程序在一段时间前被认为是困难或不可能做到的。 语音识别、图像识别、在数…

《云原生安全攻防》-- 容器攻击案例:镜像投毒与Fork炸弹

在本节课程中,我们将介绍两个比较有意思的容器攻击案例,镜像投毒与Fork炸弹。 在这个课程中,我们将学习以下内容: 镜像投毒:构建恶意镜像,诱导用户拉取镜像创建容器。 Fork炸弹:Fork炸弹的攻击…

sql常见50道查询练习题

sql常见50道查询练习题 1. 表创建1.1 表创建1.2 数据插入 2. 简单查询例题(3题)2.1 查询"李"姓老师的数量2.2 查询男生、女生人数2.3 查询名字中含有"风"字的学生信息 3. 日期相关例题(6题)3.1 查询各学生的年龄3.2 查询本周过生日的…

redis的学习(二):常见数据结构及其方法

简介 redis常见的数据结构和他们的常用方法 redis的数据结构 redis是一个key-value的nosql,key一般是字符串,value有很多的类型。 j基本类型: stringhashlistsetsortedSet 特殊类型: GEOBitMapHyperLog key的结构 可以使用…

MacOS M1 安装item2 并配置Zsh

文章目录 1 下载item22 美化item22.1 配置主题2.2 设置黑色的主题:2.3 配置显示状态栏 status bar 3 安装 Oh my zsh3.1 设置主题3.2 设置插件3.3 安装第三方插件1 下载仓库解压2 使用 git clone 一些常用插件以及其作用 参考 1 下载item2 MacOS自带终端&#xff0…

ontap simulator配置过程

一、下载模拟器 参考《Simulate_ONTAP_9-14-1_Installation_and_Setup_Guide.pdf》P4的指导,登录网站进行下载。 二、传入pve,并解压转换 # 解压 tar -xvf vsim-netapp-DOT9.14.1-cm_nodar.ova# 解压后的文件列表,其中ovf文件里定义了虚拟机…

WGS84经纬度坐标 GCJ02火星坐标 BD09百度坐标互相转换

WGS84经纬度坐标 GCJ02火星坐标 BD09百度坐标互相转换 背景:uniapp做的微信小程序,使用到了相机拍照并获取位置坐标信息;在腾讯地图上展示坐标点位置信息; 由于业务需要我们的PC端用的不是腾讯地图,需要使用WGS84坐标或…

《0基础》学习Python——第二十三讲__网络爬虫/<6>爬取哔哩哔哩视频

一、在B站上爬取一段视频(B站视频有音频和视频两个部分) 1、获取URL 注意:很多平台都有反爬取的机制,B站也不例外 首先按下F12找到第一条复制URL 2、UA伪装,下列图片中(注意代码书写格式) 3、Co…

ViT(Vision Transformer)网络结构详解

本文在transformer的基础上对ViT进行讲解,transformer相关部分可以看我另一篇博客(transformer中对于QKV的个人理解-CSDN博客)。 一、网络结构概览 上图展示了Vision Transformer (ViT) 的基本架构,我按照运行顺序分为三个板块进…

Rancher

文章目录 Rancher1. 安装和配置2. 服务部署和管理3. 容器自动化缩容和扩容 Rancher Rancher 是一个开源的企业级容器管理平台,旨在简化容器化应用的部署、管理和运维。它支持多种容器编排引擎,如 Kubernetes、Docker Swarm 等,并提供了统一的…

自动驾驶系统开发与调试:车路云一体化无人驾驶挑战赛参赛体验

点击蓝字 关注我们 在过去的几年里,自动驾驶技术在全球范围内吸引了大量关注。其潜力不仅在于提升行车安全,而且还可以改变我们的出行方式和城市规划,提高交通运输效率。国际汽车工程师学会(SAE)根据不同自动驾驶程度&…

JAVA在线文档

1.存在码 JDK21中文API 2.全栈行动派 JDK17中文API 3.mklab.cn JDK11中文API JDK8中文API JDK7-21英文API 4.docs.oracle.com JDK7-22英文文档

项目笔记| 基于Arduino和IR2101的无刷直流电机控制器

本文介绍如何使用 Arduino UNO 板构建无传感器无刷直流 (BLDC) 电机控制器或简单的 ESC(电子速度控制器)。 无刷直流电机有两种类型:有传感器和无传感器。有感无刷直流电机内置3个霍尔效应传感器,这些传感…

MLIR的TOY教程学习笔记

MLIR TOY Language 文章目录 MLIR TOY Language如何编译该项目ch1: MLIR 前端IR解析ch2: 定义方言和算子 (ODS)1. 定义方言2. 定义OP3. OP相关操作4. 定义OP ODS (Operation Definition Specification)1. 基本定义2. 添加文档3. 验证OP4. 新增构造函数5. 定义打印OP的格式 ch3:…

【机器学习】超参数选择:解锁机器学习模型潜力的关键

🌈个人主页: 鑫宝Code 🔥热门专栏: 闲话杂谈| 炫酷HTML | JavaScript基础 ​💫个人格言: "如无必要,勿增实体" 文章目录 超参数选择:解锁机器学习模型潜力的关键引言什么是超参数&#xff1…

计算机的错误计算(三十八)

摘要 计算机的错误计算(十九)指出:两个等价大数相减,差不是正确值0,而是一个大数。本节用 Python的 torch库中函数进行计算验证,进一步说明错误的一般性。 例1. 在Windows10,Python 3.12.4 下…