FFmpeg命令行工具ffplay基本使用

插播下音画同步的知识:

音画同步策略:
以视频为主时间轴作为同步源、以音频为主时间轴作为同步源、以外部始终为主时间轴作为同步源

其中的音频为基准进行音视频同步:

比较视频当前的播放时间和音频当前的播放时间,如果视频播放过快,
则通过加大延迟或者重复播放来降低视频的播放速度;如果视频播放慢了,
则通过减小延迟和丢帧来追赶音频播放的时间点。关键在于音视频时间点比较以及延迟的计算,
当然在比较过程中会设置一个阈值,若超过预设的阈值就应该做调整(丢帧渲染或者重复渲染),
这就是整个对齐策略。

ffplay设置音视频同步方式:

音频为基准:
ffplay 文件路径 -sync audio
视频为基准:
ffplay 文件路径 -sync video
外部时钟为基准:
ffplay 文件路径 -sync ext

播放封装好的音视频:

ffplay 文件路径
例子:ffplay ~/Desktop/1111.mp3

播放音频时,一些操作:
w:绘制音频波形图
right:快进10s
left:快退10s
up:快进1min
down:快退1min
space:暂停/开始
esc:退出

播放视频时,一些操作:
s:步进模式,每按一次s,就播放下一帧图像

循环播放:

ffplay 文件路径 -loop 10
例子:ffplay /Users/xxb/Desktop/胡彦斌为你我受冷风吹.mp3 -loop 10

播放某一路音频:

ffplay 文件路径 -ast 1,如果没有设置的这路音频,则静音
例子:ffplay /Users/xxb/Desktop/胡彦斌为你我受冷风吹.mp3 -ast 1

播放某一路视频:

ffplay 文件路径 -vst1,如果没有设置的这路视频,则黑屏啥都不显示
例子:ffplay /Users/xxb/Desktop/20180630151652.mp4 -vst 1

播放音频裸数据(播放pcm数据):

ffplay 文件路径 -f 格式信息 -channels 声道数 -ar 采样率
例子:ffplay /Users/xxb/Desktop/xbMedia.caf -f s16le -channels 1 -ar 16000

播放视频裸数据:

ffplay -f 格式 -pixel_format 表示格式 -s 宽高 文件路径

播放YUV420P格式的视频帧(其实就是一张图像)

例子:ffplay -f rawvideo -pixel_format yuv420p -s 480*480 ~/Desktop/texture.yuv

播放rgb视频帧:

例子:ffplay -f rawvideo -pixel_format rgb24 -s 480*480 ~/Desktop/texture.rgb


 

你可能感兴趣的:(ffmpeg)