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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 教程一:视频截图(Tutorial 01: Making Screencaps) 首先我们需要了解视频文件的一些基...
    90后的思维阅读 10,256评论 0 3
  • ### YUV颜色空间 视频是由一帧一帧的数据连接而成,而一帧视频数据其实就是一张图片。 yuv是一种图片储存格式...
    天使君阅读 8,754评论 0 4
  • 赤壁赋 ● 苏轼 壬戌之秋,七月既望,苏子与客泛舟游于赤壁之下。清风徐来,水波不兴,举酒属客,诵明月之诗,歌窈窕之...
    妙玄7阅读 2,241评论 0 0
  • 我有多久没有好好 看看镜子里的自己 时光匆忙的 让自己变的老去 我有多久没有好好 梳理自己的心绪 时光匆忙的 让快...
    卷耳朵朵阅读 2,593评论 0 3
  • 太陽鳥的熱愛啊,把自己的全部连同生命都投入其中,从中获得的慰藉都是拿一滴滴心血换来的呀。
    洛桑尔静阅读 1,664评论 0 1