1、ffmpeg 简介
FFmpeg 是一款免费的、开源的跨平台音视频处理工具,旨在提供高质量、高速度的多媒体处理功能,FFmpeg 设计以流式处理音视频。
FFmpeg 目前已成为业界公认的最强大、最全面的音视频处理工具之一,得到了广泛的应用。绝大多数的音视频相关应用和工具库,都直接或间接地引用了 FFmpeg。
FFmpeg 的开发始于2000年,最初由法国程序员 Fabrice Bellard 发起,后来有越来越多的开源贡献者参与。目前 FFmpeg 由一支由多名开发者组成的团队维护和开发。
2、ffmpeg 作者和团队
Fabrice Bellard 是一位法国著名的计算机程序员,因创立FFmpeg、QEMU等项目而闻名业内。
他的个人介绍网站是 bellard.org/。
其中列举了他创建的多个项目。他兴趣广泛,涉足多个不同的领域,可以称为一位真正的编程大师。
3、ffmpeg 项目的分裂与合并
在2011年,FFmpeg项目发生了内部分歧,一些开发者选择离开FFmpeg项目并创建Libav项目。由于代码库的相似性以及两个项目之间的竞争,许多涉足音视频处理领域的人会对这两个项目感到困惑。
两个项目的差异导致社区对Libav的认可度降低,并且导致许多用户回到FFmpeg。
在2019年,Libav项目宣布正式终止开发和支持,并建议所有用户转向FFmpeg。
在分裂后的几年中,两个项目的代码已经发生了较大的差异,各自发展出了独立的特性和架构。因此,合并之后也加剧了 ffmpeg 的新旧版本差异。
4、ffmpeg 的功能与命令示例
# 从视频中导出音频
ffmpeg -i input.mp4 output.mp3
# 截取音频片段
ffmpeg -i input.mp3 -ss 04:10 -t 16 output.mp3
# 截取视频片段
ffmpeg -i input.mp4 -ss 04:10 -t 16 -c copy -avoid_negative_ts make_zero output.mp4
# 将两个 flv 文件合并
ffmpeg -f concat -i input.txt -c copy xj.flv
## input.txt 中的内容
file 'xj1.flv'
file 'xj2.flv'
# 将本地视频以 rtmp 协议推流
ffmpeg -re -i ./demo.mp4 -c copy -f flv rtmp://publish.com/live/demo123456
# 将在线 flv 流保存到本地
ffmpeg -i http://demo.com/input.flv -c copy dump.flv
# 在左上角0,0点添加水印
ffmpeg -y -i tmp.mp4 -i green.png -filter_complex 'overlay=x=0:y=0' output.mp4
# 使用华文行楷字体,64字号,红色字,在右上角写水印文字,main_w-text_w-10 就是视频宽度减文字宽度再减 10
ffmpeg -y -i source.mp4 -vf "d

FFmpeg 是一款开源的跨平台音视频处理工具,由 Fabrice Bellard 创建。文章介绍了 FFmpeg 的历史、功能、命令行参数版本差异,特别讨论了过滤器的区别,如 -vf 和 -filter_complex,以及过滤器中的 filterchain 和 filtergraph。同时,文章还讲解了 FFmpeg 的流式处理、-ss 参数的位置影响以及与 ffprobe 的区别。
1万+

被折叠的 条评论
为什么被折叠?



