目录

音视频ffplay常用命令

【音视频】ffplay常用命令

一、 ffplay常用命令

  • -x width:强制显示宽度
  • -y height:强制显示高度

强制以 640*360的宽高显示

ffplay 2.mp4 -x 640 -y 360  

效果如下

https://i-blog.csdnimg.cn/direct/dbde6d4f26074802a530c6d96f6be7c7.png

  • -fs 全屏显示
ffplay -fs 2.mp4

效果如下:

https://i-blog.csdnimg.cn/direct/f6e05f6beefe4ff38de54e6d481edd88.png

  • -an 禁用音频(不播放声音)
  • -vn 禁用视频(不播放视频)
  • -sn 禁用字幕(不播放字幕)

如果同时禁用的音频和视频那么无法播放:

ffplay -an -vn 2.mp4

如下

https://i-blog.csdnimg.cn/direct/22efa9f2022146a09888dfdb045aad94.png

演示一下禁用视频的播放

ffplay -vn 2.mp4

效果如下

https://i-blog.csdnimg.cn/direct/81278f0983a446e783ef9313532d41a8.png

  • -ss pos 根据设置的秒进行定位拖动,注意时间单位。比如’55’表示55秒,‘12’02’43’表示12小时,02分钟,43秒,‘23.189’表示23.189秒,‘02:30’表示02分钟,30秒

这里从2min开始播放

ffplay 1.mp4 -ss '02:00'

效果如下

https://i-blog.csdnimg.cn/direct/7ac63a43dab145e985544d48dade85b7.gif

  • -t duration 设置播放视频/音频长度,时间单位如 -ss选项

这里设置视频从第1min开始然后播放5s后停止:

ffplay 1.mp4 -ss "00:01:00" -t "00:00:05"

https://i-blog.csdnimg.cn/direct/2f0ccf8abb5d4f279fcb9ed5833d3cfc.gif

  • -stats :打印多个回放统计信息,包括显示流持续时间,编解码参数,流中的当前位置,以及音频视频同步差值。默认情况是打开的:

随便播放一个视频:

可以看到视频的信息,如持续时长DURATION,同步差A-V等等

https://i-blog.csdnimg.cn/direct/a63b33e2fdfd461eb1d3d51434ea4f13.png

  • -notats:关闭这个参数选项
ffplay -nostats 3.mkv

此时就没有信息了:

https://i-blog.csdnimg.cn/direct/84e397c5c19e44e9bd995ef315300576.png

  • -sync type 设置音视频主时钟,默认是音频(audio)为主时钟,可以设置为视频(video),也可以设置为外部(ext)

比如设置视频文主时钟:

ffplay 1.mp4 -sync "video"
  • -ast number:这是播放第number个音频流
  • -vst number:这是播放第number个视频流

比如我这里有两路视频流:

https://i-blog.csdnimg.cn/direct/65e8e893ccec49c3970de380282230dc.png

我可以指定-vst 0和-vst 1播放不同视频

ffplay 12.mp4 -vst 0 
ffplay 12.mp4 -vst 1

https://i-blog.csdnimg.cn/direct/1b3f662dc2c74af2a38afda7db05f1fa.gif

  • -autoexit:这个参数是在播放完成后自动退出的

比如这里播放3s后退出:

ffplay 2.mp4 -t "3" -autoexit

效果如下

https://i-blog.csdnimg.cn/direct/c592a6e39c86484ea830b23b183e3255.gif

  • pixel_format:这个参数用于播放裸的视频数据,通常需要指定播放的视频的像素格式、分辨率、帧率信息

如:指定播放的yuv数据格式为yuv420p,分辨率1280*720,帧率为30帧:

ffplay 1.yuv -pixel_format yuv420p -video_size 1290x720 -framerate 30 

但是需要保证视频的格式是合法的,比如原来的yuv格式是yuv420p,但是你指定yuv422p,就会出现花屏,如下:

设置的分辨率和图像格式不对,所以会导致花屏

https://i-blog.csdnimg.cn/direct/239816f6f83042348d084a898ff42da2.gif

播放rgb数据也是同理

 ffplay mv2.rgb -pixel_format rgb24  -video_size 1920x1080 -framerate 30 
  • 也可以播放裸的pcm数据,需要手动设置通道数和采样率,音频格式等等,同样格式要对上,否则播放出来噪音很多
ffplay mv.pcm -ar 44100 -ch_layout stereo -f s16le

https://i-blog.csdnimg.cn/direct/4b844f37f749487789d5c3abc60d6efc.png