Python使用ffmpeg完美解决方案(避坑必看)

简介: 如何完美安装ffmpeg。
近期有个需要进行音频转码的小任务需要用到ffmpeg,安装和使用的过程中遇到了很多问题没有办法解决,从网上找了各种教程也是一言难近,本文二哥来梳理一下从0到1在Mac上使用ffmpeg。

一、在系统中安装ffmpeg

第一步需要在系统中安装ffmpeg,很多人都给出了使用brew命令进行下载的方案,在此说一下,多数人brew后都需要等n分钟,最后以报错告终,这种外部网站不稳定,因此强烈不推荐此方法。

稳定的安装方法
第一步:去官网下载安装包:ffmpeg官网
在这里插入图片描述
第二步:选择自己的系统,点图片中的地方:
在这里插入图片描述
第三步:找到某个版本进行下载(ffprobe等)同理
在这里插入图片描述
第四步:解压缩下载好的压缩包得到FFmpeg(得到下面的东西就行了)
在这里插入图片描述

二、配置环境变量

  • 解压好之后ffmpeg程序会直接留在下载时的目录,这时我们找到指定位置创建父文件夹ffmpeg,子文件夹bin,然后将ffmpeg程序移动到bin中。

示例路径如下(最后的ffmpeg是程序!任意位置都行):
在这里插入图片描述

  • 接下来记住这个路径,进行环境变量的配置,打开终端,输入:
vim ~/.bash_profile

然后将下列代码放置到内部(路径换成自己的)

export PATH=$PATH:/Users/seven/opt/ffmpeg/bin

放好的效果如下:
在这里插入图片描述
保存文件退出并在终端执行下列代码(用于激活配置文件):

source ~/.bash_profile

执行完毕之后,输入:

ffmpeg -version

得到如下的结果即可:
在这里插入图片描述

现在你的终端中已经可是使用ffmpeg了。

三、在Python中安装ffmpeg

安装的时候不要鲁莽!不要直接pip install ffmpeg
想要正确的使用我们需要安装的包为ffmpeg-python
正确命令为:

pip install ffmpeg-python

四、配置文件让Python能够使用

安装好了之后,一些简单的函数调用已经能成功了,但是多数人会遇到ffmpeg.run()不能够使用的问题,这时一个核心功能,因此我们需要去修改配置文件。

  • 找到site-package文件夹下的ffmpeg(大致路径如下)

在这里插入图片描述

  • 打开ffmpeg下的_run.py文件并打开。
  • 向下拉,大概在292行,按照下图中的样式修改你的路径并保存即可。

在这里插入图片描述

其他不能使用的函数(工具)也可以效仿这个操作。
至此我们就大功告成了,愉快的在Python中使用吧,遇到其他错误可以在下方留言,解决了你的问题就点个赞吧!!
相关文章
|
18天前
|
Ubuntu
Ubuntu20.04 编译安装FFmpeg,出错分析以及解决方案
通过上述步骤,可以在 Ubuntu 20.04 上成功编译和安装 FFmpeg。如果遇到问题,可以通过检查依赖包的安装情况以及 `config.log` 文件来解决。掌握这些技巧和解决方案,可以有效地解决编译过程中遇到的各种问题,提高安装成功率。
47 13
|
3月前
|
数据可视化 搜索推荐 Shell
Python与Plotly:B站每周必看榜单的可视化解决方案
Python与Plotly:B站每周必看榜单的可视化解决方案
|
8月前
|
Python
Python使用ffmpeg下载m3u8拼接为视频
Python使用ffmpeg下载m3u8拼接为视频
|
3月前
|
数据采集 API 定位技术
Python技术进阶:动态代理IP的跨境电商解决方案
Python技术进阶:动态代理IP的跨境电商解决方案
|
4月前
|
机器学习/深度学习 算法 Python
深度解析机器学习中过拟合与欠拟合现象:理解模型偏差背后的原因及其解决方案,附带Python示例代码助你轻松掌握平衡技巧
【10月更文挑战第10天】机器学习模型旨在从数据中学习规律并预测新数据。训练过程中常遇过拟合和欠拟合问题。过拟合指模型在训练集上表现优异但泛化能力差,欠拟合则指模型未能充分学习数据规律,两者均影响模型效果。解决方法包括正则化、增加训练数据和特征选择等。示例代码展示了如何使用Python和Scikit-learn进行线性回归建模,并观察不同情况下的表现。
746 3
|
5月前
|
前端开发 Python
前后端分离的进化:Python Web项目中的WebSocket实时通信解决方案
在现代Web开发领域,前后端分离已成为一种主流架构模式,它促进了开发效率、提升了应用的可维护性和可扩展性。随着实时数据交互需求的日益增长,WebSocket作为一种在单个长连接上进行全双工通讯的协议,成为了实现前后端实时通信的理想选择。在Python Web项目中,结合Flask框架与Flask-SocketIO库,我们可以轻松实现WebSocket的实时通信功能。
86 2
|
5月前
|
Linux 编译器 开发工具
快速在linux上配置python3.x的环境以及可能报错的解决方案(python其它版本可同样方式安装)
这篇文章介绍了在Linux系统上配置Python 3.x环境的步骤,包括安装系统依赖、下载和解压Python源码、编译安装、修改环境变量,以及常见安装错误的解决方案。
435 1
|
4月前
|
Python
python中3种获取cookie解决方案
python中3种获取cookie解决方案
38 0
|
4月前
|
Java C语言 Python
解析Python中的全局解释器锁(GIL):影响、工作原理及解决方案
解析Python中的全局解释器锁(GIL):影响、工作原理及解决方案
72 0
|
6月前
|
设计模式 开发者 Python
Python中循环依赖问题及其解决方案
循环依赖是 Python 开发中需要特别注意的问题。通过重新设计模块结构、延迟导入、依赖注入、利用 Python 的动态特性以及代码重构等方法,可以有效地解决循环依赖问题。这些策略不仅有助于提高代码的可维护性和可读性,还能避免潜在的运行时错误。在实际开发中,开发者应该根据具体情况选择合适的解决方案。