【FFmpeg】ffplay 播放视频命令 ( 播放 | 暂停 | 停止 | 音量控制 | 进度控制 | 音频流 / 视频流 / 字幕流 / 节目切换 )

FFmpeg 系列文章目录

【FFmpeg】Windows 搭建 FFmpeg 命令行运行环境

【FFmpeg】FFmpeg 相关术语简介 ( 容器 | 媒体流 | 数据帧 | 数据包 | 编解码器 | 复用 | 解复用 )
【FFmpeg】FFmpeg 相关术语简介 二
【FFmpeg】FFmpeg 帮助文档使用

【FFmpeg】使用 FFmpeg 处理音视频格式转换流程 ( 解复用 | 解码 | 帧处理 | 编码 | 复用 )

【FFmpeg】ffmpeg 命令查询一 ( 版本 | 编译配置 | 复用格式 | 编解码器 )
【FFmpeg】ffmpeg 命令查询二 ( 比特流过滤器 | 可用协议 | 过滤器 | 像素格式 | 标准声道布局 | 音频采样格式 | 颜色名称 )
【FFmpeg】ffmpeg 命令查询三 ( 查询 ffmpeg 命令分类支持的参数 )

【FFmpeg】ffplay 播放视频命令 ( 播放 | 暂停 | 停止 | 音量控制 | 进度控制 | 音频流 / 视频流 / 字幕流 / 节目切换 )


文章目录




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



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

ffplay 视频路径 

播放 " D:\ffmpeg\yuanshen.mp4 " 视频 , 进入 " D:\ffmpeg\ " 目录 , 执行如下命令 :

ffplay yuanshen.mp4

【FFmpeg】ffplay 播放视频命令 ( 播放 | 暂停 | 停止 | 音量控制 | 进度控制 | 音频流 / 视频流 / 字幕流 / 节目切换 )

命令行输出 :

D:\ffmpeg>ffplay yuanshen.mp4
ffplay version n4.4-19-g8d172d9409 Copyright (c) 2003-2021 the FFmpeg developers
  built with gcc 10-win32 (GCC) 20210408
  configuration: --prefix=/ffbuild/prefix --pkg-config-flags=--static --pkg-config=pkg-config --cross-prefix=x86_64-w64-mingw32- --arch=x86_64 --target-os=mingw32 --enable-gpl --enable-version3 --disable-debug --enable-shared --disable-static --disable-w32threads --enable-pthreads --enable-iconv --enable-libxml2 --enable-zlib --enable-libfreetype --enable-libfribidi --enable-gmp --enable-lzma --enable-fontconfig --enable-libvorbis --enable-opencl --enable-libvmaf --enable-vulkan --enable-amf --enable-libaom --enable-avisynth --enable-libdav1d --enable-libdavs2 --enable-ffnvcodec --enable-cuda-llvm --enable-libglslang --enable-libgme --enable-libass --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvpx --enable-libwebp --enable-lv2 --enable-libmfx --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librav1e --enable-librubberband --enable-schannel --enable-sdl2 --enable-libsoxr --enable-libsrt --enable-libsvtav1 --enable-libtwolame --enable-libuavs3d --enable-libvidstab --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libzimg --extra-cflags=-DLIBTWOLAME_STATIC --extra-cxxflags= --extra-ldflags=-pthread --extra-ldexeflags= --extra-libs=-lgomp
  libavutil      56. 70.100 / 56. 70.100
  libavcodec     58.134.100 / 58.134.100
  libavformat    58. 76.100 / 58. 76.100
  libavdevice    58. 13.100 / 58. 13.100
  libavfilter     7.110.100 /  7.110.100
  libswscale      5.  9.100 /  5.  9.100
  libswresample   3.  9.100 /  3.  9.100
  libpostproc    55.  9.100 / 55.  9.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'yuanshen.mp4':  0B f=0/0
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf58.29.100
  Duration: 00:06:13.10, start: 0.000000, bitrate: 2623 kb/s
  Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 2489 kb/s, 25 fps, 25 tbr, 25k tbn, 50 tbc (default)
    Metadata:
      handler_name    : VideoHandler
      vendor_id       : [0][0][0][0]
  Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
      vendor_id       : [0][0][0][0]
  13.74 A-V:  0.009 fd=   4 aq=   22KB vq=  354KB sq=    0B f=0/0

D:\ffmpeg>

执行过程 :

【FFmpeg】ffplay 播放视频命令 ( 播放 | 暂停 | 停止 | 音量控制 | 进度控制 | 音频流 / 视频流 / 字幕流 / 节目切换 )




二、ffplay 播放过程中的控制命令



播放控制 :

  • 逐帧播放 : S ;
  • 向后 / 向前拖动 10 秒 : Left / Right 箭头按钮 ;
  • 向后 / 向前拖动 1 分钟 : Down / Up 箭头按钮 ;
  • 暂停播放 : P , 空格 ; 按下 P 或 空格键 , 可以暂停播放 ;
  • 停止播放 : Q , Esc ; 开始播放后 , 按下 Q 或 Esc 按键 , 可以退出播放 ;

全屏切换 : F 按键可以切换全屏 ; 鼠标左键双击 也可以进行全屏切换 ;

音量控制 :

  • 静音 : M 键可切换 静音 / 非静音 状态 ;
  • 减少音量 : 9 或 / 按键 , 减少音量 ;
  • 增加音量 : 0 或 * 按键 , 增加音量 ;

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

  • 循环切换音频流 : A ; ( Audio )
  • 循环切换视频流 : V ; ( Vedio )
  • 循环切换字幕流 : T ;
  • 循环切换节目 : C ;
  • 循环切换过滤器或显示模式 : W ;



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



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

【FFmpeg】ffplay 播放视频命令 ( 播放 | 暂停 | 停止 | 音量控制 | 进度控制 | 音频流 / 视频流 / 字幕流 / 节目切换 )

使用

ffplay cctv.ts 

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

如果声音太大可以使用 -volume 选项控制声音 :

ffplay -volume 3 cctv.ts 

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

【FFmpeg】ffplay 播放视频命令 ( 播放 | 暂停 | 停止 | 音量控制 | 进度控制 | 音频流 / 视频流 / 字幕流 / 节目切换 )

上一篇:Mayor's posters-POJ2528


下一篇:第一章:音视频环境基础