Mac os下面为ffmpeg新增lame

版权声明: https://blog.csdn.net/ksksjipeng/article/details/65631359

项目上面遇到一些处理音视频的功能处理,于是就想到了使用ffmpeg来封装一些命令,通过java或者C++来去调用,期间遇到了不少问题,折腾了几个小时,记录下来,以便后面还会遇到。

1、下载最新版本ffmpeg mac版本的,解压下载下来的ffmpeg,我下载的是最新的ffmpeg-3.2.4

2、打开Mac终端命令工具,切换到刚才解压的ffmpeg目录下面,输入

./configure

3、配置完成之后,接着再进行编译make;

make

4、编译完成之后,再进行安装

sudo make install

以上是正常情况下面一般需要执行的几个步骤,其实很简单,由于我的业务是需要把mp4音频单独提取出来然后再转化为mp3,查了想着资料,lame音频编解码库对ffmpeg支持得比较友好,于是先去下载lame,解压lame文件夹,命令行切换到lame解压目录下面

./configure
make
sudo make install

即可,以上步骤和安装ffmpeg无区别。

5、再次切换到ffmpeg解压目录,首先配置

./configure --enable-shared --enable-libmp3lame --disable-yasm --prefix=/usr/local/ffmpeg

make
sudo make install

网上很多资料都说直接使用

./configure --enable-libmp3lame
make
sudo make install

但是我试了,没用,还是不能从视频中提取音频文件,较上面一种已经在我机器上面成功;

6、使用命令

ffmpeg -i xx.mp4 -f mp3 -vn xx.mp3

如果成功,则会提示

ffmpeg version 3.2.4 Copyright (c) 2000-2017 the FFmpeg developers
  built with Apple LLVM version 6.0 (clang-600.0.56) (based on LLVM 3.5svn)
  configuration: --enable-libmp3lame --disable-yasm
  WARNING: library configuration mismatch
  avutil      configuration: --enable-shared --enable-libmp3lame --disable-yasm --prefix=/usr/local/ffmpeg
  avcodec     configuration: --enable-shared --enable-libmp3lame --disable-yasm --prefix=/usr/local/ffmpeg
  avformat    configuration: --enable-shared --enable-libmp3lame --disable-yasm --prefix=/usr/local/ffmpeg
  avdevice    configuration: --enable-shared --enable-libmp3lame --disable-yasm --prefix=/usr/local/ffmpeg
  avfilter    configuration: --enable-shared --enable-libmp3lame --disable-yasm --prefix=/usr/local/ffmpeg
  swscale     configuration: --enable-shared --enable-libmp3lame --disable-yasm --prefix=/usr/local/ffmpeg
  swresample  configuration: --enable-shared --enable-libmp3lame --disable-yasm --prefix=/usr/local/ffmpeg
  libavutil      55. 34.101 / 55. 34.101
  libavcodec     57. 64.101 / 57. 64.101
  libavformat    57. 56.101 / 57. 56.101
  libavdevice    57.  1.100 / 57.  1.100
  libavfilter     6. 65.100 /  6. 65.100
  libswscale      4.  2.100 /  4.  2.100
  libswresample   2.  3.100 /  2.  3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/Users/terrence/Downloads/1489061946_VIDEO.mp4':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: mp42isom
    creation_time   : 2017-03-09T02:44:23.000000Z
  Duration: 00:00:29.20, start: 0.000000, bitrate: 7989 kb/s
    Stream #0:0(und): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p(tv), 1920x960 [SAR 1:1 DAR 2:1], 7910 kb/s, 30 fps, 30 tbr, 90k tbn, 29.97 tbc (default)
    Metadata:
      creation_time   : 2017-03-09T02:44:23.000000Z
      encoder         : JVT/AVC Coding
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 75 kb/s (default)
    Metadata:
      creation_time   : 2017-03-09T02:44:23.000000Z
Output #0, mp3, to '/Users/terrence/Downloads/1489061946_VIDEO.mp3':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: mp42isom
    TSSE            : Lavf57.56.101
    Stream #0:0(und): Audio: mp3 (libmp3lame), 44100 Hz, mono, fltp (default)
    Metadata:
      creation_time   : 2017-03-09T02:44:23.000000Z
      encoder         : Lavc57.64.101 libmp3lame
Stream mapping:
  Stream #0:1 -> #0:0 (aac (native) -> mp3 (libmp3lame))
Press [q] to stop, [?] for help
[libmp3lame @ 0x7fbba401e800] Trying to remove 1152 samples, but the queue is empty
size=     225kB time=00:00:28.74 bitrate=  64.2kbits/s speed=62.3x    
video:0kB audio:225kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.138952%

猜你喜欢

转载自blog.csdn.net/ksksjipeng/article/details/65631359