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.rhkb.cn/news/381426.html

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

相关文章

n7.Nginx 第三方模块

Nginx 第三方模块 第三模块是对nginx 的功能扩展,第三方模块需要在编译安装Nginx 的时候使用参数–add-modulePATH指定路径添加,有的模块是由公司的开发人员针对业务需求定制开发的,有的模块是开 源爱好者开发好之后上传到github进行开源的模…

注册安全分析报告:东方航空

前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 暴力破解密码,造成用户信息泄露短信盗刷的安全问题,影响业务及导致用户投诉带来经济损失,尤其是后付费客户,风险巨大,造成亏损无底洞 …

移动硬盘在苹果电脑上使用后在windows中无法读取 Win和Mac的硬盘怎么通用

在日益普及的跨平台工作环境中,苹果电脑与Windows PC之间的数据交换成为日常需求。然而,用户常面临一个困扰:为何苹果电脑的硬盘能在macOS下流畅运行,却在Windows系统中变得“水土不服”?这一问题核心在于硬盘格式的不…

IP转接服务的重要性及其应用

在现今互联网高度发达的时代,IP转接服务的重要性日益凸显。对于家庭和企业而言,它不仅是连接互联网的桥梁,更是确保网络稳定、高效运行的关键。本文将深入探讨IP转接服务的核心意义及其在互联网世界中的应用。 IP转接服务,简而言之…

QT小细节

QT小细节 1 QTextToSpeech1.1 cmake1.2 qmake 2 QChartView QT6 6.7.2 1 QTextToSpeech 从下图可以看到,分别使用qmake或者cmake编译情况下的,QTextToSpeech的使用方法 QTextToSpeech官方链接,也可以直接在QT Creator的帮助中搜索 1.1 cma…

SwiftUI 5.0(iOS 17)滚动视图的滚动目标行为(Target Behavior)解惑和实战

概览 在 SwiftUI 的开发过程中我们常说:“屏幕不够,滚动来凑”。可见滚动视图对于超长内容的呈现有着多么秉轴持钧的重要作用。 这不,从 SwiftUI 5.0(iOS 17)开始苹果又为滚动视图增加了全新的功能。但是官方的示例可…

Linux TFTP服务搭建及使用

1、TFTP 服务器介绍 TFTP ( Trivial File Transfer Protocol )即简单文件传输协议是 TCP/IP 协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。端口号为 69 2、TFTP 文件传输的特点 tftp…

Redis--12--1--分布式锁---java

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 Redis与分布式锁Jedis实现1.RedisConfig2.RedisDistLock3.应用4.加上看门狗逻辑 RedisDistLockWithDog redisson实现1.依赖2.代码 Redis与分布式锁 Jedis实现 1.Re…

【学习笔记】无人机系统(UAS)的连接、识别和跟踪(六)-无人机直接C2通信

目录 引言 5.4 直接C2通信 5.4.1 概述 5.4.2 A2X直接C2通信服务的授权策略 5.4.3 USS使用A2X直接C2通信服务的C2授权程序 5.4.4 直接C2通信建立程序 引言 3GPP TS 23.256 技术规范,主要定义了3GPP系统对无人机(UAV)的连接性、身份识别…

钡铼分布式I/O系统边缘计算Modbus,MQTT,OPC UA耦合器BL206

BL206系列耦合器是一个数据采集和控制系统,基于强大的32 位微处理器设计,采用Linux操作系统,支持Modbus,MQTT,OPC UA协议,可以快速接入现场PLC、DCS、PAS、MES、Ignition和SCADA以及ERP系统,同时…

八股文之java基础

jdk9中对字符串进行了一个什么优化? jdk9之前 字符串的拼接通常都是使用进行拼接 但是的实现我们是基于stringbuilder进行的 这个过程通常比较低效 包含了创建stringbuilder对象 通过append方法去将stringbuilder对象进行拼接 最后使用tostring方法去转换成最终的…

Pycharm 安装与使用

PyCharm的安装与使用 一、什么是PyCharm PyCharm是由JetBrains开发的专业Python集成开发环境(IDE),提供智能代码补全、语法高亮和代码导航等编辑功能。它具有强大的调试工具和内置版本控制系统支持,方便代码管理和协作。PyCharm…

政安晨【零基础玩转各类开源AI项目】基于Ubuntu系统部署Hallo :针对肖像图像动画的分层音频驱动视觉合成

目录 背景介绍 训练与推理 训练 推理 开始部署 1. 把项目源码下载到本地 2. 创建 conda 环境 3. 使用 pip 安装软件包 4. 下载预训练模型 5. 准备推理数据 6. 运行推理 关于训练 为训练准备数据 训练 政安晨的个人主页:政安晨 欢迎 👍点赞…

高职院校人工智能人才培养成果导向系统构建、实施要点与评量方法

一、引言 近年来,人工智能技术在全球范围内迅速发展,对各行各业产生了深远的影响。高职院校作为培养高技能人才的重要基地,肩负着培养人工智能领域专业人才的重任。为了适应社会对人工智能人才的需求,高职院校需要构建一套科学、…

独立游戏《星尘异变》UE5 C++程序开发日志5——实现物流系统

目录 一、进出口清单 二、路径计算 三、包裹 1.包裹的数据结构 2.包裹在场景中的运动 四、道路 1.道路的数据结构 2.道路的建造 3.道路的销毁 4.某个有道路连接的建筑被删除 作为一个工厂类模拟经营游戏,各个工厂之间的运输必不可少,本游戏采用的…

Cisco 路由重发布 —— 实现路由信息在不同路由域间的传递

一、技术背景 在实际的组网中,可能会遇到这样一个场景:在一个网络中同时存在两种或者两种以上的路由协议。例如客户的网络原先是纯 Cisco 的设备,使用 EIGRP 协议将网络的路由打通。但是后来网络扩容,增加了一批华为的设备&#…

主流大数据调度工具DolphinScheduler之数据采集

今天继续给大家分享主流大数据调度工具DolphinScheduler,以及数据的ETL流程。 一:调度工具DS 主流大数据调度工具DolphinScheduler, 其定位:解决数据处理流程中错综复杂的依赖关系 任务支持类型:支持传统的shell任…

人工智能增强的心电图推导的身体质量指数作为未来心脏代谢疾病预测指标| 文献-基于人工智能(AI base)医学影像研究与疾病诊断

Title 题目 Artificial intelligence-enhancedelectrocardiography derived body massindex as a predictor of futurecardiometabolic disease 人工智能增强的心电图推导的身体质量指数作为未来心脏代谢疾病预测指标 01 文献速递介绍 心电图(ECG)可…

ubuntu系统vscode调试c/c++大中型项目

文章目录 1. 插件2. 项目工程3. vsode的配置setting.jsonc_cpp_properties.json 4. 启动调试 前置阅读 vscode调试第一篇 1. 插件 c/c, cmake, cmake tools 2. 项目工程 对于我的项目需要用到很多的三方库,三方库的版本又会有很多,一般都是用cmake编译…

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

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