前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >[1304]ffmpeg安装及使用

[1304]ffmpeg安装及使用

作者头像
周小董
发布2024-11-24 08:02:59
发布2024-11-24 08:02:59
1.1K00
代码可运行
举报
文章被收录于专栏:python前行者python前行者
运行总次数:0
代码可运行
github:https://github.com/BtbN/FFmpeg-Builds/

FFmpeg是一款功能强大的开源多媒体处理工具,它支持几乎所有的视频和音频格式,以及几乎所有的编解码器。

Windows系统安装

下载&解压

打开FFmpeg官网,选择下载

选择Window平台,下面有两个链接,都是可以的,选择其一。

本文以点击第一个链接为例,进去以后,选择左边的release builds,右边出现如下内容:

你可以选择下载上面红色圈中的 release-full 版本,或者选择下面红色圈中的前一个稳定版本 xxx-full_build。

release-full 版本会比下面的 xxx-full_build 版本更新,选择哪一个都可以,看你个人喜好。

至于你是想选择带 shared 的还是不带 shared 的版本,其实都是可以的。因为同一个版本带 shared 的和不带 shared 的,功能是完全一样的。

带 shared 的里面,多了 include、lib 目录。把 FFmpeg 依赖的模块包单独的放在的 lib 目录中。ffmpeg.exe,ffplay.exe,ffprobe.exe 作为可执行文件的入口,文件体积很小,他们在运行的时候,如果需要,会到 lib 中调用相应的功能。

不带 shared 的里面,bin 目录中有 ffmpeg.exe,ffplay.exe,ffprobe.exe 三个可执行文件,每个 exe 的体积都稍大一点,因为它已经把相关的需要用的模块包编译到exe里面去了。

解压以后的内容,如上图所示;进入 bin 目录,复制 bin 目录路径。

配置环境变量

1、在电脑桌面上,打开我的电脑 2、右键打开电脑的属性

3、选择 高级系统设置 -> 高级 -> 环境变量

4、在系统变量中,选择 Path,然后编辑:

5、然后在出来的编辑环境变量表中,新建一个,将刚才复制的 bin 目录路径粘贴进去,保存即可。

验证

重新打开一个命令行窗口,输入: ffmpeg -version,有版本信息输出,则证明配置成功!!

Linux系统安装

对于大多数Linux发行版,FFmpeg通常可以通过包管理器直接安装。

CentOS安装ffmpeg教程:

安装EPEL仓库:

CentOS默认的软件仓库没有包含ffmpeg,需要先安装EPEL仓库,其中包含了ffmpeg软件包。在终端执行以下命令安装EPEL仓库:

代码语言:javascript
代码运行次数:0
复制
sudo yum install epel-release

安装ffmpeg:

安装EPEL仓库后,可以通过yum命令安装ffmpeg。执行以下命令:

代码语言:javascript
代码运行次数:0
复制
sudo yum install ffmpeg

系统将自动下载并安装ffmpeg及其依赖项。

验证安装:

安装完成后,可以通过以下命令验证ffmpeg是否正确安装:

代码语言:javascript
代码运行次数:0
复制
ffmpeg -version

如果安装成功,将显示ffmpeg的版本信息。

以Ubuntu为例:
  • 打开终端。
  • 输入sudo apt-get update命令更新软件包列表。
  • 输入sudo apt-get install ffmpeg命令安装FFmpeg。系统将自动下载并安装FFmpeg及其依赖项。
  • 安装完成后,通过输入ffmpeg -version命令来验证安装。

FFmpeg的使用

FFmpeg提供了丰富的命令行选项,用于执行各种多媒体处理任务。以下是一些常用的FFmpeg命令示例。

视频转码

示例:将MP4视频转码为AVI格式

代码语言:javascript
代码运行次数:0
复制
ffmpeg -i input.mp4 -vcodec copy -acodec copy output.avi

这个命令会将input.mp4文件转码为output.avi文件,但视频和音频流都是直接复制的,没有进行重新编码。如果需要重新编码,可以指定不同的编解码器,如-vcodec libx264(用于视频)和-acodec aac(用于音频)。

视频裁剪

示例:裁剪视频的一部分

代码语言:javascript
代码运行次数:0
复制
ffmpeg -i input.mp4 -ss 00:00:10 -t 10 -c copy output.mp4

这个命令会裁剪input.mp4文件,从第10秒开始,截取接下来的10秒,并将裁剪后的视频保存为output.mp4-ss参数指定起始时间,-t参数指定持续时间,-c copy表示直接复制流而不进行重新编码。

视频合并

示例:合并多个视频文件

FFmpeg本身没有直接的命令来合并视频文件,但你可以使用concat协议或concat过滤器来实现。

  • 创建一个文本文件(如filelist.txt),列出要合并的视频文件,每行一个文件路径。
  • 使用以下命令合并视频:
代码语言:javascript
代码运行次数:0
复制
ffmpeg -f concat -safe 0 -i filelist.txt -c copy output.mp4
音频提取

示例:从视频文件中提取音频

代码语言:javascript
代码运行次数:0
复制
ffmpeg -i input.mp4 -vn -ar 44100 -ac 2 -ab 192k -f mp3 output.mp3

这个命令会从input.mp4文件中提取音频,并将其保存为output.mp3文件。-vn参数表示禁用视频流,-ar-ac-ab分别指定音频的采样率、声道数和比特率,-f mp3指定输出格式为MP3。

查看视频编码信息

示例:使用ffprobe查看视频编码信息

代码语言:javascript
代码运行次数:0
复制
ffprobe -v error -show_format -show_streams input.mp4

这个命令会输出input.mp4文件的详细编码信息,包括视频和音频流的编解码器类型、分辨率、帧率、采样率等。这对于分析视频文件的兼容性和进行后续处理非常有用。

参考:https://www.cnblogs.com/wwwwariana/p/18191233 https://blog.csdn.net/baidu_37366055/article/details/139833145 https://blog.csdn.net/shiming8879/article/details/141985511

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-11-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • github:https://github.com/BtbN/FFmpeg-Builds/
  • Windows系统安装
    • 下载&解压
    • 配置环境变量
    • 验证
  • Linux系统安装
    • CentOS安装ffmpeg教程:
    • 以Ubuntu为例:
  • FFmpeg的使用
    • 视频转码
    • 视频裁剪
    • 视频合并
    • 音频提取
    • 查看视频编码信息
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档