当前位置: 首页 > 知识库问答 >
问题:

如何从Media Foundation中MP4和x264流中提取颜色矩阵

师野
2023-03-14

我正在使用media Foundation用自定义播放器播放视频(包含x264编码视频流的mp4)。

当我将YUV信息转换为RGB时,我需要考虑编码时使用的颜色矩阵和范围。

Media Foundation提供了对视频流的MF_MT_MPEG4_SAMPLE_DESCRIPTION和MF_MT_MPEG_SEQUENCE_HEADER的访问,但我找不到这些内容的描述。

我注意到MF_MT_MPEG_SEQUENCE_HEADER对于存在信息的视频来说要长得多,这(MPEG Headers快速参考)似乎暗示了Headers可能包含我需要的信息。

我正在寻找颜色范围(有限/全部),原色,转移特性和矩阵系数(BT.709等)。

谢谢

朱尔斯

序列头似乎是MPEG4示例描述的一个子集,尽管我找不到任何东西来指明两个数据位实际包含/不具体包含什么。

我发现如何解码H264 SDP中的存储参数集?以及H.264流的序列/图像参数集的可能位置。

序列头似乎是序列或图片参数集(pps),我想要的参数是VUI扩展子集。

另外,这个post H.264流结构给出了流数据结构的高级,并且MF_MT_MPEG_SEQUENCE_HEADER似乎以NAL 0x00 0x00 0x01开头,所以我猜它是一个包含PPS的NAL。

共有1个答案

符鸿光
2023-03-14

是的,信息在VUI扩展子集中。

因此需要检查vui_parameters_present_flag和Video_Signal_Type_Present_Flag。如果没有设置这些标志,我认为在h264规范中有颜色范围/原色/转移特性/矩阵系数的默认值。

此外,您还需要从SPS中提取信息,为此您必须关心的是学习指数Golomb编码。

也是的,当文件是h264视频格式时,MF_MT_MPEG_SEQUENCE_HEADER通常包含SPS和PPS信息。

 类似资料:
  • 我正试图用iText提取PDF中矩形的颜色。以下是PDF页面的所有内容: 这是用iText提取的页面内容: 但是,我不能从代码中提取一些东西,我说的是红色,如果我生成相同的PDF,但使用另一种颜色而不是红色,页面内容没有任何变化(代码显示在上面)。 我使用的是iText 5.5.9,下面是我用来生成PDF示例的代码示例: 感谢您提供的任何帮助! 这是我用来生成PDF的代码: 我已经检查了所有的re

  • 问题内容: 我正在尝试使用iText提取PDF中矩形的颜色。在下面的是所有的PDF页面有什么: 这是使用iText提取的页面内容: 但是,有些东西我无法从该代码中提取,我说的 是红色,如果我生成相同的PDF,但是用另一种 颜色而不是红色,则页面内容没有任何变化(上面的代码显示了) )。 因此,我的问题是,如何使用 iText库Java的某些方法或属性来提取该颜色。 我正在使用iText 5.5.9

  • 我找不到一种稳定而平衡的方法来对a/V流进行解复用,然后将其保存为可播放的h264附录B格式视频。 好吧,我尝试了以下收缩文件的步骤。 gst-launch-0.10 filesrc location=h264\U 720p\U mp\U 3.1\U 3mbps\U aac\U收缩率。mkv!matroskademux!文件链接位置=abc。h264 -rw-rw-r--1 XXX XXX 286

  • “我妈妈有一双蓝眼睛,我爸爸有一双深绿色的眼睛”。我想用JSOUP解析这个句子,并在android textview上用粗体和彩色文本打印出来。这里的“蓝色”是大胆的蓝色。“深绿色”是大胆的颜色。 我需要解析上述html代码,并需要如下显示: 这是一个标题 我母亲有蓝色的眼睛,我父亲有深绿色的眼睛 这是另一个标题 这是一段 下面是我的程序。考虑到文档doc==获取上面的html; 有人能帮我解决吗

  • 解析一个超文本标记语言文件。但是我需要排除灰色,我现在为黑色做了,但是灰色有很多变化,如果条件允许我知道如何使用它。 这就是我如何排除黑色,但在这里我也想排除灰色。

  • PLMN标识符(3字节),由MCC(移动国家代码)和MNC(移动网络代码)组成。 我被告知(尽管我持怀疑态度),这应该导致: 但是我一辈子都想不出如何从PLMN中得到结果,那么我该如何解析呢?