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

上面是我的微信和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

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值