FFplay 是一个使用 FFmpeg 和 SDL 库制作的简易轻便的媒体播放器,他可以用来测试 FFmpeg APIs。

使用方式很简答

ffplay [options] input_file

简单使用

播放 demo.mp4 ,播放完成后自动退出

ffplay -autoexit demo.mp4

以特定大小播放 demo.mp4

ffplay -x 640 -y 480 demo.mp4

从指定时间开始播放

ffplay -ss 10 demo.mp4

指定播放时长

ffplay -t 10 demo.mp4

关闭音频

ffplay -an demo.mp4

关闭视频

ffplay -vn demo.mp4

将窗口标题设置为 “myplayer”,循环播放 2 次

ffplay -window_title myplayer -loop 2 demo.mp4

设置显示模式

ffplay -showmode rdft demo.mp4

参数 -showmode 后面接的mode值可以为

  • 0, video 视频,默认
  • 1, waves 音频波形
  • 2, rdft 音频频谱

默认值 video, 在播放时,可以通过 w 快捷键在几种模式中切换

播放流媒体

ffplay 相比于本地播放器,他也能够播放网络视频,如果能够拿到视频的网络播放地址,不管是直链,还是 m3u8,也能够直接加在 ffplay 后面播放,顺便也可以直接查看视频流的信息。

本地做一个测试,开启一个终端播放 ffplay

ffplay udp://127.0.0.1:8080

然后使用 ffmpeg 生成流媒体

ffmpeg -r 25 -i demo.mp4 -f mpegts udp://127.0.0.1:8080

这里的参数

  • -r 25 表示每秒25帧
  • -f 输出视频流

快捷键

q, ESC            退出
f                 全屏
p, SPC            暂停
w                 切换显示模式(视频/音频波形/音频频带)
s                 步进到下一帧
left/right        快退/快进 10 秒
down/up           快退/快进 1 分钟
page down/page up 跳转到前一章/下一章(如果没有章节,快退/快进 10 分钟)
mouse click       跳转到鼠标点击的位置(根据鼠标在显示窗口点击的位置计算百分比)

reference