FFmpeg工具背景介绍
ffmpeg,这是笔者接触到的第一款开源的音视频流处理工具,在使用的过程中真实感受到了这款开源工具的强大;在笔者所查过的资料中,该工具在音视频处理领域是非常重要的工具,可用性和普遍性是极高的。那么在这里勒,笔者引用Wikipedia的介绍吧,附上原文与笔者自己的译文(无意提高下格调hhh)
FFmpeg is a free and open-source software project consisting of a large suite of libraries and programs for handling video, audio, and other multimedia files and streams. At its core is the FFmpeg program itself, designed for command-line-based processing of video and audio files. It is widely used for format transcoding, basic editing (trimming and concatenation), video scaling, video post-production effects and standards compliance (SMPTE, ITU).
FFmpeg是一款开源软件,由众多用来处理视频,音频及其他多媒体文件及流数据的软件库与程序组成。这款开源软件的核心,便是FFmepg基于命令行来处理音视频文件。这款软件广泛用于格式转码,音视频流基础编辑(修剪与连接),视频后期特效处理及编辑
好啦~介绍完软件背景之后勒,笔者附上当初学习这款工具时所使用的一些资料
上图中的书是中文版的FFmpeg使用指南。在这里必须吐槽,国内许多书都是猪扮老虎,名字起的高大上,实际上如果你看过官网的文档,那这个入门到精通根本就是不存在的,而且该书写的太浅,深度还是不够的,建议多看看官网的文档
FFmpeg的官方网站ffmpeg,这是官方文档
Java Audio包的官方API文档Java Sound Programmer,这个Java包的API文档呢,其实是无心插柳柳成荫,如果你仔细看过之后,你会对FFmpeg有比较深的理解
笔者所学
其实笔者对这款软件的使用也只是停留在表面,但是授人以鱼不如授人以渔,我附上了上述的三个重要学习资源呀,那可都是笔者经过数百次Google精心凝缩而来的,好好珍惜。然后,就是笔者这里仅介绍ffmpeg的几个比较有用的命令行,及ffmpeg在Python语言与Java语言的wrapper版 ( 其实wrapper的意思便是将已有的工具进行包装,以使该工具适用于特定的平台 ),Python和Java可谓是当今最火的两大开发应用型语言呀~
FFmpeg的三大工具
-
ffmpeg 命令:A command line tool to convert multimedia files between formats
-
ffplay 命令:A simple media player based on SDL and the FFmpeg libraries
-
ffporbe 命令:A simple multimedia stream analyzer
ffprobe
这个命令行勒主要是用来作流媒体文件的数据分析,也就是通过这个命令可以提取流媒体文件中的一些比较重要的数据。笔者只使用过这个命令哦
wong@MacBook-Pro ~ % ffprobe test.mp4
ffprobe version 4.3.1 Copyright