IMX6学习记录(15)-ffmpeg移植

2023-10-31

上面是我的微信和QQ群,欢迎新朋友的加入。

1.获取源码

下载ffmpeg:http://ffmpeg.org 

下载libx264:http://www.videolan.org/developers/x264.html

有git链接,用git拉算了

下载fdk_aac:

http://www.linuxfromscratch.org/blfs/view/svn/multimedia/fdk-aac.html

下载SDL2:

http://www.linuxfromscratch.org/blfs/view/systemd/multimedia/sdl2.html

一共四个东西

2.编译libx264

配置

./configure --prefix=/home/jun/i.mx6/code/14_ffmprg/x264 --enable-static --host=arm-none-linux-gnueabi --cross-prefix=arm-linux-gnueabihf- --disable-asm

编译

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- all -j8
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- install

将源码目录下,文件夹里面的东西拷贝到文件系统

3.编译fdk-acc

sudo apt-get install autoconf automake libtool
./configure --prefix=/home/jun/i.mx6/code/14_ffmprg/fdk-aac-2.0.1 --host=arm-linux-gnueabihf --disable-shared
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- all -j8
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- install

拷贝编译出来的东西

4.编译SDL2

sudo ./configure --prefix=/home/jun/i.mx6/code/14_ffmprg/SDL2-2.0.10  --host=arm-linux-gnueabihf --disable-shared&&sudo make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- all -j8&&sudo make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- install

拷贝文件到文件系统

5.编译ffmpeg

把/usr/bin/pkg-config复制到arm-none-linux-gnueabi-gcc的同一个目录,并改名为arm-none-linux-gnueabi-pkg-config。

sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev libgl1-mesa-dev g++-multilib tofrodos python-markdown libxml2-utils xsltproc  libx11-dev:i386 lib32z1

export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH

./configure --prefix=/home/jun/i.mx6/code/14_ffmprg/ffmpeg-4.2.1 --enable-cross-compile --cross-prefix=arm-linux-gnueabihf- \
--arch=armel --target-os=linux --enable-gpl --enable-nonfree \
--pkg-config-flags=--static \
--enable-shared 

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- all -j8
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- install


拷贝文件到文件系统

6.测试

重新编译文件系统

拷贝到设备上

运行

好像是超出RAM的大小了

果然是的

7.制作SD卡分区

拷贝文件

首先搞个正常的文件系统,需要确定MMC的设备号

ls -l /dev/mmc*

确定卡分区情况

cd mnt/
ls
mkdir m1
mkdir m2
mount /dev/mmcblk0p1 /mnt/m1/
mount /dev/mmcblk0p2 /mnt/m2/
ls m1/
ls m2/

文件系统在第二区,boot文件在第一区

设置uboot启动参数

setenv bootargs 'console=ttymxc0,115200n8 init=/sbin/init noinitrd root=179:2 rw rootdelay=3 rootfstype=ext3 mem=256M vram=12M'

确定ffmpeg存在,也同时确定当前启动的是SD卡里面的文件系统

8.测试

查看版本
ffmpeg -version

放一个mp4视频,然后把声音提取到output.acc
ffmpeg -i mmmm.mp4  -acodec copy -vn output.aac

AVI转MP4
ffmpeg -i gg.avi out.mp4

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

IMX6学习记录(15)-ffmpeg移植 的相关文章

  • imx6ull移植OpenWRT系统

    参考 xff1a i mx6ul开发板移植openwrt系统 https blog csdn net qq 40614144 article details 105538483 有几点需要补充 xff1a 1 在imx6ull的Linux内
  • 解决野火iMX6ULL-wifi连接问题

    这里主要解决的是野火的linux EBF6ULL S1 pro板子的AP6212wifi 模块无法顺利连接wifi的问题 按照视频里面说的进行操作 xff0c 未能顺利连接wifi 解决这个问题要注意下面几个问题 pro板子目前我知道可能分
  • IMX6ULL裸机启动,IMX6ULL运行freeRtos

    IMX6ULL裸机启动 xff0c IMX6ULL运行freeRtos 裸机启动部分 imx6ull中根据运行代码位置的不同RAM flash SD卡 xff0c 上电会先运行片上ROM中的代码 xff0c 搬运的数据大小是不同的 xff0
  • [imx6ull]Linux下的SocketCAN通信

    文章目录 一 CAN总线协议1 简介2 电气属性3 通信原理 数据帧的帧格式 xff1a 总线同步 总线竞争 数据保护 二 Linux下CAN的操作1 硬件连接 CAN电平转换器 扩展板使用CAN 2 查询 can 信息3 开启 关闭 ca
  • WSL2编译IMX6ULL裸机程序Win10通过Win32DiskImager烧录SD卡

    1 修改imxdownload c文件 完整代码见附录 gcc mixbin c span class token parameter variable o span mixbin 使用上述gcc命令编译生成mixbin可执行文件 该文件只
  • i.MX6ULL - 从零开始移植uboot-imx_v2020.04_5.4.70_2.3.0

    i MX6ULL 从零开始移植uboot imx v2020 04 5 4 70 2 3 0 目录 i MX6ULL 从零开始移植uboot imx v2020 04 5 4 70 2 3 0 前言 1 环境搭建 2 NXP官方原版UBOO
  • i.MX 6ULL 驱动开发 一:搭建开发环境

    一 搭建编译环境 1 工具 工具 版本 开发板 正点原子 imx6ull 开发板 gcc gcc linaro 4 9 4 2017 01 x86 64 arm linux gnueabihf uboot uboot imx 2016 03
  • IMX6学习记录(17)-编译官方SDK,制作镜像,DD烧录

    上面是我的微信和QQ群 欢迎新朋友的加入 1 下载 地址 https www nxp com cn products processors and microcontrollers arm processors i mx applicati
  • IMX6学习记录(15)-ffmpeg移植

    上面是我的微信和QQ群 欢迎新朋友的加入 1 获取源码 下载ffmpeg http ffmpeg org 下载libx264 http www videolan org developers x264 html 有git链接 用git拉算了
  • 游学电子教您:如何给原子的imx6开发板烧录Linux系统

    义县游学电子科技有限公司官方帐号 科技爱好者 今天游学电子带您一起学习下imx6开发板如何烧录系统 使用的开发板是原子的 这里有个注意的地方是我们烧录的系统是到emmc中 而非sd卡中 01 步骤方法 把开发板的启动拨码开关拨到 USB 模
  • IMX6学习记录(21)-ubuntu安装QT

    上面是我的微信和QQ群 欢迎新朋友的加入 1 快速安装 命令行安装 sudo apt get install qt5 default qtcreator 用命令行 这个命令就装好了 后面的安装过程不用看了 2 软件包下载 http mirr
  • i.MXU6LL - 制作烧录SD卡详细步骤

    i MXU6LL 制作烧录SD卡详细步骤 目录 i MXU6LL 制作烧录SD卡详细步骤 1 SD卡分区 2 拷贝uboot到SD卡 3 拷贝kernel和dtbs到SD卡 4 拷贝文件系统到SD卡 本文所有操作均在root模式下进行 本篇
  • i.MX6ULL - 问题解决:NFS挂载失败 - VFS: Unable to mount root fs on unknown-block(2,0)

    i IMX6ULL 问题解决 NFS挂载失败 VFS Unable to mount root fs on unknown block 2 0 开发环境 移植的linux5 4 7 0 ubuntu1804 x64 arm linux gn
  • DeviceDriver(十四):多点触摸(MT协议,Input子系统)

    Input子系统框架参考 02 输入子系统 猩猩 點燈的博客 CSDN博客 电阻式多点触摸驱动参考 05 触摸屏驱动 猩猩 點燈的博客 CSDN博客 一 电容触摸屏知识点 1 电容触摸屏是I2C接口 需要触摸IC 因此框架为I2C设备驱动框
  • iMX6ULL学习(一)

    以下部分资料和硬件参考于韦老师的百问网 文章目录 嵌入式linux启动流程 编译流程 链接库的创建使用 一 制作和使用动态链接库 so share object 二 制作和使用静态链接库 a archive 开发前基础库下载 各压缩格式操作
  • IMX6学习记录(9)-实现网络连接,rz/sz文件传输

    上面是我的微信和QQ群 欢迎新朋友的加入 现在我已经自己编译过uboot kernel和rootfs了 遇到一个比较麻烦的事情 拷贝文件需要插拔SD卡 考虑的之后开发的便捷性 准备实现rz sz方式的数据传输 1 修改内核配置 把设备树和默
  • 09_Uboot启动流程_1

    目录 链接脚本u boot lds详解 U Boot启动流程详解 reset函数源码详解 lowlevel init函数详解 s init函数详解 链接脚本u boot lds详解 要分析uboot的启动流程 首先要找到 入口 找到第一行程
  • IMX6学习记录(8)-更换linux配置,加速启动

    上面是我的微信和QQ群 欢迎新朋友的加入 之前启动的时候将近是1分钟 这个时间太浪费了 更新一下内核的配置 让启动速度更快一些 更新之后 启动时间大概10秒左右 一共三个内容 来源是板子附带源码里面的文件 1 配置文件 2 设备树文件 3
  • 韦东山和正点原子IMX6ULL开发版的区别

    网卡驱动复位引脚硬件区别 网卡 复位脚 厂家 io 网卡0 SNVS TAMPER9 100ask gpio5 IO9 网卡1 SNVS TAMPER6 100ask gpio5 IO6 网卡0 SNVS TAMPER7 正点原子 gpio
  • 我的第一个Imx6ULL应用《百度图像识别》

    Imx6ULL填坑计划 此次用到的所有资料我都放到了奶牛快传里 下载的话速度极快 https c t work s fe0b4a22171342 我买这个板子已经很久了 跟着野火正点原子的教程踉踉跄跄学了一段儿 对很多基础知识也是一知半解

随机推荐

  • vue配置svg,图标显示不出来

    写在最前面 在Vue中使用svg主要靠webpack配置svg sprite loader来处理svg文件 如果有问题 配置流程按网上的教程一套下来或者直接是扒拉别人的代码还是 有问题的 需要一点webpack的知识进行排查 重点是排查的流
  • 调研

    发现网上可参考的资料太少了 最近有开个专题 文章 视频 从基础原理到编码实现 的想法 不知道是对心理学实验程序设计PSYCHTOOLBOX PTB 感兴趣的人多一些还是对信号处理算法感兴趣的人多一些呢
  • 面向对象的程序设计特点

    面向对象的程序设计特点主要有四个 抽象 封装 继承 多态 1 抽象 首先在面向对象的程序设计中 每一种事物都可以成为 对象 那么一个对象可以有多个特点 比如人有身高 体重等等 把一个事物对象的特点概括表示出来的过程叫做抽象 比如员工对象的薪
  • Vue3 父组件数据改变Echarts子组件图表没有变化

    一 问题 使用vue3写页面 引入一个echarts图 父组件数据改变 图表没有重新渲染 二 目标效果图 三 解决 数据变了 图表不变化 只需要2步 1 echarts图组件监听数据 数据改变 重新渲染 watch gt props cha
  • 04功能之利用string容器的find和substr函数实现分割字符串

    04功能之利用string容器的find和substr函数实现分割字符串 1 C 中string容器的find substr函数 1 size t xxx find string str size t count 0 从目标字符串中 即xx
  • manven命令中build和compile的区别

    compile只是编译工程 既对编译路径下的源代码进行编译 build是构建工程 一般会经过清理 编译 打包等过程 生成最终可运行或可部署的程序包 另外可参考 https blog csdn net wei gg article detai
  • 学计算机的,有点悲哀

    这两天听到的两则消息 第一则 今年的高考报考人数少了74万 今后还将下滑 第二则 就业率比较低的有计算机相关专业 就业半年后失业率比较高的专业中有计算机相关专业 我是计算机老师 并且是刚刚升二本的学校的老师 看看这两条消息 感觉很不适滋味
  • 【FFMPEG】x264 命令行去除B帧

    三种方法 此去除B帧的方法只适用于采用 libx264 编码器编码的视频 引用链接 ffmpeg x264 选项指南 第一种 参数中加 bf 0 ffmpeg i test mp4 vcodec libx264 bf 0 test 640x
  • Python中生成器和迭代器的区别

    Python中生成器和迭代器的区别 代码在Python3 5下测试 Num01 gt 迭代器 定义 对于list string tuple dict等这些容器对象 使用for循环遍历是很方便的 在后台for语句对容器对象调用iter 函数
  • 学习笔记:固件和驱动的区别?

    驱动和固件是经常会看到的字眼 尤其是在IoT设备的使用 安装过程中有时很容易搞糊涂 本文根据自己的理解对https www zhihu com question 22175660 驱动与固件的区别是什么 进行了部分整理而成 如有误导 请见谅
  • 几何检测

    概述 几何检测主要相交性检测 这里的内容大体上是根据 3D数学基础 图形与游戏开发 这本书来的 对于这本书来说 这一部分看完了后面内容就不看了 因为后面讲的太空泛了 有点像一本绝世武功的目录一样 看似很强 其实没什么卵用 1 2D隐式直线上
  • 解决报错:TypeError: log_sigmoid(): argument ‘input‘ (position 1) must be Tensor, not torch.return_types.

    报错如下 TypeError log sigmoid argument input position 1 must be Tensor not torch return types max torch max 的返回类型为 torch re
  • 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。 总共多少步

    所有实现代码均使用JAVA letcode上的算法题 贴原图 首先来分析一下 网格可以使用二维数组来实现 以下图为例 m 2 n 3 起点为 1 0 0 终点为 6 1 2 1 2 3 4 5 6 由于只能向右或向下走 先列出所有路径 1
  • linux C获取Mac地址

    1 基础用法 获取eth0的mac地址 include
  • uniapp引入高德地图sdk经纬度解析诚地址名称

    1 申请key 2 下载js sdk amap wx js文件 https lbs amap com api wx gettingstarted 3 引入 import AMap from js sdk amap wx js 4 使用 th
  • 4.10实习日志

    1 命名规范 快捷键 命名规范 类名 首字母大写 单词和单词之间的首字母大写 函数名 变量名 首字母小写 单词和单词之间首字母大写 快捷键 注释 ctrl 运行 CTRL R 编译 ctrl b 查找 ctrl f 整行移动 CTRL sh
  • 投影矩阵的推导(OpenGl)

    概述 计算机显示器是一个2D平面 OpenGL渲染的3D场景必须以2D图像方式投影到计算机屏幕上 GL PROJECTION矩阵用于该投影变换 首先 它将所有定点数据从观察坐标转换到裁减坐标 接着 这些裁减坐标通过除以w分量的方式转换到归一
  • 一个 Nginx 如何实现部署多个不同的项目

    文章目录 nginx conf 配置文件 创建静态文件目录 效果 在 linux 中实现一个 nginx 部署2个不同的端口号访问不同的项目 nginx conf 配置文件 我们可以通过配置两个 server 来实现在一个 nginx 服务
  • 2020年十二月ccf-csp认证总结(内附个人题解)

    吐槽一下这个在线评测功能 平均四十分钟才能看到提交结果 本次成绩为100 100 0 30 20 最后两道题都是骗的分 提醒自己附代码的神奇图片 希望寒假有时间把没做出来的题目也再做一遍 csp官网更新出题目后 有路过的可以提醒我把题目加上
  • IMX6学习记录(15)-ffmpeg移植

    上面是我的微信和QQ群 欢迎新朋友的加入 1 获取源码 下载ffmpeg http ffmpeg org 下载libx264 http www videolan org developers x264 html 有git链接 用git拉算了