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中使用吧,遇到其他错误可以在下方留言,解决了你的问题就点个赞吧!!
相关文章
|
2月前
|
存储 IDE 测试技术
探索Python中的变量宇宙:详尽解读与实战避坑指南
【4月更文挑战第4天】本文深入探讨了Python变量,包括其声明与赋值、数据类型,以及常见错误和应对策略。通过实例展示了变量在存储用户输入、计算、控制流程和函数参数等方面的应用。强调了理解变量作用域、避免类型不匹配和未初始化的错误,同时提出了最佳实践,如明确命名、避免冗余、适时复用和使用类型提示,以提升编程效率和代码质量。
45 2
|
2月前
|
Linux 开发工具 C语言
Centos8下编译安装最新版ffmpeg解决方案(含Centos8换源阿里云)
Centos8下编译安装最新版ffmpeg解决方案(含Centos8换源阿里云)
539 3
|
14天前
|
Python
Python使用ffmpeg下载m3u8拼接为视频
Python使用ffmpeg下载m3u8拼接为视频
41 1
|
21天前
|
机器学习/深度学习 人工智能 自然语言处理
好书推荐丨人工智能B2B落地实战:基于云和Python的商用解决方案
好书推荐丨人工智能B2B落地实战:基于云和Python的商用解决方案
22 3
好书推荐丨人工智能B2B落地实战:基于云和Python的商用解决方案
|
5天前
|
存储 数据库 Python
Python 脚本死锁问题与解决方案
该 Python 脚本旨在启动多个线程,每个线程又通过 Popen 启动一个子进程。子进程将从一个数据库中的表格中将 10M 条记录传输到另一个数据库中的不同表格中。这个过程中会涉及大量的数据整理和转换,因为两个数据库具有不同的架构。子进程在执行过程中,如果遇到错误(如错误的记录或重复的主键)或执行成功,都会输出 “Done\n”;如果没有更多记录可供传输,则会输出 “NO DATA\n”。
|
13天前
|
Python Windows
在 Windows 平台下打包 Python 多进程代码为 exe 文件的问题及解决方案
在使用 Python 进行多进程编程时,在 Windows 平台下可能会出现将代码打包为 exe 文件后无法正常运行的问题。这个问题主要是由于在 Windows 下创建新的进程需要复制父进程的内存空间,而 Python 多进程机制需要先完成父进程的初始化阶段后才能启动子进程,所以在这个过程中可能会出现错误。此外,由于没有显式导入 Python 解释器,也会导致 Python 解释器无法正常工作。为了解决这个问题,我们可以使用函数。
19 5
|
19天前
|
编解码 Linux 计算机视觉
python 调用ffmpeg使用usb摄像头录制视频,输出h264格式,自动获取摄像头的最佳帧率和最大画面尺寸
使用 Python 调用 FFmpeg 进行 USB 摄像头视频录制,需先确保安装 FFmpeg 和 Python 的 `subprocess` 模块。代码示例展示了如何自动获取摄像头的最佳帧率和最大分辨率,然后录制视频。首先通过 FFmpeg 列出摄像头格式获取信息,解析出帧率和分辨率,选择最优值。之后调用 FFmpeg 命令录制视频,设置帧率、分辨率等参数。注意 `/dev/video0` 是 Linux 的摄像头设备路径,Windows 系统需相应调整。代码中未直接实现自动获取最佳参数,通常需要借助其他库如 OpenCV。
|
21天前
|
监控 Unix 程序员
Python 实现 Unix 'tail' 命令的完整解决方案
这是一个关于Python实现的 tail 命令库的摘要,最初由一个斯里兰卡程序员编写。代码中存在一个问题,在获取文件大小时可能抛出文件不存在的异常,已修复此 bug,添加了错误处理。修复后的代码包含一个名为 `wait_file_get_size` 的函数,用于安全地获取文件大小。此外,提供了类 `Tail`,用于监视文件变化,并可注册回调函数处理新行。
|
27天前
|
编解码 Python
音频剪裁大师:使用 Python 和 ffmpeg 分割音频的完整指南
使用 Python 和 ffmpeg 进行音频文件分割。通过 `subprocess` 模块调用 ffmpeg 命令,定义 `split_audio` 函数,输入参数包括音频文件、起始时间、持续时间和输出文件名。函数构建命令行指令进行分割,然后执行。运行脚本,即可按指定时间从音频中提取片段。简单易用,适用于多种音频处理场景。
19 1
|
2月前
|
算法 Python
打造高效生产排程:Python在APS解决方案中的应用
打造高效生产排程:Python在APS解决方案中的应用
58 2