【音视频工具】ffplay介绍

发布于:2025-05-12 ⋅ 阅读:(14) ⋅ 点赞:(0)


简介基于 ffmpeg 库开发的简单媒体播放器,可用于播放音频和视频文件。相比于常见播放器,它更侧重 命令行操作方式,对于开发者和需要特定播放控制的场景很有用。

应用场景:开发者调试音视频播放功能,或在无图形化界面的服务器环境下播放媒体文件来测试媒体流。

ffplay -h

使用 ffplay 播放视频的基本命令

播放方式

  1. 命令行输入 ffplay 视频路径 eg:ffplay yuanshen.mp4
  2. ffplay -showmode 0 input.aac
    1. -showmode 0:强制指定 FFplay 的显示模式为 audio(音频模式)image.png

    2. ffplay -showmode <模式值> input.aac

      1. 0 视频模式(显示黑屏,仅音频播放)1. 隐藏音频可视化2. 纯后台播放
      2. 1 波形模式(默认音频模式,显示实时声波)直观观察音频振幅
      3. 2 频谱模式(实时FFT频域分析,显示频率能量分布)分析音频频率特征(默认)
    3. 如果直接运行 ffplay input.aac,FFplay 会进入 音频模式,显示一个动态音频波形(频谱或波形图)。

  3. ffplay input.mp4 -vf "setpts=0.5*PTS" -an
      • -vf 设置2倍速,-an 禁用音频。

播放控制

  1. 退出:q 或 esc 键。

  2. 全屏切换:f 键。; 鼠标左键双击 也可以进行全屏切换

  3. 暂停 / 恢复:p 键或空格键。

  4. 静音切换:m 键。

  5. 音量调整:j 键减少音量,k 键增加音量。M 键可切换 静音 / 非静音 状态

  6. 流切换

  7. a 键切换音频流

  8. V 键切换视频流

  9. t 键切换字幕流。

  10. 时间拖动:左右箭头键,向前和向后小幅度拖动 10s;上下箭头键,向前和向后拖动 60 秒。

  11. 逐帧播放:s键。

  12. 循环切换 : 针对有多个音频流以及视频流 , 如电视节目 TS 流 , 多个电视台信号在一个流中 , 可以通过切换 音频流 / 视频流 / 节目 等选择不同的电视台信号进行观看 ;

  13. 循环切换音频流 : A ; ( Audio )

  14. 循环切换视频流 : V ; ( Vedio )

  15. 循环切换字幕流 : T ;

  16. 循环切换节目 : C ;

  17. 循环切换过滤器或显示模式 : W ;

测试 TS 流循环切换 音频流/视频流/字幕流/节目

TS 流即传送流(Transport Stream ) ,是依据 ITU-T Rec.H.222.0|ISO/IEC13818 - 2 和 ISO/IEC13818 - 3 等协议定义的数据流 ,用于音视频及数据的传输与存储,在数字电视广播、流媒体等领域应用广泛。

工作原理

  1. 经过视音频压缩形成基本流(ES) ,ES 流经打包形成打包基本码流(PES) ,在 PES 包中加入定时信息(PTS/DTS) ,再将 PES 包内容分配到固定长度传输包中 ,加入节目参考时钟(PCR)和节目特定信息(PSI) ,最终连续输出传输包形成 TS 流 。

TS 流文件 cctv.ts , 其包含的流信息如下 , 该文件中有 7 个视频流 , 7 个音频流 ;

容器及常规信息

  1. 格式MPEG-TS ,即 MPEG 传输流,常用于数字电视广播、流媒体等领域,能有效复用多个音视频流
  2. 码率133 Mb ,指该文件在单位时间内传输的数据量大小,反映数据传输的速率

流信息

  1. 视频流:有7 video streams ,编码格式均为MPEG Video ,说明该文件包含 7 个采用 MPEG 编码的视频流
  2. 音频流:存在7 audio streams ,编码格式是MPEG Audio ,即有 7 个采用 MPEG 编码的音频流

使用ffplay cctv.ts

命令播放包含多个视频流 / 音频流 ;

如果声音太大可以使用 -volume 选项控制声音 :ffplay -volume 3 cctv.ts

播放开始后 , 按下 A 可以切换音频流 , 按下 V 可以切换视频流 , 按下 T 可以切换字幕流 ,
按下 C 可以切换完整的节目 , 即同时切换 音频流 , 视频流 , 字幕流 ;

注意事项
在 ts 流中切换音频流和视频流时,可能出现声音和画面不同步等问题 ,ffplay 处理码流时或存在 bug,导致切换不流畅,同时需留意设备兼容性。


网站公告

今日签到

点亮在社区的每一天
去签到