Mac上Python使用ffmpeg完美解决方案(避坑必看!)
目录
- 一、在系统中安装ffmpeg
- 二、配置环境变量
- 三、在Python中安装ffmpeg
- 四、配置文件让Python能够使用
- 总结
近期有个需要进行音频转码的小任务需要用到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中使用吧,遇到其他错误可以在下方留言,解决了你的问题就点个赞吧!!
总结
到此这篇关于Mac上Python使用ffmpeg完美解决方案的文章就介绍到这了,更多相关Python使用ffmpeg解决方案内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
相关推荐
-
python ffmpeg任意提取视频帧的方法
环境准备 1.安装 FFmpeg 音/视频工具 FFmpeg 简易安装文档 2.安装 ffmpeg-python pip3 install ffmpeg-python 3.[可选]安装 opencv-python pip3 install opencv-python 4.[可选]安装 numpy pip3 install numpy 视频帧提取 准备视频素材 抖音视频素材下载:https://anoyi.com/dy/top 基于视频帧数提取任意一帧 import ffmpeg import
-
Python3 ffmpeg视频转换工具使用方法解析
windows版本下需要先安装ffmpeg工具: 1:先下载指定(https://ffmpeg.zeranoe.com/builds/) 有Static,Shared,Dev三个版本, 可以下载了static版本(是个zip压缩包),解压到指定目录,去配置环境变量,比如d:\ffmpeg\bin,这样bin下面的ffmpeg.exe就可以在命令行中使用了,可以用ffmpeg -version测试一下: 2:安装ffmpeg的python扩展,该扩展可以让你直接在python脚本中直接调用,而不需
-
python利用ffmpeg进行录制屏幕的方法
前几天下载了几个视频,但是有两集是一个视频的,偶尔找到了ffmpeg处理视频的方法,它的功能非常强大.因此,分享一下,一起学习. import subprocess,sys,os import re class CutSplicingVdeio(object): def __init__(self): pass #dercription CutSplicingVdeio this class function def instructions(self): dercription="vdeio
-
Python使用ffmpeg合成视频、音频的实现方法
最近有在使用屏幕录制软件录制桌面,在用的过程中突发奇想,使用python能不能做屏幕录制工具,也锻炼下自己的动手能力.接下准备写使用python如何做屏幕录制工具的系列文章: 录制屏幕制作视频录制音频 合成视频,音频 基于pyqt5制作可视化窗口 大概上述四个部分,希望自己能够尽快完善,前两篇文章分享了利用opencv制作了屏幕录制部分,利用PyAudio录制音频,本篇文章分享如何使用ffmpeg将同时录制的屏幕录像和音频合成为有声音的屏幕录像. 应用平台 windows 10 python 3
-
Mac上Python使用ffmpeg完美解决方案(避坑必看!)
目录 一.在系统中安装ffmpeg 二.配置环境变量 三.在Python中安装ffmpeg 四.配置文件让Python能够使用 总结 近期有个需要进行音频转码的小任务需要用到ffmpeg,安装和使用的过程中遇到了很多问题没有办法解决,从网上找了各种教程也是一言难近,本文二哥来梳理一下从0到1在Mac上使用ffmpeg. 一.在系统中安装ffmpeg 第一步需要在系统中安装ffmpeg,很多人都给出了使用brew命令进行下载的方案,在此说一下,多数人brew后都需要等n分钟,最后以报错告终,这种外
-
python函数默认参数使用避坑指南
目录 引言 verify 炸弹 测试接口的数据 原因 改进方案 引言 阿刁是一个自动化测试用例,从一出生他就被赋予终生使命,去测试一个叫登录的过程是否合理.他一直就被关在一个小黑屋里面,从来也没有出去过,小黑屋里还被关着其他的同胞,他们身上都捆着两个小袋子. 小黑屋里很难受,他们都想跑出去,可怎么也跑不出去.Python 是他们的总司令,有一次,python 告诉他们,你们就不要想着跑出去了,你们已经够幸运了,只有 8 个人用这个屋子,别的屋子都挤着 30 多个人呢! “这里还有其他的屋子?”
-
python pipeline的用法及避坑点
说明 1.在使用之前需要在settings中打开. 2.pipeline在settings中键表示位置(即pipeline在项目中的位置可以自定义),值表示离引擎的距离,越近数据越先通过:权重值小的优先执行. 3.当pipeline较多时,process_item的方法必须是returnitem,否则后一个pipeline获得的数据就是None值. pipeline中必须有process_item方法,否则item无法接收和处理. 实例 from sklearn.pipeline import
-
Python学习之异常处理的避坑指南
目录 finally与return的执行顺序 else与return的执行顺序 总结 最终想了想,还是把这个章节单独拎出来,虽然字数不多. 在代码中,存在return也应当执行finally: 存在return时,else是不执行的: 无return时,else正常执行: 如果发生异常,则else也不执行 finally 与 return 的执行顺序 示例代码如下: class Test(object): def division(self, num1, num2): t
-
python 读写、创建 文件的方法(必看)
python中对文件.文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块. 得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd() 返回指定目录下的所有文件和目录名:os.listdir() 函数用来删除一个文件:os.remove() 删除多个目录:os.removedirs(r"c:\python") 检验给出的路径是否是一个文件:os.path.isfile() 检验给出的路径是否是一个目录:os.path.isdir() 判断是否是绝对路
-
线上MYSQL同步报错故障处理方法总结(必看篇)
前言 在发生故障切换后,经常遇到的问题就是同步报错,数据库很小的时候,dump完再导入很简单就处理好了,但线上的数据库都150G-200G,如果用单纯的这种方法,成本太高,故经过一段时间的摸索,总结了几种处理方法. 生产环境架构图 目前现网的架构,保存着两份数据,通过异步复制做的高可用集群,两台机器提供对外服务.在发生故障时,切换到slave上,并将其变成master,坏掉的机器反向同步新的master,在处理故障时,遇到最多的就是主从报错.下面是我收录下来的报错信息. 常见错误 最常见的3种情
-
基于fileUpload文件上传带进度条效果的实例(必看)
文件上传过程中,如果我们能看到进度条会更好,实现思路是服务器端用监听器实时监听进度并存入session,客户端异步请求服务器端获得上传进度,并进行效果渲染. 效果图: 服务器端servlet: public class UploadServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException
-
Python 安装setuptools和pip工具操作方法(必看)
setuptools模块和pip模块是python进行第三方库扩展的极重要工具,例如我们在需要安装一些爬虫或者数据分析的包时就可以使用pip install命令来直接安装这些包了,因此pip工具一定要提前安装. 一.安装setuptools 在python交互界面执行如下命令,脚本我单独拿出来: from urllib import urlopen data = urlopen('http://peak.telecommunity.com/dist/ez_setup.py') open('ez_
-
python之virtualenv的简单使用方法(必看篇)
什么是virtualenv? virtualenv可以创建独立Python开发环境,比如当前的全局开发环境是python3.6,现在我们有一个项目需要使用django1.3,另一个项目需要使用django1.9,这个时候就可以使用virtualenv创建各自的python开发环境了. virtualenv的优点 使不同的应用开发环境独立 环境升级不影响其他的应用,也不会影响全局的python开发环境 它可以防止系统中出现包管理混乱和版本的冲突 安装和新建虚拟环境 cmd下输入:前提是你的pyth
-
python对gif图压缩的完美解决方案
目录 1. 背景: 2.寻找解决办法 2.1可行性分析 3.问题分解 3.1将gif文件分解 3.1.1示例代码 3.1.2 效果图 4.代码优化 5.做成一个通用工具 5.1创建一个虚拟环境 5.2虚拟环境安装必要库 5.3打包 5.4把.gif文件放到compress.exe文件夹下 5.5双击.exe查看打包效果 5.6压缩后的图片效果 总结 1. 背景: 最近写了一篇CSDN博客需要上传gif图,发现大小超过了5M,无法上传. 文件大小: 本想自己找个免费的压缩工具,结果下载下来的工具不
随机推荐
- asp批量添加修改删除操作示例代码
- Docker设置代理的方法教程
- MySQL 管理
- javascript实现的DES加密示例
- js跳转页面方法总结
- iOS上下文实现评价星星示例代码
- PHP实现一个多功能购物网站的案例
- php中的动态调用实例分析
- php获取文件内容最后一行示例
- Android实现动态高斯模糊效果
- 解决mysql输入密码闪退的问题
- JSP实现在线考试与成绩评测
- javascript克隆元素样式的实现代码
- php中函数前加&符号的作用分解
- C# 添加、修改以及删除Excel迷你图表的实现方法
- Python3 伪装浏览器的方法示例
- java的url方式、本地方式获取json文件内容
- 小程序如何使用分包加载的实现方法
- 易语言展开收起程序制作
- django创建超级用户过程解析