FFmpeg 中的一些参数意义(tbr, tbn, tbc)

一、系统打印命令解析

在此命令执行过程中,我们可以看到如下数据:

1、ffmpeg在运行过程中需要用到的lib库如下

  libavutil      52. 47.101 / 52. 47.101

  libavcodec     55. 37.102 / 55. 37.102

  libavformat    55. 19.103 / 55. 19.103

  libavdevice    55.  4.100 / 55.  4.100

  libavfilter     3. 88.102 /  3. 88.102

  libswscale      2.  5.101 /  2.  5.101

  libswresample   0. 17.104 /  0. 17.104

  libpostproc    52.  3.100 / 52.  3.100

2、Input #0, hls,applehttp, from 'http://172.30.25.246:9090/mpeg/wd/vodtest/FLAT_TE

ST06.m3u8':

其中介绍的是片源的信息,hls为传输协议(是苹果的),后面的网址是视频的来源。

3、Duration: 00:01:30.00, start: 51210.426000, bitrate: 0 kb/s

Duration为时长,可以看见正在播放的片源为1分30秒。Start后面代表的是视频片内的偏移地址,bitrate为码率。

4、Metadata:

      variant_bitrate : 0

    Stream #0:0: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p, 720x576 [

SAR 17:12 DAR 85:48], 25 fps, 25 tbr, 90k tbn, 50 tbc

    Stream #0:1: Audio: aac ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 51

 kb/s

Metadata为元数据,就是描述其他数据的数据,相当于数据库里面的字段。

Stream #0:0: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p, 720x576 [SAR 17:12 DAR 85:48], 25 fps, 25 tbr, 90k tbn, 50 tbc

第0:0个流是视频流,编码为h264,颜色编码为yuv420p,分辨率为720x576, 25帧每秒,帧率为25,文件层的时间精度为1S=90k,视频层的时间精度为1S=50

自己的理解:

 fps 是一秒有多少帧,也就是帧率

 tbr 是timebase的rate也就是帧率

 tbn 是 AVStream->timebase,也就是流中一秒增加 90k

 tbc 是 AVStream->Codec->timebase , 也就是编码器中一秒 增加 50,(主要是h264或者其他编码器为了兼容 场(顶场底场),一帧递增长度为2,也就是0 2 4 6 。。。(如果是和帧率相等25的说 应该是每次增加1 ,0,1,2,3.。。))  

 

Stream #0:1: Audio: aac ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 51 kb/s

第0:1个流是音频流,采用的是aac(高级编码)技术,采样频率为48000Hz;立体声;AV_SAMPLE_FMT_FLTP格式的数据,码率为51kb/s。

二、关键词介绍

 PAR - pixel aspect ratio(可以理解为单个像素的宽高比)大多数情况为1:1,就是一个正方形像素,否则为长方形像素。常用的PAR比率(1:1,10:11, 40:33, 16:11, 12:11 ).

DAR - display aspect ratio就是视频播放时,我们看到的图像宽高的比例,缩放视频也要按这个比例来,否则会使图像看起来被压扁或者拉长了似的。

SAR - storage aspect ratio就是对图像采集时,横向采集与纵向采集构成的点阵,横向点数与纵向点数的比值。比如VGA图像640/480 = 4:3,D-1 PAL图像720/576 = 5:4

这三者的关系PAR x SAR = DAR或者PAR = DAR/SAR.

tbr代表帧率,tbn代表文件层的时间精度,和duration相关;tbc代表视频层的时间精度和时间戳相关。

AAC(Advanced Audio Coding),中文名:高级音频编码,出现于1997年,基于MPEG-2的音频编码技术。一种专为声音数据设计的文件压缩格式,与Mp3不同,它采用了全新的算法进行编码,更加高效,具有更高的“性价比”。利用AAC格式,可使人感觉声音质量没有明显降低的前提下,更加小巧。fltp:AV_SAMPLE_FMT_FLTP格式的数据( float, 4bit , planar);码率越高,文件所含的信息量就越大,音质就越高。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值