VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 767|回复: 9

求助:请问怎么编程获取MPEG1文件的 比特率(bit rate) 信息

[复制链接]

1

主题

6

帖子

7.00

积分

新手上路

Rank: 1

积分
7.00
发表于 2020-1-22 11:20:01 | 显示全部楼层 |阅读模式
我现在想获取mpeg1文件的比特率。但对mpeg1文件组织格式不太了解,望高手指教。  
部分文件能获取到,规则是文件视频序列开始(00  00  01  B3)后第5个Byte开始取18bit的值,再将这个值乘以400。但这个规律并不适合所以文件。  
还望各位多多指教!
回复

使用道具 举报

0

主题

15

帖子

12.00

积分

新手上路

Rank: 1

积分
12.00
发表于 2020-2-15 11:15:02 | 显示全部楼层
视频压缩基本上每帧的长度都是不固定的,这和音频差别非常大!
所以计算视频的码率只能自己统计了,算出每帧的长度,然后自己计算好了!
每秒25帧或30帧,把连续这么多帧的长度加起来,一除不就搞定了?
回复

使用道具 举报

1

主题

6

帖子

7.00

积分

新手上路

Rank: 1

积分
7.00
 楼主| 发表于 2020-2-21 19:30:01 | 显示全部楼层
那每帧的长度用什么方式获取,文件里对每帧数据的大小有标明吗,还是自己需要统计每帧的数据bit数。
回复

使用道具 举报

0

主题

15

帖子

12.00

积分

新手上路

Rank: 1

积分
12.00
发表于 2020-2-23 15:30:01 | 显示全部楼层
每两个00 00 01 xx 的数据字节数,不就是帧长度吗?
如果其实avi等格式,那每帧的长度是在文件里面可以得到的!
回复

使用道具 举报

1

主题

6

帖子

7.00

积分

新手上路

Rank: 1

积分
7.00
 楼主| 发表于 2020-2-24 18:00:02 | 显示全部楼层
每两个00 00 01 xx 的数据字节数? 还请详细说明啊。拜托了。
怎么定位这个00 00 01 xx 数据,如果直接搜索文件内容,那可能是别的数据啊,“帧长度”在文件里用一组什么数据来做标识(比如视频序列开始用:00 00 01 B3来标识,其后接下来是视频的水平和垂直方向的尺寸,然后再是Aspect Ratio,再是帧速率)
回复

使用道具 举报

0

主题

15

帖子

12.00

积分

新手上路

Rank: 1

积分
12.00
发表于 2020-3-2 14:00:01 | 显示全部楼层
00 00 01 b3 不就是帧开始吗?
每2个帧头之间的数据不就是一帧的数据了?
回复

使用道具 举报

1

主题

6

帖子

7.00

积分

新手上路

Rank: 1

积分
7.00
 楼主| 发表于 2020-3-4 19:30:01 | 显示全部楼层
这样好像不行啊,我试过对一个mpeg1文件,25fps ,从第一帧始到第二十六帧始的数据为1194.789kb。通过别的工具得到的该文件的比特率为:458 Kbps。
从一个00 00 01 b3帧开始到另一个00 00 01 b3帧开始这中间的数据有些什么数据,好似并不是这其中的所以数据都算在比特率中
回复

使用道具 举报

0

主题

15

帖子

12.00

积分

新手上路

Rank: 1

积分
12.00
发表于 2020-3-7 18:00:01 | 显示全部楼层
哎,它里面可能还有音频数据,对不对?
我的意思是你要把他按照帧分析出来!
回复

使用道具 举报

1

主题

6

帖子

7.00

积分

新手上路

Rank: 1

积分
7.00
 楼主| 发表于 2020-3-8 18:45:01 | 显示全部楼层
我也不知道里面有些什么数据,音频数据不知在不在里面。÷
你有帧内部文件结构资料吗
回复

使用道具 举报

1

主题

6

帖子

7.00

积分

新手上路

Rank: 1

积分
7.00
 楼主| 发表于 2020-3-18 03:15:01 | 显示全部楼层
从一个00 00 01 b3帧序列开始标志开始到另一个00 00 01 b3帧序列开始标志,这中间有一个I帧和多个B or P帧啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表