Mac FFmpeg编译和解决nasm/yasm not found or too old错误

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qqqq245425070/article/details/83961218

FFmpeg编译

  1. 下载代码:git clone https://git.ffmpeg.org/ffmpeg.git
  2. 然后输入命令进行编译:找到下载的目录下,然后用命令进入这个文件夹下cd ffmpeg,然后输入./configure。
  3. 竟然没有编译过出现错误是
nasm/yasm not found or too old. Use --disable-x86asm for a crippled build.  
  
If you think configure made a mistake, make sure you are using the latest  
version from Git.  If the latest version fails, report the problem to the  
[email protected] mailing list or IRC #ffmpeg on irc.freenode.net.  
Include the log file "ffbuild/config.log" produced by configure as this will help  
solve the problem. 

分析:yasm是汇编编译器,ffmpeg为了提高效率使用了汇编指令,如MMX和SSE等。所以系统中未安装yasm时,就会报上面错误。

解决错误:安装yasm编译器。安装方法如下:

1)下载:[yasm的下载链接](http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz)

2)解压:把下载下来的压缩包进行解压

3)切换路径: cd yasm-1.3.0

4)执行配置: ./configure

5)编译:make

6)安装:make install(提示:Permission denied,就执行sudo make install)
  1. 安装成功yasm你可以在进入到ffmpeg的文件夹下,进行./configure
  2. make
  3. make install(提示:Permission denied,就执行sudo make install)
  4. 然后打出ffmpeg
ffmpeg version 4.1 Copyright (c) 2000-2018 the FFmpeg developers
  built with Apple LLVM version 7.0.2 (clang-700.1.81)
  configuration: 
  libavutil      56. 22.100 / 56. 22.100
  libavcodec     58. 35.100 / 58. 35.100
  libavformat    58. 20.100 / 58. 20.100
  libavdevice    58.  5.100 / 58.  5.100
  libavfilter     7. 40.101 /  7. 40.101
  libswscale      5.  3.100 /  5.  3.100
  libswresample   3.  3.100 /  3.  3.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就安装成功了。

ffplay: command not found
如果你要用到ffplay的时候,发现没有这个命令的时候,是因为ffplay和ffmpeg不是在一起的,需要单独下载。ffplay下载地址 http://evermeet.cx/ffmpeg/ 。把下载下来的文件双击打开运行,如果提示Permission denied,到系统偏好设置,打开安全与隐私,允许ffplay运行就可以了。运行完之后,再在.bash_profile文件配置ffplay path就可以了(这个路径就是ffplay文件的位置)。

猜你喜欢

转载自blog.csdn.net/qqqq245425070/article/details/83961218