imx6ull移植mplayer

2023-11-09

linux开发板播放许嵩的温泉


本文在imx6ul上移植mplayer
软件包: https://download.csdn.net/download/qq_32605451/12510469
文件包含mplayer,zlib,alsa-lib和alsa-utils的源码

mplayer还需要alsa-lib和alsa-utils这两个东西,否则没有声音,移植方法见https://blog.csdn.net/qq_32605451/article/details/106636028

首先获取mplayer(当前最新为1.4)和zlib(当前最新版本为 1.2.11),在ubuntu新建mplayer文件夹,将下载到的zlib和mplayer复制到该目录并解压,在mplayer文件夹下新建arm-zlib和arm-Mplayer文件夹用来保存编译结果,最终文件夹内容如下图所示
在这里插入图片描述
1、编译zlib
进入zlib-1.2.11文件夹,输入

CC=arm-linux-gnueabihf-gcc LD=arm-linux-gnueabihf-ld AD=arm-linux-gnueabihf-as ./configure --prefix=/home/han/linux/tool/mplayer/arm-zlib

回车
其中/home/han/linux/tool/mplayer/arm-zlib表示上述步骤中新建的arm-zlib文件夹的路径在这里插入图片描述
依次输入

make
make install

进行编译,编译完成后,打开arm-zlib文件夹如下图所示
在这里插入图片描述
lib 目录下的 zlib 库文件拷贝到开发板根文件系统的/lib 目录下,命令为:

sudo cp lib/* /home/han/linux/nfs/buildrootfs_qt/lib -raf

/home/han/linux/nfs/buildrootfs_qt/lib为开发板根文件系统的/lib的路径,笔者使用的是网络挂载文件系统,故路径为此,也可使用开发板挂载ubuntu来讲文件复制到开发板文件系统的lib目录下。
2、移植mplayer
进入MPlayer-1.4目录,打开终端,输入以下内容:

./configure --cc=arm-linux-gnueabihf-gcc --host-cc=gcc --target=arm-linux-gnueabihf --disable-ossaudio --enable-alsa --prefix=/home/han/linux/tool/mplayer/arm-Mplayer --extra-cflags=" -I /home/han/linux/tool/mplayer/arm-zlib/include -I /home/han/linux/tool/alsa/arm-alsalib/include" --extra-ldflags="-L /home/han/linux/tool/mplayer/arm-zlib/lib -Iz -L /home/han/linux/tool/alsa/arm-alsalib/lib -lasound" --enable-fbdev --disable-mencoder
make //编译

–prefix表示安装目录

--prefix=/home/han/linux/tool/mplayer/arm-Mplayer 为编译结果保存的路径即上述中新建的文件夹

–extra-cflags 指定 zlib 和 alsa-lib 的头文件路径, --extra-ldflags 指定 zlib 和 alsa-lib 的库文件路径。

extra-cflags="-I /home/han/linux/tool/mplayer/arm-zlib/include -I /home/han/linux/tool/alsa/arm-alsalib/include"

其中/home/han/linux/tool/mplayer/arm-zlib/include为zlib编译结果保存的路径
/home/han/linux/tool/alsa/arm-alsalib/include为alsa-lib编译结果保存的路径alsa移植方法上文有提

--extra-ldflags="-L /home/han/linux/tool/mplayer/arm-zlib/lib -Iz -L /home/han/linux/tool/alsa/arm-alsalib/lib -lasound"
路径含义同上

编译完成后,编译完成以后打开 config.mak 文件,找到“INSTALLSTRIP = -s”这一行,取消掉后面的“-s”,否则“make install”命令会失败!
如下图所示
在这里插入图片描述
更改完成后输入make install安装Mplayer到上述配置的arm-Mplayer文件夹中。
在这里插入图片描述
打开arm-Mplayer文件夹,结果如图所示
在这里插入图片描述
bin 目录下有一个叫做“mplayer”的可执行文件,这就是我们需要的 mplayer
播放器!
在这里插入图片描述
将其拷贝到开发板根文件系统的/bin 目录下,命令为

sudo cp mplayer /home/han/linux/nfs/buildrootfs_qt/bin/ -f

打开开发板终端
输入mplayer -h测试是否移植完成,
找一个视频文件,用格式工厂将视频转换为800*480,10帧的文件复制到开发板文件系统,
输入mplayer 文件名,查看视频是否正常播出

mplayer -loop 0 wenquan.mp4 < /dev/null > /dev/null 2>1 &

后台播放wenquan.mp4
符号 < 为重定向符,< /dev/null > /dev/null 2>1 表示将输入输出信息、错误信息都重定向到/dev/null文件,/dev/null文件不管传入什么数据都会被丢弃。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

imx6ull移植mplayer 的相关文章

  • Linux、ARM:为什么仅当启动时存在 I2C GPIO 扩展器时才创建 gpiochip

    在 imx6sx 硬件平台 NXP 嵌入式 ARM 上使用 Linux 3 14 52 问题是设备树中指定的 PCF8575 I2C GPIO 扩展器不会实例化为 sys class gpio 结构中的设备 除非它们在内核启动期间存在 这些
  • 如何在 Linux 主机上的 docker 容器中挂载目录 [重复]

    这个问题在这里已经有答案了 我想将一个目录从 docker 容器挂载到本地文件系统 该目录是网站根目录 我需要能够使用任何编辑器在本地计算机上编辑它 我知道我可以跑docker run v local path container path
  • 无法仅在控制台中启动 androidstudio

    你好 我的问题是下一个 我下载了Android Studio如果我去 路径 android studio bin 我执行studio sh 我收到以下错误 No JDK found Please validate either STUDIO
  • Scrapy FakeUserAgentError:获取浏览器时发生错误

    我使用 Scrapy FakeUserAgent 并在我的 Linux 服务器上不断收到此错误 Traceback most recent call last File usr local lib64 python2 7 site pack
  • 如何查明 Ubuntu 上安装了哪个版本的 GTK+?

    我需要确定 Ubuntu 上安装了哪个版本的 GTK 男人似乎不帮忙 这个建议 https stackoverflow com a 126145 会告诉您安装了哪个 2 0 的次要版本 不同的主要版本将具有不同的包名称 因为它们可以在系统上
  • touch命令在一个目录下创建多个文件(不同名称)

    我想制作一个在 bash 中创建目录和文件结构的脚本 我尝试过这样的事情 mkdir p 1 2 touch 1 2 a b c a b c 应该是在一个命令或其他命令中创建的文件 但由于某种原因 结构是这样的 current folder
  • numpy 未定义符号:PyFPE_jbuf

    我正在尝试使用一百万首歌曲数据集 为此我必须安装 python 表 numpy cython hdf5 numexpr 等 昨天我设法安装了我需要的所有内容 在使用 hdf5 遇到一些麻烦之后 我下载了预编译的二进制包并将它们保存在我的 b
  • gethostbyname() 或 getnameinfo() 如何在后台工作?

    How gethostbyname or getnameinfo 在后台工作 include
  • 如何让 clangd 转向 c++20

    当没有其他信息时 如何让 clangd 回退到 c 20 例如 在第一次构建之前 cmake 可以生成一个 这是在带有最新 LLVM 的 Arch Linux 上 这是通过 Emacs LSP 运行的 但这应该没有什么区别 你可以加 Com
  • 为什么在 Linux 上字符串文字的内存地址与其他字符串文字的内存地址如此不同?

    我注意到字符串文字在内存中的地址与其他常量和变量 Linux 操作系统 非常不同 它们有许多前导零 未打印 Example const char h Hi int i 1 printf p n void h printf p n void
  • 在Linux中断上下文中运行用户线程

    我正在编写一些定制的应用程序 并允许更改 Linux 内核中的中断处理程序代码 我有一个用户线程正在等待中断发生 如果发生中断 那么我要做的第一件事就是执行该用户线程 有什么办法让它发挥作用吗 Thanks 创建一个字符设备 这就是内核所做
  • 在 Ubuntu 16.04 上找不到 printf.c

    我最近切换到Ubuntu 16 04 我在用vscode作为 Ubuntu 上的 IDE 我配置了其他语言 但我无法做到这一点C C 我创建c cpp properties json launch json tasks json 当我开始编
  • Linux shell 脚本:十六进制数字到二进制字符串

    我正在 shell 脚本中寻找一些简单的方法来将十六进制数字转换为 0 和 1 字符的序列 Example 5F gt 01011111 是否有任何命令或简单的方法来完成它 或者我应该为其编写一些开关 echo ibase 16 obase
  • 适用于 KDE 和 Gnome 的 Gui [重复]

    这个问题在这里已经有答案了 我想为一个现在是 CLI 的应用程序编写一个 gui 它需要在 KDE 和 Gnome DE 中 看起来不错 充分利用用户的外观设置 如果我选择 Qt 或 GTK 我能够做到这一点吗 它们与两个 DE 集成良好吗
  • 设置 Apache POI 的路径

    我想创建 Excel 文件并使用 java 程序在该文件中写入数据 That is here http www techbrainwave com p 554我在 java 文件所在的位置提取了 Apache POI 并将该路径包含在路径变
  • 没有可用的符号表信息

    我正在测试第三方的库 它崩溃了 当我想查看崩溃的原因时 我的 gdb 告诉我没有可用的调试符号 Program received signal SIGSEGV Segmentation fault Switching to Thread 0
  • 信号处理程序有单独的堆栈吗?

    信号处理程序是否有单独的堆栈 就像每个线程都有单独的堆栈一样 这是在 Linux C 环境中 来自 Linux 手册页signal 7 http kernel org doc man pages online pages man7 sign
  • 在 Linux 上的 Python 中使用受密码保护的 Excel 工作表

    问题很简单 我每周都会收到一堆受密码保护的 Excel 文件 我必须解析它们并使用 Python 将某些部分写入新文件 我得到了文件的密码 当在 Windows 上完成此操作时 处理起来很简单 我只需导入 win32com 并使用 clie
  • 如何更改 Ubuntu 14.04 上的 php-cli 版本?

    我是 Linux 新手 在篡改时破坏了一些 php 设置 如果我执行一个包含以下内容的 php 脚本 phpinfo 它显示 php 版本为 5 6 但通过命令行 如果我运行php v它返回 7 0 版本 我想让两个版本匹配 我怎样才能修复
  • QFileDialog::getSaveFileName 和默认的 selectedFilter

    我有 getSaveFileName 和一些过滤器 我希望当用户打开 保存 对话框时选择其中之一 Qt 文档说明如下 可以通过将 selectedFilter 设置为所需的值来选择默认过滤器 我尝试以下变体 QString selFilte

随机推荐

  • ThreadLocal与InheritableThreadLocal及线程池的影响

    在web开发中使用了ThreadLocal本地线程存储拦截器解析的用户信息 方便在下文代码中调用 但是在springboot中使用 Async开启异步操作时 就会造成 子线程无法拿到父本地线程数据 拿到一些脏数据 1 Inheritable
  • 为什么超凡先锋显示未选择服务器,超凡先锋画质不太流畅怎么弄 游戏画质设置方法介绍_超凡先锋...

    超凡先锋是一款逃离塔科夫玩法的射击游戏 这款游戏对玩家的手机配置需求还是比较高的 那么超凡先锋画质不太流畅怎么弄呢 下面我们就一起来看一下游戏画质设置方法介绍吧 一 画质设置步骤介绍 超凡先锋的优化制作的还是非常不错的 大家如果配置不足或者
  • c语言求阶乘和的流程图_Introduction to CSAPP(十四):流程控制指令与 C 语言条件判断与循环

    条件码 在之前的内容中 我们提到EFLAGS 寄存器中有一些条件码 这些条件码为流程控制的跳转提供了一定的能力 CF 进位标识 最近的操作使得最高位产生的了进位 ZF 零标识 最近的操作所得的结果为0 SF 符号标识 最近的操作所得的结果为
  • 。。。闯关

    还没写到难的地方 不过主要还是猜 前面过于简单后面感觉又太难 不太适合我这种菜鸟 不过还是可以学到东西的 先不写了 这里只是帮我简单记录一下思路 并非想破坏游戏体验 1 url 2 源码链接 3 源码链接 4 源码最底下或F12 5 根据提
  • idea远程调试线上jar包

    有时候本地代码没问题但在线上运行会报错 这时候可以使用idea的remote功能调试线上jar包 步骤1 步骤2 新建remote 步骤3 配置服务器ip和端口 并复制生成的JVM参数供之后使用 步骤4 打jar包 并将生成的jar包放到服
  • GPT-4:模型架构、训练方法与 Fine-tuning 详解

    本文将详细介绍 GPT 4 的模型结构 训练数据准备和微调方法 我们将深入了解 Transformer 架构 并学习如何准备训练数据和微调 GPT 4 模型 同时 我们还提供了相关代码示例以帮助您更好地理解和实践这些概念 希望本文能为您在使
  • Java EE 企业级应用 复习 Spring中Bean的管理

    Bean的实例化 什么是Bean的实例化 Spring容器自动地帮助我们生成对应的Bean对象 Bean的实例化方法 构造方法实例化 静态工厂实例化 实例工厂实例化 构造方法实例化 package com itheima public cl
  • http-server安装成功后,提示command not found

    版权声明 本文为博主原创文章 未经博主允许不得转载 http server安装成功后 提示command not found 如图所示 解决方法 执行vim zshrc 加上红框框住的内容 然后在项目目录下执行http server就可以了
  • 操作系统-在分页式管理方式下采用位示图来表示主存分配情况,实现主存空间的分配和回收。

    实验六 一 实验题目 在分页式管理方式下采用位示图来表示主存分配情况 实现主存空间的分配和回收 二 实验内容 1 分页式存储器把主存分成大小相等的若干块 作业的信息也按块的大小分页 作业装入主存时可把作业的信息按页分散存放在主存的空闲块中
  • UIUC同学Jia-Bin Huang收集的计算机视觉代码合集(ZZ)

    转自 http www cnblogs com idaidai archive 2012 03 01 2375800 html UIUC的Jia Bin Huang同学收集了很多计算机视觉方面的代码 链接如下 https netfiles
  • django2.x报错No module named 'django.core.urlresolvers'

    解决方法就是 from django urls import reverse 最近从django1 9迁移到django2 0中出现一个意外的报错 这个报错的原因在stack overflow上有很直接的解释 但是百度上并没有直接的答案 简
  • 华为OD机试真题--解压原始报文JavaScript

    1 题目 为了提升数据传输的效率 会对传输的报文进行压缩处理 输入一个压缩后的报文 请返回它解压后的原始报文 压缩规则 n str 表示方括号内部的 str 正好重复 n 次 注意 n 为正整数 0 lt n lt 100 str只包含小写
  • Python 字符串Ⅱ

    Python 字符串格式化 Python 支持格式化字符串的输出 尽管这样可能会用到非常复杂的表达式 但最基本的用法是将一个值插入到一个有字符串格式符 s 的字符串中 在 Python 中 字符串格式化使用与 C 中 sprintf 函数一
  • Python之算法与时间复杂度

    目录 一 算法的概念 1 1 算法是计算机处理信息的本质 二 时间复杂度T n 2 1 程序执行的基本操作与时间复杂度 2 3 大O记法 2 4 常见时间复杂度 2 5 时间复杂度的几条基本计算规则 重点 2 6 python内置类型时间复
  • Palindrome(补全回文串+最长公共子序列的应用)hdu1513+poj1159+动态规划

    Palindrome Time Limit 4000 2000 MS Java Others Memory Limit 65536 32768 K Java Others Total Submission s 4277 Accepted S
  • 计算机网络基础知识归纳总结整理

    计算机网络基础 基础知识 1 网络模型 OSI分层 7层 物理层 数据链路层 网络层 传输层 会话层 表示层 应用层 TCP IP分层 4层 网络接口层 网际层 运输层 应用层 五层协议 5层 物理层 数据链路层 网络层 运输层 应用层 每
  • typeid与decltype

    C 在C 98标准中就部分支持动态类型了 C 98对动态类型支持就是C 中的运行时类型识别RTTI RTTI的机制是为每个类型产生一个type info类型的数据 程序员可以在程序中使用typeid随时查询一个变量的类型 typeid就会返
  • modelsim crack找不到文件packages on . Failed to load package info... 找不到文件 - mgls.dll 找不到文件 - mgls64.dll

    问题描述 最近下载了Modelsim SE 64 2020 4版本 按照提示操作后显示找不到文件packages on Failed to load package info 找不到文件 mgls dll 找不到文件 mgls64 dll
  • MATLAB 软件功能简介

    MATLAB 的名称源自 Matrix Laboratory 1984 年由美国 Mathworks 公司推向市场 它是一种科学计算软件 专门以矩阵的形式处理数据 MATLAB 将高性能的数值计算和可 视化集成在一起 并提供了大量的内置函数
  • imx6ull移植mplayer

    linux开发板播放许嵩的温泉 本文在imx6ul上移植mplayer 软件包 https download csdn net download qq 32605451 12510469 文件包含mplayer zlib alsa lib和