ffplay常用命令

一、主要选项说明:


-x width    强制显示宽带。
-y height    强制显示高度。
-s size    帧尺寸 设置显示帧存储(WxH格式),仅适用于类似原始YUV等没有包含帧大小(WxH)的视频。该参数已经被废弃,请尝试用-video_size代替
-fs    以全屏模式启动。
-an    禁用音频(不播放声音)
-vn    禁用视频(不播放视频)
-sn    禁用字幕(不显示字幕)
-ss pos    根据设置的秒进行定位拖动,注意时间单位:比如'55' 55 seconds, '12:03:45' ,12 hours, 03 minutes and 45 seconds, '23.189' 23.189 second
-t duration    设置播放视频/音频长度,时间单位如 -ss选项
-bytes    按字节进行定位拖动。
-seek_interval interval    自定义左/右键定位拖动间隔(以秒为单位),默认值为10秒
-nodisp    关闭图形化显示窗口,视频将不显示
-noborder    无边框窗口
-volume vol    设置起始音量。音量范围[0 ~100]
-f fmt    强制使用设置的格式进行解析。比如-f s16le
-window_title title    设置窗口标题(默认为输入文件名)
-loop number    设置播放循环次数
-showmode mode    设置显示模式,可用的模式值:0 显示视频,1 显示音频波形,2 显示音频频谱。缺省为0,如果视频不存在则自动选择2
-vf filtergraph    设置视频滤镜
-af filtergraph    设置音频滤镜

二、高级选项说明

-pix_fmt format    格式设置像素格式。此选项已被弃用,有利于私有选项,try -pixel_format
-stats    打印多个回放统计信息,包括显示流持续时间,编解码器参数,流中的当前位置,以及音频/视频同步差值。默认情况下处于启用状态,要显式禁用它则需要指定-nostats。
-fast    非标准化规范的多媒体兼容优化
-genpts    生成pts。
-sync type    同步类型 将主时钟设置为audio(type=audio),video(type=video)或external(type=ext),默认是音频为主时钟。
-ast audio_stream_specifier    指定音频流索引,比如-ast 3,播放流索引为3的音频流
-vst video_stream_specifier    指定视频流索引,比如-vst 4,播放流索引为4的视频流
-sst subtitle_stream_specifier    指定字幕流索引,比如-sst 5,播放流索引为5的字幕流
-autoexit    视频播放完毕后退出。
-exitonkeydown    键盘按下任何键退出播放
-exitonmousedown    鼠标按下任何键退出播放
-codec:media_specifier codec_name    强制使用设置的多媒体解码器,media_specifier可用值为a(音频), v(视频)和s字幕。比如-codec:v h265 强制视频采用h265解码
-acodec codec_name    强制使用设置的音频解码器进行音频解码
-vcodec codec_name    强制使用设置的视频解码器进行视频解码
-scodec codec_name    强制使用设置的字幕解码器进行字幕解码
-autorotate    根据文件元数据自动旋转视频。默认情况下启用,若需禁用则使用-noautorotate
-framedrop    如果视频不同步则丢弃视频帧。当主时钟非视频时钟时默认开启。若需禁用则使用 -noframedrop
-infbuf    不限制输入缓冲区大小。尽可能快地从输入中读取尽可能多的数据。播放实时流时默认启用,如果未及时读取数据,则可能会丢弃数据。此选项将不限制缓冲区的大小。若需禁用则使用-noinfbuf

三、播放控制选项说明
q, ESC    退出播放
f    全屏切换
p, SPC    暂停
m    静音切换
9, 0    9减少音量,0增加音量
/, *    /减少音量,*增加音量
a    循环切换音频流
v    循环切换视频流
t    循环切换字幕流
c    循环切换节目
w    循环切换过滤器或显示模式
s    逐帧播放
left/right    向后/向前拖动10秒
down/up    向后/向前拖动1分钟
page down/page up    拖动上一个/下一个。或者如果没有章节向后/向前拖动10分钟。
鼠标右键单击    拖动与显示宽度对应百分比的文件进行播放
鼠标左键双击    全屏切换

四、常用命令说明

1、播放视频

ffplay -i test.mp4 (-i指输入源)

2、带title播放固定时间点的视频

ffplay -window_title "test" -ss 2 -t 10  -autoexit test.mp4   (-window_title 设置title -ss设置起始播放时间点,单位:s,-t 设置播放总时长,单位:s)

3、播放器网络视频

ffplay  "http://bestvepg.itv.cmvideo.cn:8086/APPService/live/cctv3.m3u8?livemode=1&STBID=01234567890"      (注:网络url最好用“”,否则ffplay遇到中间某些字符将阻断完整的url)

4、使用强制解码器播放

ffplay test.mp4 -vcodec mpeg4    (强制使用mpeg4解码器进行解码)

5、播放时静帧音频,只播放视频

ffplay test.mp4  -an

6、播放是静止视频,只播放音频

ffplay test.mp4 -vn

7、播放YUV数据

ffplay -pixel_format yuv420p -video_size 720x480  -framrate 25  yuv420p_test.yuv    (-pix_fromate 制定像素格式为yuv420p)

8、播放RGB数据

ffplay -pixel_format rgb24 -video_size 720x480 -framerate 25 rgb24_test.rgb

9、播放pcm数据

ffplay -ar 48000 -ac 2  -f f32le 48000_2_f32le.pcm   (-ar  设定采样率  -ac  设定通道数 -f f32le 强制使用设定的格式进行解析)

10、过滤器

1、视频过滤器

     1)视频旋转播放

     ffplay test.mp4 -vf transpose=1     (0:逆时针旋转90°然后垂直翻转;;1:顺时针旋转90°2:逆时针旋转90°3:顺时针旋转90°然后水平翻转)

     2)视频水平翻转播放

      ffplay test.mp4 -vf hflip

     3)视频垂直翻转播放

      ffplay test.mp4 -vf vflip

      4)视频水平翻转,并且再顺时针旋转90度播放

     ffplay test.mp4 -vf transpose=1,hflip

2、音频过滤器

     1)音频变速播放

     ffplay test.mp4 -af atempo=2   (atempo的范围【0.5, 2】)

      2)视频变速播放

      ffplay test.mp4 -vf setpts=0.5 * PTS   (setpts的范围是【0.25,4】)

      3)音视频同时变速播放

       ffplay test.mp4 -vf setpts=PTS/2 -af atempo=2

 

<think>好的,用户之前问了关于ffmpeg的-v选项,现在又问ffplay的作用。可能用户是在学习FFmpeg工具套件中的不同组件。ffmpeg主要是处理转码、转换,而ffplay是用来播放的。用户可能想了解整个套件的各个部分如何配合使用。 首先,我需要明确ffplay的基本功能:播放媒体文件。用户可能想知道除了播放之外,ffplay还有没有其他功能,比如调试、查看流信息等。用户可能是开发者,或者视频处理相关的工作人员,需要利用ffplay来测试或检查媒体文件。 接下来,得考虑用户可能的深层需求。比如,他们是否在寻找如何快速预览转码后的视频,或者需要查看详细的编解码信息?或者在使用ffmpeg处理视频时遇到了问题,想用ffplay来验证输出结果是否正确? 需要涵盖ffplay的主要用途,比如支持多种格式、流协议,以及它的命令行选项,比如查看音频波形、视频帧信息等。同时,用户可能想知道如何控制播放,比如快捷键,调整参数,或者是否支持过滤器来实时处理视频。 还要注意用户之前的问题是关于日志级别的,可能用户对调试和详细信息比较关注,所以需要提到ffplay在调试中的作用,比如显示调试信息、查看音视频同步情况等。 另外,用户可能需要示例命令来快速上手,所以提供几个常见的使用案例,比如播放本地文件、网络流,调整音量,使用滤镜等,会有帮助。 最后,确保回答结构清晰,分点说明,让用户容易理解。同时提醒注意事项,比如依赖SDL库,可能需要安装相关组件,或者性能方面的考虑,比如高分辨率视频需要硬件加速等。</think>FFmpeg 的 `ffplay` 是一个基于 FFmpeg 库的 **轻量级多媒体播放器**,主要用于快速预览、调试或播放音视频文件或流媒体。它支持几乎所有 FFmpeg 兼容的格式和协议,且无需依赖外部播放器。 --- ### 一、核心作用 1. **本地文件播放** 直接播放本地音视频文件,例如: ```bash ffplay input.mp4 ``` 2. **流媒体播放** 支持 HTTP、RTMP、HLS、UDP 等协议,例如: ```bash ffplay http://example.com/live_stream.ts ``` 3. **调试工具** 显示音视频的元数据、编解码信息、时间戳、帧率等,例如: ```bash ffplay -showmode 1 input.mp4 # 显示音频波形 ``` --- ### 二、常用功能与参数 | 参数/操作 | 说明 | |--------------------------|--------------------------------------------------------------------| | `-x WIDTH -y HEIGHT` | 指定播放窗口尺寸(例如 `-x 640 -y 480`) | | `-volume 50` | 设置初始音量(0-100,默认最大) | | `-vf "filter=params"` | 应用视频滤镜(如缩放、旋转、裁剪) | | `-af "filter=params"` | 应用音频滤镜(如降噪、变速) | | `-stats` | 显示实时统计信息(帧率、码率、时间戳等) | | `-hide_banner` | 隐藏 FFmpeg 版本和库信息(简化输出) | | `-ss POSITION` | 跳转到指定时间位置(如 `-ss 00:01:30` 跳转到1分30秒) | | `-autoexit` | 播放完成后自动退出(适用于脚本) | --- ### 三、播放控制快捷键 | 快捷键 | 功能 | |--------------|-----------------------------| | **空格** | 暂停/恢复播放 | | **← / →** | 后退/前进 10秒 | | **↓ / ↑** | 后退/前进 1分钟 | | **鼠标点击** | 跳转到点击位置(进度条) | | **S** | 逐帧播放(调试时查看帧细节) | | **F** | 全屏切换 | | **Q / ESC** | 退出播放器 | --- ### 四、典型使用场景 1. **快速验证文件** 检查视频是否损坏或编码是否正确: ```bash ffplay -v error input.mp4 # 静默播放,仅报错 ``` 2. **调试滤镜效果** 预览视频滤镜调整后的效果: ```bash ffplay -vf "eq=brightness=0.2, crop=640:360" input.mp4 ``` 3. **分析音频流** 显示音频波形或频谱(非可视化播放): ```bash ffplay -showmode 1 -i input.mp3 # 显示波形 ffplay -showmode 2 -i input.mp3 # 显示频谱 ``` 4. **测试网络流** 验证直播流或远程文件的可访问性: ```bash ffplay rtmp://example.com/live/stream ``` --- ### 五、注意事项 1. **依赖 FFmpeg 库**:需完整安装 FFmpeg(包含 `ffplay` 组件)。 2. **性能影响**:播放高分辨率视频(如 4K)时可能占用较高资源。 3. **无 GUI 控制条**:依赖快捷键操作,适合开发者或命令行用户。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值