V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
gIrl1990
V2EX  ›  问与答

ffmpeg ffplay ffprobe 怎么查看视频比特率?

  •  
  •   gIrl1990 · 2019-08-20 23:08:36 +08:00 · 4616 次点击
    这是一个创建于 1928 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我看控制台默认打印的信息有些 本地 /网络视频 无比特率显示的。

    是 比特率 非恒定? 可以输出平均比特率或者估计值之类的吗?

    第 1 条附言  ·  2019-08-21 10:24:32 +08:00

    en.wiki 机翻

    可变比特率(VBR)是在电信和计算中使用的术语,其涉及声音或视频编码中使用的比特率。与恒定比特率(CBR)相反,VBR文件改变每个时间段的输出数据量。VBR允许将更高的比特率(因此更多的存储空间)分配给更复杂的媒体文件段,同时将更少的空间分配给不太复杂的段。可以计算这些速率的平均值以产生文件的平均比特率。

    恒定比特率(CBR)是电信中使用的术语,与服务质量有关。与可变比特率相对。

    平均比特率(ABR)是指每单位时间传输的平均数据量,通常每秒测量,通常用于数字音乐或视频。

    5 条回复    2019-08-21 09:18:08 +08:00
    zbinlin
        1
    zbinlin  
       2019-08-20 23:26:15 +08:00
    什么格式的视频?用 ffprobe 一般就会显示 bitrate 的呀
    gIrl1990
        2
    gIrl1990  
    OP
       2019-08-20 23:58:23 +08:00
    @zbinlin
    ./bin/ffprobe "http://qq.com-l-qq.com/20190724/10091_b2880468/index.m3u8"
    参数我没加,你来看下该视频中 video stream 的比特率
    zbinlin
        3
    zbinlin  
       2019-08-21 01:28:31 +08:00
    不知道什么原因,直接这样不显示的,不过可以找出它最终的 ts 文件,然后 ffprobe ts 链接或下载下来再 ffprobe 是可以显示的,不过每个 ts 的 bitrate 都不一样,可以是流媒体的原因吧。

    PS:另外,由于这是 HLS 文件格式,可能里面有不同的分辨率,而不同的分辨率的 bitrate 也是不一样的。
    msg7086
        4
    msg7086  
       2019-08-21 08:11:47 +08:00
    有什么理由不用 Mediainfo 么。
    视频比特率本来就不是恒定的(恒定比特率的视频已经淘汰不知道多久了。
    如果要估计文件的平均比特率,直接用其定义就行了 —— 比特率 = 容量 / 时间。
    如果是文件内各个流的码率的话,有些容器封装时不记录每个流的大小(比如 MKV ),因此无法简单算出内部多个非恒定码率流的码率。
    比如说 HEVC+DTSHDMA 这样 VBR+VBR 的 MKV 就无法计算单独的码率。
    gIrl1990
        5
    gIrl1990  
    OP
       2019-08-21 09:18:08 +08:00
    ./mediaconch -mi "< spamming >://qq.com-l-qq.< spamming >/20190724/10091_b2880468/index.m3u8"

    输出 Video
    Encoded_Library_Settings: vbv_maxrate=1000

    猜测: 对应链接跳转的 `/1000k/hls/` 。。done.
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2741 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 10:03 · PVG 18:03 · LAX 02:03 · JFK 05:03
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.