MAC安装FFMPEG出现Symbol not found: _clock_gettime的问题解决

因为需要使用ndk编译ffmpeg为so库,因此就从github上下载了源码3.3.1,按照网络教程,看到了还可以顺便使用源码来安装ffmpeg到mac上,方便转换视频,熟悉命令行,于是就按照廖雪峰的教程,虽然最后安装之后,可以在命令行中使用

ffmpeg -version

但是并不能做转换视频的基本功能操作,每次输入下面这样的命令的时候,就会出现这样一个错误**dyld: Symbol not found: _clock_gettime **

ffmpeg -i abc.mp4 bcd.avi

于是我就决定用homebrew重新装一份,但是怎么才能卸载掉刚才通过源码安装的呢?我以为HomeBrew会覆盖掉这个通过源码安装的,但是事实并不如此。通过HomeBrew安装

brew install ffmpeg

一番等待之后,ffmpeg安装成功,但是这个时候如果我们通过which命令查看ffmpeg的话,会发现这个ffmpeg的命令还是之前通过源码安装的那个,并没有被homebrew安装的这个覆盖掉。

which ffmpeg

这个命令输出的结果是/usr/local/bin/ffmpeg,于是我就找到了这个文件夹,并且将ffmpeg给删掉了。接下来我在命令行中输入ffmpeg,期望出现homebrew安装的这个,但是出现的却是ffmpeg还没有安装的提示。那么我刚才通过brew install ffmpeg安装的放到哪里去了呢?于是我就通过命令再次安装ffmpeg

brew install ffmpeg

这控制台输出:ffmpeg has already installed,just not linked。
看到这句话我想有戏了。经过一番搜索,发现下面这个人的回答对我有用

MAC安装FFMPEG出现Symbol not found: _clock_gettime的问题解决_第1张图片
image.png

但是在使用下面这个命令的过程中,总是出现各种错误

brew link ffmpeg
MAC安装FFMPEG出现Symbol not found: _clock_gettime的问题解决_第2张图片
image.png

我就按照错误提示,一个个地删除,删除到最后一次执行brew link ffmpeg的时候,奇迹出现了

bogon:~ xiaguangcheng$ brew link ffmpeg
Linking /usr/local/Cellar/ffmpeg/3.3.1... 81 symlinks created

就想你看到的这样,symlinks created,于是我就输入了一个ffmpeg的命令,一切正常

bogon:~ xiaguangcheng$ brew link ffmpeg
Linking /usr/local/Cellar/ffmpeg/3.3.1... 81 symlinks created
bogon:~ xiaguangcheng$ ffmpeg
ffmpeg version 3.3.1 Copyright (c) 2000-2017 the FFmpeg developers
  built with Apple LLVM version 8.0.0 (clang-800.0.42.1)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/3.3.1 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-libmp3lame --enable-libx264 --enable-libxvid --enable-opencl --disable-lzma --enable-vda
  libavutil      55. 58.100 / 55. 58.100
  libavcodec     57. 89.100 / 57. 89.100
  libavformat    57. 71.100 / 57. 71.100
  libavdevice    57.  6.100 / 57.  6.100
  libavfilter     6. 82.100 /  6. 82.100
  libavresample   3.  5.  0 /  3.  5.  0
  libswscale      4.  6.100 /  4.  6.100
  libswresample   2.  7.100 /  2.  7.100
  libpostproc    54.  5.100 / 54.  5.100
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...

Use -h to get full help or, even better, run 'man ffmpeg'

我又输入了一个转换视频的命令**ffmpeg -i 123test.mp4 1234.avi **,转换成功

bogon:Downloads xiaguangcheng$ ffmpeg -i 123test.mp4 1234.avi
ffmpeg version 3.3.1 Copyright (c) 2000-2017 the FFmpeg developers
  built with Apple LLVM version 8.0.0 (clang-800.0.42.1)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/3.3.1 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-libmp3lame --enable-libx264 --enable-libxvid --enable-opencl --disable-lzma --enable-vda
  libavutil      55. 58.100 / 55. 58.100
  libavcodec     57. 89.100 / 57. 89.100
  libavformat    57. 71.100 / 57. 71.100
  libavdevice    57.  6.100 / 57.  6.100
  libavfilter     6. 82.100 /  6. 82.100
  libavresample   3.  5.  0 /  3.  5.  0
  libswscale      4.  6.100 /  4.  6.100
  libswresample   2.  7.100 /  2.  7.100
  libpostproc    54.  5.100 / 54.  5.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '123test.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf56.5.100
  Duration: 00:00:26.19, start: -0.012000, bitrate: 827 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 640x360, 695 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 127 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> mpeg4 (native))
  Stream #0:1 -> #0:1 (aac (native) -> mp3 (libmp3lame))
Press [q] to stop, [?] for help
Output #0, avi, to '1234.avi':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    ISFT            : Lavf57.71.100
    Stream #0:0(und): Video: mpeg4 (FMP4 / 0x34504D46), yuv420p, 640x360, q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc (default)
    Metadata:
      handler_name    : VideoHandler
      encoder         : Lavc57.89.100 mpeg4
    Side data:
      cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: -1
    Stream #0:1(und): Audio: mp3 (libmp3lame) (U[0][0][0] / 0x0055), 48000 Hz, stereo, fltp (default)
    Metadata:
      handler_name    : SoundHandler
      encoder         : Lavc57.89.100 libmp3lame
frame=  191 fps=0.0 q=31.0 size=     518kB time=00:00:07.70 bitrate= 551.1kbits/frame=  449 fps=448 q=24.8 size=    1017kB time=00:00:18.02 bitrate= 462.1kbits/frame=  652 fps=439 q=31.0 Lsize=    1481kB time=00:00:26.20 bitrate= 462.9kbits/s speed=17.7x    
video:1021kB audio:408kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 3.562794%

你可能感兴趣的:(MAC安装FFMPEG出现Symbol not found: _clock_gettime的问题解决)