搞音视频、流媒体的圈子,没法躲开ffmpeg这个神级项目。

FFmpeg 是一个功能强大且广泛使用的多媒体处理工具。FFmpeg 具备众多出色的特性。它支持多种音频和视频格式的转换,能轻松将一种格式的文件转换为另一种,满足不同设备和应用的需求。不仅如此,它还可以进行视频的裁剪、合并、提取音频等操作,让用户能够根据具体需求定制多媒体内容。
FFmpeg 具有高效的编码和解码能力,能够优化媒体文件的大小和质量,在不损失太多画质或音质的前提下减小文件体积,便于存储和传输。
无论是专业的多媒体开发者,还是普通用户需要对音视频进行简单处理,FFmpeg 都提供了强大而灵活的解决方案。它的开源性质也使得其不断得到更新和改进,成为多媒体处理领域的重要工具之一。
截至 2024 年 7 月 21 日,FFmpeg 依然在不断发展和完善,为多媒体处理带来更多的可能性。
项目地址:https://ffmpeg.org/
很多知名软件都是在这个开源项目上二次开发得来,如果不能遵循ffmpeg的开源协议,则会被钉在“耻辱柱”上。


“FFmpeg 耻辱柱(Hall Of Shame)”是 FFmpeg 官方设立的一个名单,用于公布那些被发现不遵守开源协议(LGPL 或 GPL 许可证)的软件或其母公司。
FFmpeg 是一套开源的计算机程序,可以记录、转换数字音频和视频,并能将其转化为流。它被许多开源项目采用,任何人都可以在遵守协议的情况下自由使用。然而,有很多使用了 FFmpeg 代码的播放软件等,没有公开任何源代码,这种行为违反了相关的开源协议。
以下是部分曾被列入“FFmpeg 耻辱柱”的软件或公司:
暴风影音:2009 年 5 月,网友发现其安装程序内包含了大量开源和私有解码器。

QQ 影音:2009 年 11 月,被网友举报没有遵循 LGPL 协议,实际使用了修改过的 ffdshow(采用 GPL 许可证)。

格式工厂:其使用了 FFmpeg 的源代码却未按要求开源,并且软件中集成了可能存在风险的组件。FFmpeg 官方通知后,据了解格式工厂官方并未做出回应。

FFmpeg 设立“耻辱柱”更多的是一种精神层面的警示,旨在促使相关软件或公司遵守许可条款,以维护开源社区的规则和精神。尽管没有物质上的惩罚,但这种公开曝光的方式可以对违规者的声誉产生一定影响。
需要注意的是,FFmpeg 耻辱柱名单可能随着时间推移而有所变化,而且一些曾经在名单上的软件或公司可能在之后采取了措施来遵守开源协议并从名单中移除。开源软件的发展依赖于开发者和使用者共同遵守相关的协议和规定,以促进知识共享和技术进步。如果你对具体的名单和相关情况感兴趣,建议参考 FFmpeg 官方网站或相关的开源社区资源,以获取最准确和最新的信息。同时,在使用开源软件时,也应该尊重其开源协议,遵循相关规定,共同推动开源生态的健康发展。

以下是一些常用且强大的 FFmpeg 命令示例:
转换视频格式:
ffmpeg -i input.mp4 output.avi
这将把 input.mp4 转换为 output.avi 格式。
提取音频:
ffmpeg -i video.mp4 audio.mp3
从视频文件中提取音频并保存为 MP3 格式。
裁剪视频:
ffmpeg -i input.mp4 -ss 00:00:10 -t 00:00:20 output.mp4
从第 10 秒开始,裁剪 20 秒的视频片段。
调整视频分辨率:
ffmpeg -i input.mp4 -s 1280×720 output.mp4
将视频分辨率调整为 1280×720。
改变视频帧率:
ffmpeg -i input.mp4 -r 30 output.mp4
将视频帧率设置为 30 帧每秒。
视频截图:
ffmpeg -i video.mp4 -ss 00:01:00 -vframes 1 image.jpg
在视频的第 1 分钟处截取一帧并保存为图片。
合并视频:
首先创建一个包含视频文件列表的文本文件 list.txt,每行一个文件路径,然后执行:
ffmpeg -f concat -safe 0 -i list.txt -c copy output.mp4
旋转视频:
ffmpeg -i input.mp4 -vf “transpose=1” output.mp4
顺时针旋转 90 度,transpose 的参数还可以是 2(逆时针旋转 90 度)、3(180 度旋转)。
这些只是 FFmpeg 众多功能中的一部分,您可以根据具体需求进一步探索和使用更多的参数和选项。

不过这样使用多有不便,今天推荐一个好工具FFmpeg Batch AV Converter。

FFmpeg Batch AV Converter 是一个带有图形用户界面(GUI)的 FFmpeg 第三方版本,它为 Windows 平台设计,同时也支持在 Linux 上通过 Wine 运行。
这款软件具有以下特点和功能:
支持多种格式:支持 AV1、H.264、H.265、NVENC、QuickSync、ProRes、VP9 以及 FFmpeg 支持的其他视频格式。
批量处理:可以同时处理几千个文件,提高工作效率。
操作方便:通过拖放文件即可进行转换等操作,无需记忆复杂的 FFmpeg 命令。
预设向导:具有应用向导,即使不熟悉命令的用户也能通过选择所需参数生成相应的命令预设。
功能丰富:
支持修剪与合并视频;
可进行静音检测,能自定义分贝和静音秒数;
能够按照指定秒数或文件大小分割视频;
可以检测和自动裁剪视频的黑边;
提供音视频淡入淡出功能;
支持流式复制来合并视频,直接将多个视频合在一起导出,节省时间;在合并功能里还可以批量给视频加上片头片尾。
多媒体文件信息查看:可以查看多媒体文件的详细信息。
下载功能:能够下载 m3u8 和油管的视频,下载 m3u8 视频时可选择保存为多种格式,下载油管视频时可选择嵌入字幕(如果有的话)。
可编辑多路流:支持设置默认的轨道编码和语言标记,还可以添加或刻录字幕文件。
性能设置:由于 FFmpeg 的运行文件没有数字签名,在某些电脑上可能会被安全中心不停扫描进程,导致软件运行性能下降。在软件设置中可以查看具体的 FFmpeg 版本,并可根据提示加入扫描排除项来优化性能。
对于想要使用 FFmpeg 功能但对命令行操作不太熟悉的用户,以及需要进行批量媒体处理的场景,FFmpeg Batch AV Converter 提供了一个简单易用的界面和便捷的操作方式,同时也为想要学习 FFmpeg 命令的新手提供了一个较好的学习环境。
你可以从官网(https://ffmpeg-batch.sourceforge.io/ )或其他可靠来源下载该软件进行使用。不同版本的软件可能在功能和界面上会有一些差异,具体使用时可以根据实际需求和软件版本进行操作。
官网:https://ffmpeg-batch.sourceforge.io/
下载:https://sourceforge.net/projects/ffmpeg-batch/files/latest/download
教程:https://www.toutiao.com/article/7181258004262634022/