ARM开发板中移植ffmpeg+lame实现从MP4中提取音频MP3

摘要
通过移植ffmpeg来实现从视频中提取音频并保持为MP3格式其中ffmpeg默认只包含MP3格式解码器,不包含MP3格式编码器,为提取音频需要额外下载mp3编码库。若不需要次功能可略过。
1.下载ffmpeg安装包
本人采用版本号为ffmpeg-0.8.15.tar.bz2, 下载官网为 http://ffmpeg.org/download.html)
2下载MP3音频编码库
下载libmp3lame源码其官网为http://lame.sourceforge.net/download.php (我的版本:lame-3.99.5.tar.gz)
3编译lame库(如果不需要提取音频功能可以跳过)

  $ mkdir /home/lame                                                 建立安装目录/home/lame
  $ tar  -zxvf  lame-3.99.5.tar.gz                                 解压lame-3.99.5.tar.gz 
   $cd    lame-3.99.5                                                       进入解压后目录
   $./configure     --enable-shared 
                          --enable-static                                              #1 静态编译
                          - -prefix=/home/lame                                   # 2 安装目录
                           CC=arm-none-linux-gnueabi-gcc              #3 交叉编译工具gcc
                           AR=arm-none-linux-gnueabi-ar                 #4 交叉编译工具ar
                           --host=arm                                                  #5  在arm架构开发板执行
注:3.4项可在配置文件confgure中查看得知为编译所需要的编译工具,且必须在配置时赋予 
   $make && make install                                                           #编译及安装                       

4编译ffmpeg库

$mkdir /home/ffmpeg    #建立安装目录
$tar  -xvf          ffmpeg-0.8.15.tar                     #解压
$cd                 ffmpeg-0.8.15                          #进入解压目录        
$./configure        --cross-prefix=arm-                  #指定交叉编译工具arm-none-linux-gnueabi-ar
                  --enable-cross-compile  
                  --target-os=linux                     #运行在linux操作系统中
                  --cc=arm-linux-gcc                    #指定编译工具arm-none-linux-gnueabi-gcc
                  --arch=arm                            #在arm架构开发板上运行
                  --prefix=/usr/local/ffmpeg            #生成可执行文件及其相关库保存路径
                  --enable-shared --disable-static --enable-gpl   --enable-nonfree --enable-ffmpeg  --disable-ffplay  --enable-ffserver--enable-swscale  --enable-pthreads --disable-armv5te --disable-armv6
--disable-armv6t2   --disable-yasm   --disable-stripping  
                 --enable-libmp3lame                    #使能MP3格式编码器 
                 --extra-cflags=-I/home/lame/include    #指定编译lame时生成的相关头文件路径(编译ffmpeg库)
                  --extra-ldflags=-L/home/lame/lib      #指定编译lame时生成相关库文件路径(编译ffmpeg库)
 
 $make && make install                                   #编译文件及安装

5:将生成的可执行文件及其相关库迁移到arm开发板中
通过NFS挂载的方式arm开发板与PC端实现交互,本文nfs挂载点目录为/root/rootfs/rootfs
<1>:将编译ffmpeg时生成的库文件复制到开发板目录下

 $cd     /home/ffmpeg/lib           #进入ffmpeg 相关库文件目录中
 $cp *so*    /root/rootfs/rootfs/usr/local/lib  #将所有库文件复制到开发板挂在目录中去

<2>:将生成的可执行文件复制到开发板中

$cd            /home/ffmpeg           
$chmod -R 777  bin                     #将bin文件内三个可执行文件赋予执行权限
$cp   *     /root/rootfs/rootfs/bin    #将生成的三个可执行文件复制到开发板目录中去 
#注:开发板目录目录要在环境变量范围内,否则找不到可执行文件

6:实例:提取00.MP4视频文件中音频并保存为01.mp3
<1>

 $ffmpeg  -i  00.mp4  -f  mp3   -vn   01.mp3  #

如图所示
<2>如果开发板支持还可以链接摄像头进行视频录制

$ffmpeg  -f video4linux2 -s 1024*600  -r 10 -i /dev/video0    output.mp4          #录制视频保存为output.mp4  
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值