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

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

文章目录

FFmpeg 系列文章目录

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

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

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




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


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


ffplay 视频路径

image.png


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


ffplay yuanshen.mp4




命令行输出 :


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>


执行过程 :image.png







二、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 77 个视频流 , 7 77 个音频流 ;image.png




使用


ffplay cctv.ts


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


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


ffplay -volume 3 cctv.ts


播放开始后 , 按下 A 可以切换音频流 , 按下 V 可以切换视频流 , 按下 T 可以切换字幕流 ,

按下 C 可以切换完整的节目 , 即同时切换 音频流 , 视频流 , 字幕流 ;image.png





目录
相关文章
|
29天前
|
XML 编解码 JSON
FFmpeg常用命令讲解及实战二(2)
FFmpeg常用命令讲解及实战二
25 0
|
2月前
|
算法 数据处理 开发者
FFmpeg库的使用与深度解析:解码音频流流程
FFmpeg库的使用与深度解析:解码音频流流程
37 0
|
21天前
|
编解码 计算机视觉 索引
使用ffmpeg MP4转 m3u8并播放 实测!!
使用ffmpeg MP4转 m3u8并播放 实测!!
18 1
|
27天前
利用ffmpeg命令从摄像机抓拍一张图片
利用ffmpeg命令从摄像机抓拍一张图片
12 1
|
27天前
|
编解码 开发工具
获取ffmpeg转码的实时进度
获取ffmpeg转码的实时进度
21 0
|
29天前
|
编解码 vr&ar 内存技术
FFmpeg常用命令讲解及实战二(1)
FFmpeg常用命令讲解及实战二
18 0
|
2月前
|
网络协议 API 网络安全
探讨TCP传输视频流并利用FFmpeg进行播放的过程
探讨TCP传输视频流并利用FFmpeg进行播放的过程
56 0
|
编解码 Linux API
【FFmpeg 视频流处理】FFmpeg API深度解析:视频流画面合并、拼接与裁剪技巧
【FFmpeg 视频流处理】FFmpeg API深度解析:视频流画面合并、拼接与裁剪技巧
87 0
|
2月前
|
编解码 API 数据处理
【摄像头数据处理】摄像头数据处理:使用FFmpeg合并、编码和封装视频流
【摄像头数据处理】摄像头数据处理:使用FFmpeg合并、编码和封装视频流
54 0
|
2月前
|
存储 算法 C++
【FFmpeg 视频播放】深入理解多媒体播放:同步策略、缓冲技术与性能优化(二)
【FFmpeg 视频播放】深入理解多媒体播放:同步策略、缓冲技术与性能优化
43 0