我的这篇博文用FFmpeg获取视频流+音频流的信息(编码格式、分辨率、帧率、播放时长...)描述了用C++的方法调用FFmpeg API获得视音频文件的信息,但是如果你用其他语言:比如Java/PHP/C#等解释性语言开发的,虽然也可以通过一些转换好的库接口(比如JavaCV、Jave)间接调用FFmpeg,但是调用API的形式毕竟不大方便,特别是对FFmpeg API不熟悉的朋友。其实,通过命令行调用ffmpeg已经可以执行很多ffmpeg的功能。ffmpeg可以将视音频文件的信息显示到控制台或者打印输出到一个文本文件,FFmpeg的Bin包里面还带了一个强大的工具ffprobe,这个工具可以获取视音频文件里的详细信息,并将信息输出为JSON格式。我们可以通过解析ffprobe输出的JSON来获得文件的格式信息。
先让我们调用ffprobe工具执行一条命令:
ffprobe -v quiet -print_format json -show_format SlideShow#001.avi
执行命令结果如下:
{
"format": {
"filename": "SlideShow#001.avi",
"nb_streams": 1,
"nb_programs": 0,
"format_name": "avi",
"format_long_name": "AVI (Audio Video