是什么?(Fast forward moving picture expert groups)
A complete, cross-platform solution to record, convert and stream audio and video.
FFmpeg 提供了多种媒体格式的封装和解封装,比如多种音视频编码,多种协议的流媒体,
多种色彩格式转换,多种采样率转换,多种码率切换,可以在多种操作系统安装使用。
1. ffplay的使用
作为FFmpeg的基础组件之一,它具有强大的音视频解码播放能力,也可以作为音视频数据的图形化分析工具,是Linux和macOS系统中最常用的多媒体播放器之一,目前它广泛被各种流行播放器(QQ影音、暴风影音等)集成应用;可随时快速地调用ffplay对音视频文件播放和测试;
// ffplay按某个日志输出级别进行播放 ffplay -loglevel [debug|quiet|panic|fatal|error|warning...] -i demo.mp4 // 全屏播放 可选择禁用音视频字幕流 ffplay [-an|-vn|-sn] -i demo.mkv -fs // 指定播放起始时间 时长 ffplay -ss 300 -t 20 -i input.avi -autoexit // 查看音频波形/频谱 ffplay -showmode [1|2] test.mp3 ..... 复制代码
2. ffprobe的使用
是FFmpeg提供的媒体信息检测工具,使用ffprobe不仅可以检测音视频文件的整体封装格式,还可以分析其中每一路音频流或视频流信息,甚至可以进一步分析音视频流的每一个码流包或图像帧的信息
ffprobe -i demo.mp4
-
默认情况下会检测输入音视频文件的封装格式、metadata信息,以及媒体文件的总时长、起始时间及码率、每一路媒体流的信息:
-
-
对视频流,输出编码格式、图像颜色格式、图像的宽与高、纵横比和视频码率;
-
对音频流,输出编码格式、采样率、音频类型、音频码率
-
//显示详细的封装格式信息 ffprobe -show_format -i demo.mp4 //显示每一路媒体流信息(一个音视频文件通常包括两路及以上媒体流) ffprobe -show_streams -i demo.mp4 //音频采样和视频的图像帧都被压缩为多个码流包,再保存在容器文件中 //显示每一个码流包信息 ffprobe -show_packets -i demo.mp4 //显示每一帧图像的信息(对视频流的每一帧图像进行解码) ffprobe