因为需要使用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。
看到这句话我想有戏了。经过一番搜索,发现下面这个人的回答对我有用
但是在使用下面这个命令的过程中,总是出现各种错误
brew link ffmpeg
我就按照错误提示,一个个地删除,删除到最后一次执行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%