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…...
【WiFi帧结构】
文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成:MAC头部frame bodyFCS,其中MAC是固定格式的,frame body是可变长度。 MAC头部有frame control,duration,address1,address2,addre…...
Java 8 Stream API 入门到实践详解
一、告别 for 循环! 传统痛点: Java 8 之前,集合操作离不开冗长的 for 循环和匿名类。例如,过滤列表中的偶数: List<Integer> list Arrays.asList(1, 2, 3, 4, 5); List<Integer> evens new ArrayList…...
基于当前项目通过npm包形式暴露公共组件
1.package.sjon文件配置 其中xh-flowable就是暴露出去的npm包名 2.创建tpyes文件夹,并新增内容 3.创建package文件夹...
Frozen-Flask :将 Flask 应用“冻结”为静态文件
Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是:将一个 Flask Web 应用生成成纯静态 HTML 文件,从而可以部署到静态网站托管服务上,如 GitHub Pages、Netlify 或任何支持静态文件的网站服务器。 &am…...
VTK如何让部分单位不可见
最近遇到一个需求,需要让一个vtkDataSet中的部分单元不可见,查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行,是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示,主要是最后一个参数,透明度…...
搭建DNS域名解析服务器(正向解析资源文件)
正向解析资源文件 1)准备工作 服务端及客户端都关闭安全软件 [rootlocalhost ~]# systemctl stop firewalld [rootlocalhost ~]# setenforce 0 2)服务端安装软件:bind 1.配置yum源 [rootlocalhost ~]# cat /etc/yum.repos.d/base.repo [Base…...
STM32HAL库USART源代码解析及应用
STM32HAL库USART源代码解析 前言STM32CubeIDE配置串口USART和UART的选择使用模式参数设置GPIO配置DMA配置中断配置硬件流控制使能生成代码解析和使用方法串口初始化__UART_HandleTypeDef结构体浅析HAL库代码实际使用方法使用轮询方式发送使用轮询方式接收使用中断方式发送使用中…...
【MATLAB代码】基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),附源代码|订阅专栏后可直接查看
文章所述的代码实现了基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),针对传感器观测数据中存在的脉冲型异常噪声问题,通过非线性加权机制提升滤波器的抗干扰能力。代码通过对比传统KF与MCC-KF在含异常值场景下的表现,验证了后者在状态估计鲁棒性方面的显著优…...
FFmpeg:Windows系统小白安装及其使用
一、安装 1.访问官网 Download FFmpeg 2.点击版本目录 3.选择版本点击安装 注意这里选择的是【release buids】,注意左上角标题 例如我安装在目录 F:\FFmpeg 4.解压 5.添加环境变量 把你解压后的bin目录(即exe所在文件夹)加入系统变量…...
Python 训练营打卡 Day 47
注意力热力图可视化 在day 46代码的基础上,对比不同卷积层热力图可视化的结果 import torch import torch.nn as nn import torch.optim as optim from torchvision import datasets, transforms from torch.utils.data import DataLoader import matplotlib.pypl…...
