1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > FFmpeg使用手册 - ffplay 的常用命令

FFmpeg使用手册 - ffplay 的常用命令

时间:2020-03-28 12:54:48

相关推荐

FFmpeg使用手册 - ffplay 的常用命令

ffplay 常用参数

ffplay不仅仅是播放器,同时也是测试ffmpeg的codec引擎,format引擎,以及filter引擎的工具,并且也可以做可视化的媒体参数分析,可以通过ffplay --help 进行查看:

如上图,大多数是前面已经介绍过的参数,还有些是未介绍过的

常见参数可以手动进行尝试:

如果希望从视频的第30秒开始播放,播放10秒钟的文件,则可以使用如下命令

#ffplay -ss 30 -t 10 input.mp4

如果希望视频播放时播放器的窗口显示标题为自定义标题,则使用如下命令

ffplay -window_title "Hello World, This is a sample" output.mp4

显示窗口如下图:

例如使用ffplay打开网络直播流,可以使用命令

# ffplay -window_title "播放测试" rtmp://up./live/stream

如图播放的视频为实时网络直播视频流。

根据上图可以看到播放器播放的窗口标题已经显示为自定义设置的内容。

基本参数介绍完毕,下面进一步介绍ffplay的高级一些的参数。

6.2 ffplay高级参数

通过使用ffplay –help参数看到帮助信息比较多,其中包含了高级参数介绍,下面详细介绍一下

下面根据这些参数与前面介绍过的一些参数进行组合:

例如从20秒播放一个视频,播放时长为10秒钟,播放完成后自动退出ffplay,播放器的窗口标题为”Hello World”,为了确认播放时长正确,可以通过系统命令time查看命令运行时长

#time ffplay -window_title "Hello World" -ss 20 -t 10 -autoexit output.mp4

该命令执行完毕之后输出如下:

real 0m10.783s

user 0m8.401s

sys 0m0.915s

例如强制使用H264解码器解码mpeg4的视频,将会报错:

# ffplay -vcodec h264 output.mp4

使用h264的解码器解码mpeg4时会得到no frame的错误,视频也解析不出来。

前面举过的例子中,看到比较多的是单节目的流,下面举一个多节目的流,常见于**行业的视频:

当视频流中出现多个Program时,播放Program与常规的播放方式则有所不同,需要指定对应的流,可以通过vst、ast、sst参数指定,例如希望播放Program 13中的音视频流,则通过如下命令行指定:

#ffplay -vst 4 -ast 5 ~/Movies/movie/ChinaTV-11.ts

播放效果如图:

通过Program 13中的信息可以看到该流名称为service_name对应的值是CCTV 9,而指定音视频流播放之后播放出来的图像也能够与之对应。

如果使用ffplay播放视频时希望加载字幕文件,则可以通过加载ASS或者SRT字幕文件来解决,下面举一个加载SRT字幕的例子,首先编辑SRT字幕文件,内容如下:

然后通过filter将字幕文件加载如播放数据中,使用命令

# ffplay -window_title "Test Movie" -vf "subtitles=input.srt" output.mp4

通过这条命令可以看到播放的效果如下

6.3 ffplay的数据可视化分析应用

使用ffplay除了可以播放视频流媒体文件之外,还可以作为可视化的视频流媒体分析工具,例如当播放音频文件时,不确定文件的声音是否正常,噪声数据等分析,可以直接使用ffplay播放音频文件,播放的时候将会把解码后的音频数据以音频波形显示出来:

#ffplay -showmode 1 output.mp3

从图中可以看到,音频的播放时的波形可以通过振幅显示出来,可以用来看到音频的播放情况。

例如当播放视频时体验解码器是如何解码每个宏块的,可以使用命令

# ffplay -debug vis_mb_type -window_title "show vis_mb_type" -ss 20 -t 10 -autoexit output.mp4

显示窗口内容

在输出的视频信息中,可以看到不同颜色的方块,下面来说明一下这些颜色代表着什么信息:

例如通过ffplay查看B帧预测与P帧预测信息,希望将信息在窗口中显示出来,使用命令

# ffplay -vismv pf output.mp4

显示效果如图

通过图中的箭头可以看到p帧运动估计的信息

而vismv参数则是用来显示图像解码时的运动向量信息的,参数可以设置三种类型的运动向量信息显示

这个vismv参数将会在未来被替换掉,未来更多的是使用codecview这个filter来进行设置,如上面图像,也可以通过下面这条命令完成

# ffplay -flags2 +export_mvs -ss 40 ~/Movies/objectC/facebook.mp4 -vf codecview=mv=pf+bf+bb

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。