前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >轻松在Linux/Mac/Windows上配置FFmpeg开源音频工具

轻松在Linux/Mac/Windows上配置FFmpeg开源音频工具

原创
作者头像
Mintimate
修改2021-07-06 12:07:55
2.8K0
修改2021-07-06 12:07:55
举报
文章被收录于专栏:Mintimate's BlogMintimate's Blog

作者:Mintimate

博客:https://www.mintimate.cn

Mintimate's Blog,只为与你分享

FFmpeg
FFmpeg

FFmpeg

“FFmpeg”这个项目单词中的“FF”指的是“Fast Forward(快速前进),而“mpeg”指的是“Moving picture expert group”。这个项目主要用于图片、声音处理,目前广泛 被用于视频软件和视频处理中。

官网描述
官网描述

使用FFmepg可以轻松(包括但不限于):

🎥视频转码

使用FFmpeg,可以轻松讲MP4格式文件,转码为Mov格式,或者是其他格式视频。方便储存视频到不同平台。

使用FFmpeg将MOV格式视频转码为MP4
使用FFmpeg将MOV格式视频转码为MP4

🎙音频抽离

有时候,我们又一个MV(Music Video),但是我们想将它变成纯音频格式放进我们的MP3里。这个时候,我们可以使用FFmpeg来抽离音频,如:

代码语言:txt
复制
# 抽离Mintimate.mov的音频为Mintimate.acc音频
ffmpeg -i Mintimate.mov -vn -y -acodec copy Mintimate.aac
# 抽离Mintimate.mp4的音频为Mintimate.mp3音频
ffmpeg -i Mintimate.mov -vn -y -acodec copy Mintimate.mp3
抽离音频
抽离音频
抽离的音频
抽离的音频

📽直播录屏

一般的网站,直播可能有一个m3u8的播放地址,这个地址是CDN的视频流。我们可以使用FFmpeg,对这个视频流进行录制:

代码语言:txt
复制
ffmpeg -i https://这里是直播地址嗷/Mintimate.m3u8 -c:v copy -c:a copy -bsf:a aac_adtstoasc Output.mp4
录制视频
录制视频

这样,你可以把直播录下来。分享给小伙伴。

本文须知

因为FFmepg用途很广,且不同场景下还有特定参数。一篇文章无法同时详解配置和使用。所以,本文章,主要讲解如何在Linux/Mac/Windows上配置FFmepg。

🔗相关链接:

Linux上配置FFmpeg

Linux安装FFmpeg很简单,两种方法:

  • 快速编译:使用Linux发行版本自带的软件包工具(apt-get、yum等)快速安装仓库内预先编译好版本的FFmpeg。
  • 手动配置:到FFmpeg项目官网,下载预编译版本FFmpeg或FFmpeg源码进行编译,并配置到环境变量。

快速编译

首先确定你Linux基于的发行版本,大部分人是基于CentosDebian,打开终端试试就知道:

基于Debian,输入apt-get
基于Debian,输入apt-get

如果你输入apt-get,发现出现apt-get: command not found。那么可以使用yum试试。反之同理。

之后,你在终端内输入:

代码语言:txt
复制
# For Debian
apt-get install ffmpeg
# For Centos
yum install ffmpeg

一般会询问是否按安装:

确认安装,输入“y”后回车
确认安装,输入“y”后回车

之后,“跑码”完成后,FFmpeg就安装好了:

安装完成
安装完成

如果失败,且出现下列提示:

地址解析失败
地址解析失败

一般是你apt-get/yum太久没更新,或者你换过它们的源,没有更新配置。只需要运行:

代码语言:txt
复制
# For Debian
apt-get update
# For Centos
yum update

之后在运行FFmpeg安装命令即可。

手动配置

因为Linux不同设备编译过程参数不一样,本文不提供编译安装方法。这边提供下载预编译版本FFmpeg,并配置到环境变量

首先,进入FFmpeg官方Linux预编译版本页面内,下载对应系统架构的FFmpeg:

根据架构选择
根据架构选择

我Linux设备是x64设备,所以选择amd64版本。终端内,创建FFmpeg文件夹,并下载解压这个文件:

代码语言:txt
复制
# 下载FFmpeg
wget "https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz"
# 解压
tar -xf ffmpeg-release-amd64-static.tar.xz 

之后,我们配置环境变量:

  • 如果你用bash,那么,配置/etc/profile这个文件
  • 如果你使用ZSH,那么配置~/.zhsrc这个文件

大部分Linux用户使用bash,所以我们演示一下:

代码语言:txt
复制
# 编辑/etc/profile
vim /etc/profile

进入后,按i进入编辑模式,文末添加:

代码语言:txt
复制
# FFmpeg
export PATH=$PATH:「Path」
保存并退出
保存并退出

之后,再重载配置文件:

代码语言:txt
复制
source /etc/profile

即可:

安装完成
安装完成

Mac上配置FFmpeg

macOS上安装FFmpeg也很简单,两种方法:

  • 快速编译:使用Homebrew软件包工具快速安装仓库内预先编译好版本的FFmpeg,但是因为FFmpeg不在Homebrew官方仓库内,即使换源Homebrew也要连接GitHub。
  • 手动配置:到FFmpeg项目官网,下载预编译版本FFmpeg或FFmpeg源码进行编译,并配置到环境变量。

本文手动配置使用的是预编译版本FFmpeg,预编译版本目前并没有适配M1芯片设备。请使用快速编译方法!

快速编译

这个很简单,不再赘述。已经安装Homebrew的用户,终端内输入:

代码语言:txt
复制
brew install ffmpeg

漫长等待后,FFmpeg就安装好了。

手动配置

相信很多macOS用户并没有手动配置过环境。这边重点讲解如何手动配置。同样我们下载预编译版本的FFmpeg:FFmpeg官方macOS预编译版本

我们下载最新版本:

下载4.4版本FFmpeg
下载4.4版本FFmpeg

下载后,解压放到我们熟悉的地址,如:/Users/mintimate/ffmpeg:

下载好后,解压到熟悉的地址
下载好后,解压到熟悉的地址

之后,我们配置到环境变量即可:

代码语言:txt
复制
open ~/.zshrc

在文木添加:

代码语言:txt
复制
# FFmpeg
export PATH=$PATH:/Users/mintimate/ffmpeg

保存后,终端内输入source ~/.zsshrc或重启终端即可:

ffmpeg安装完成
ffmpeg安装完成

Windows上配置FFmpeg

Windwos的配置最为简单,我们进入FFmpeg项目官方Windows预编译下载界面:

FFmpeg下载
FFmpeg下载

这边我推荐使用:GPL协议版本。

📖配置环境变量

举个例子,我们下来了:ffmpeg-n4.4-4-gacb339bb88-win64-gpl-4.4.zip

我们下载好并解压,得到以下文件:

得到的文件
得到的文件

之后,我们打开环境变量:

环境变量
环境变量

编辑Path,添加一条记录到刚刚解压出文件的bin文件夹下:

编辑Path
编辑Path
添加记录
添加记录

🔧使用FFmpeg

配置好,保存后就可以在CMDPowershell等地方使用FFmpeg了:

使用FFmpeg
使用FFmpeg

总结

其实FFmpeg的配置很简单,而且配置方法多种多样。但是FFmpeg这个根据却相当好用。如果你对此感兴趣,可以自己探索探索使用FFmpeg,将它运用到代码内,进一步提高你代码的功能性。

最后,感觉文章有用,不要忘记点赞👍嗷

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • FFmpeg
    • 🎥视频转码
      • 🎙音频抽离
        • 📽直播录屏
        • 本文须知
        • Linux上配置FFmpeg
          • 快速编译
          • 手动配置
          • Mac上配置FFmpeg
            • 快速编译
              • 手动配置
              • Windows上配置FFmpeg
                • 📖配置环境变量
                  • 🔧使用FFmpeg
                  • 总结
                  相关产品与服务
                  云直播
                  云直播(Cloud Streaming Services,CSS)为您提供极速、稳定、专业的云端直播处理服务,根据业务的不同直播场景需求,云直播提供了标准直播、快直播、云导播台三种服务,分别针对大规模实时观看、超低延时直播、便捷云端导播的场景,配合腾讯云视立方·直播 SDK,为您提供一站式的音视频直播解决方案。
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档