如何在 macos 上为 ffmpeg 启用 libx264

     2023-02-21     187

关键词:

【中文标题】如何在 macos 上为 ffmpeg 启用 libx264【英文标题】:how to enable libx264 for ffmpeg on macos 【发布时间】:2020-12-26 20:29:12 【问题描述】:

我正在运行一个运行 ffmpeg 的代码,但由于 libx264 而崩溃并出现以下错误:

未知编码器'libx264'

  File "/anaconda3/lib/python3.6/site-packages/imageio/plugins/ffmpeg.py", line 661, in _append_data
    self._proc.stdin.write(im.tostring())
BrokenPipeError: [Errno 32] Broken pipe

于是我将ffmpeg升级到最新,看到libx264安装如图:Using Brew on MacOs

==> Pouring x264-r3027_1.high_sierra.bottle.tar.gz

 /usr/local/Cellar/x264/r3027_1: 11 files, 5.5MB

但是当我这样做时

ffmpeg encoders | grep 264

我在最后一行得到--disable-libx264:

ffmpeg version 4.0 Copyright (c) 2000-2018 the FFmpeg developers
  built with clang version 4.0.1 (tags/RELEASE_401/final)
  configuration: --prefix=/anaconda3 --cc=x86_64-apple-darwin13.4.0-clang --disable-doc --enable-shared --enable-static 

--enable-zlib --enable-pic --enable-gpl --enable-version3 --disable-nonfree --enable-hardcoded-tables --enable-avresample --enable-libfreetype --disable-openssl --disable-gnutls --enable-libvpx --enable-pthreads --enable -libopus --enable-postproc --disable-libx264

似乎我必须将 --disable-libx264 更改为 --enable-libx264 但不确定在哪里以及如何完成。在 /anaconda3 下找不到它,因为:--prefix=/anaconda3

【问题讨论】:

【参考方案1】:

我删除了 Brew,改为运行 conda install ffmpeg 并在那里启用。

【讨论】:

【参考方案2】:

如果您使用 Conda 安装 x264 和 ffmpeg,您需要今天(将来可能会更改)指定要安装的版本。例如,这种组合对我来说效果很好:

$ conda install -c conda-forge x264=='1!161.3030' ffmpeg=4.3.2

如果我现在运行命令ffmpeg,我可以看到我有标志--enable-libx264。完整的输出是:

$ ffmpeg
ffmpeg version 4.3.2 Copyright (c) 2000-2021 the FFmpeg developers
  built with clang version 11.1.0
  configuration: --prefix=/Users/vincent/opt/anaconda3/envs/test2 --cc=x86_64-apple-darwin13.4.0-clang --disable-doc --disable-openssl --enable-avresample --enable-gnutls --enable-gpl --enable-hardcoded-tables --enable-libfreetype --enable-libopenh264 --enable-libx264 --enable-pic --enable-pthreads --enable-shared --enable-static --enable-version3 --enable-zlib --enable-libmp3lame --pkg-config=/Users/runner/miniforge3/conda-bld/ffmpeg_1627813741069/_build_env/bin/pkg-config
  libavutil      56. 51.100 / 56. 51.100
  libavcodec     58. 91.100 / 58. 91.100
  libavformat    58. 45.100 / 58. 45.100
  libavdevice    58. 10.100 / 58. 10.100
  libavfilter     7. 85.100 /  7. 85.100
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  7.100 /  5.  7.100
  libswresample   3.  7.100 /  3.  7.100
  libpostproc    55.  7.100 / 55.  7.100
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... [outfile options] outfile...

我猜这个问题来自于今天默认安装的 ffmpeg 版本(写这篇文章的时候)。事实上,如果在新创建的虚拟环境中我安装 x264 和 ffmpeg 而不指定要使用的版本,我会得到 x264 1!161.3030 和 ffmpeg 4.0。使用较新版本的 ffmpeg 似乎可以解决问题。

我们的想法是使用兼容的软件包版本。为了创建我上面建议的安装行,我只是指定了 x264 和 ffmpeg 包的 conda-forge 上可用的最新版本。要获取 x264 和 ffmpeg 的可用 Conda 包列表,只需使用:

conda search -c conda-forge -f x264
conda search -c conda-forge -f ffmpeg

【讨论】:

如何在 macOS 上为 IntelliJ 项目安装 Google OR-Tools

】如何在macOS上为IntelliJ项目安装GoogleOR-Tools【英文标题】:HowtoinstallGoogleOR-ToolsforanIntelliJprojectonmacOS【发布时间】:2019-05-2508:28:27【问题描述】:我正在尝试为GoogleOR-Tools运行VRPJava示例,但不断收到UnsatisfiedLinkError:nojniortoolsinjava.... 查看详情

如何在 MacOS (sierra-catalina) 上为分区获取可用空间

】如何在MacOS(sierra-catalina)上为分区获取可用空间【英文标题】:HowtogetavailablefreespaceforapartitiononMacOS(sierra-catalina)【发布时间】:2020-04-2806:56:30【问题描述】:尝试获取每个分区的可用磁盘空间,我在网上找到了许多解决方案,... 查看详情

如何在 macOS 上为 Qt 窗口使用 Objective-C 变量和方法?

】如何在macOS上为Qt窗口使用Objective-C变量和方法?【英文标题】:HowdoIuseObjective-CvariablesandmethodsforaQtwindowonmacOS?【发布时间】:2018-04-1807:10:01【问题描述】:我在Qt项目中有以下代码,我想在Objective-C中将窗口的titlebarAppearsTranspare... 查看详情

如何在 Textmate 上为 Sencha 启用代码完成/代码感知

】如何在Textmate上为Sencha启用代码完成/代码感知【英文标题】:Howtoenablecodecompletion/codesenseforSenchaonTextmate【发布时间】:2011-11-2502:13:30【问题描述】:我已经使用CODA很长时间了,现在正计划迁移到TextMate。在sencha屏幕投射中,我... 查看详情

如何在 Sidekiq 上为 Redis 6 启用 TLS?

】如何在Sidekiq上为Redis6启用TLS?【英文标题】:HowtoenableTLSforRedis6onSidekiq?【发布时间】:2021-04-2607:05:40【问题描述】:问题在我的RubyonRails应用程序中,HerokuRedisPremium0插件不断出现以下错误:OpenSSL::SSL::SSLError:SSL_connectreturned=1err... 查看详情

如何在 MacOS 12 上为 php 7.1 安装 mcrypt 扩展以进行 Laravel 开发?

】如何在MacOS12上为php7.1安装mcrypt扩展以进行Laravel开发?【英文标题】:HowdoIinstallmcryptextensionforphp7.1onMacOS12forLaraveldevelopment?【发布时间】:2017-04-2519:18:38【问题描述】:这让我发疯了,遵循所有在线教程并没有帮助。我刚刚升... 查看详情

如何在macos中用librtmp编译ffmpeg?

】如何在macos中用librtmp编译ffmpeg?【英文标题】:howtocompileffmpegwithlibrtmpinmacos?【发布时间】:2012-06-0118:25:31【问题描述】:我尝试过像这样通过自制软件在maclion中安装ffmpeg:brewinstall--use-clangffmpeg--with-tools--with-ffplay--enable-librtmp... 查看详情

如何在 montavista linux 上为守护进程启用核心转储?

】如何在montavistalinux上为守护进程启用核心转储?【英文标题】:HowdoIenablecoredumpsfordaemonprocessesonmontavistalinux?【发布时间】:2010-08-3016:41:39【问题描述】:我不确定***是否适合此问题,但由于这是针对嵌入式开发的,而且我需要... 查看详情

如何在 Android (Xamarin) 上为 AWS SNS 启用推送通知

】如何在Android(Xamarin)上为AWSSNS启用推送通知【英文标题】:howtoenablepushnotificationsonAndroid(Xamarin)forAWSSNS【发布时间】:2016-03-1120:53:05【问题描述】:我已经尝试了几个小时来为Android启用推送通知,以便可以将它与AmazonSNS一起使用... 查看详情

如何在浏览器上为 xampp htdocs 项目启用简单名称

】如何在浏览器上为xampphtdocs项目启用简单名称【英文标题】:Howtoenablesimplenamesforxampphtdocsprojectsonthebrowser【发布时间】:2019-08-0202:31:16【问题描述】:我想在浏览器上输入cmssystem.test并将我引导到我在xampp中的htdocs中的项目,而... 查看详情

如何在 FFMPEG 4.1 中启用 LHLS?

】如何在FFMPEG4.1中启用LHLS?【英文标题】:HowtoenableLHLSinFFMPEG4.1?【发布时间】:2019-11-0403:26:43【问题描述】:我正在尝试使用FFMPEG创建低延迟CMAF视频流。为此,我想在FFMPEG中启用lhls选项,以便在HLS清单中写入#EXT-X-PREFETCH标签。... 查看详情

如何在 MAC Sierra (MAMP) 上为 PHP7.1 启用 OPCache

】如何在MACSierra(MAMP)上为PHP7.1启用OPCache【英文标题】:HowtoenableOPCacheforPHP7.1onMACSierra(MAMP)【发布时间】:2017-08-0103:17:00【问题描述】:我已经从GitHub安装了OPCacheGUI并安装在我的Mac中。但是当我运行页面时,它显示ZendOPcache扩展已... 查看详情

如何在 BitBucket Pipelines 上为 apt-get 启用/设置依赖缓存

】如何在BitBucketPipelines上为apt-get启用/设置依赖缓存【英文标题】:Howtoenable/setupDependencyCachesforapt-getonBitBucketPipelines【发布时间】:2018-02-0806:22:35【问题描述】:我在我的bitbucket-pipelines.yml文件中使用以下代码将代码远程部署到... 查看详情

如何启用 FFMPEG 日志记录以及在哪里可以找到 FFMPEG 日志文件?

】如何启用FFMPEG日志记录以及在哪里可以找到FFMPEG日志文件?【英文标题】:HowdoIenableFFMPEGloggingandwherecanIfindtheFFMPEGlogfile?【发布时间】:2011-01-0504:23:15【问题描述】:我希望能够记录FFMPEG进程,因为我正在尝试计算转换一分钟... 查看详情

如何在(apache 2.4)centos 7 上为 CodeIgniter 部署启用 mod_rewrite?

】如何在(apache2.4)centos7上为CodeIgniter部署启用mod_rewrite?【英文标题】:Howtoenablemod_rewriteon(apache2.4)centos7forCodeIgniterDeployment?【发布时间】:2016-07-2617:14:02【问题描述】:我正在尝试解决我关于如何在apache2.4.6上启用mod_rewrite模... 查看详情

在 VSC 上为 .tsx 文件启用 Emmet

...2018-09-1904:08:40【问题描述】:我正在使用VisualStudioCode。如何在.tsx文件上启用emmet?我想要一个简单的.foo+tab扩展为<divclassName="Foo"></div>但是,我尝试过的任何操作似乎都没有触发emmet的上述预期行为。这是我的 查看详情

MobileFirst 6.3 本机 API 项目在 MacOS 上为空 /include 文件夹

...这只发生在我的MacOSEclipse上,但在我的WindowsEclipse上正常如何重现?1)创建一 查看详情

在 MacOS 上为 Flutter 安装 cocoapods 时出现问题

】在MacOS上为Flutter安装cocoapods时出现问题【英文标题】:IssueinstallingcocoapodsforFlutteronMacOS【发布时间】:2021-04-1209:24:46【问题描述】:最初,我尝试安装Ruby而不是在MacOS上使用on并使用geminstallcocoapods安装cocoapods但这不起作用并给... 查看详情