gpt4 book ai didi

c# - 从原始 mpeg4 流获取帧尺寸?

转载 作者:行者123 更新时间:2023-11-30 22:44:59 25 4
gpt4 key购买 nike

有谁知道如何从原始视频比特流中检索 mpeg4 视频(非 h264,即 Mpeg4 第 2 部分)的帧尺寸?我目前正在为 Windows Media Foundation 编写自定义媒体源,我必须提供需要帧大小的媒体类型。没有它就无法工作。有任何想法吗?谢谢

最佳答案

我不明白你的意思。您是否想知道正在播放的视频的宽度和高度?如果是这样(我猜这是您正在寻找的“维度”),方法如下:

  1. 解析此整数 000001B0(十六进制)的流,它始终是您流式传输的第一件事。如果没有,请查看流的 SDP(如果有,搜索 config= 字段,它就在那里......只是现在它是一个 Base16 字符串!
  2. 读取所有字节,直到得到整数 000001B6(十六进制)
  3. 你应该得到这样的东西(十六进制):000001B0F5000001B5891300000100000001200086C40FA28 A021E0A2
  4. 这是“流配置 header ”或帧或其他名称,确切名称是视频对象序列。它包含解码器解码视频流所需的所有信息。
  5. 读取最后 4 个字节(在我的示例中,它们由一个空格分隔 -- A021E0A2)
  6. 现在将这些字节观察为一个 32 位无符号整数...
  7. 要获得宽度,请读取前 8 位,然后将得到的值乘以 4
  8. 跳过接下来的 7 位
  9. 要获取高度,请读取接下来的 9 位
  10. 伪代码:

      WIDTH = readBitsUnsigned(array, 8) * 4;
    readBitsUnsigned(array, 7);
    HEIGHT = readBitsUnsigned(array, 9);

好了...宽度和高度。 (:

关于c# - 从原始 mpeg4 流获取帧尺寸?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3246875/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com