取自 .mp4 的 H.264 解码器配置记录的格式

2023-12-26

我正在检查从 Android 设备录制的 .mp4 视频文件中包含的解码器配置记录。有些设备的解码器配置记录中写入了奇怪或不正确的参数。

以下是来自 Galaxy Player 4.0 的示例,该示例是不正确的:

DecoderConfigurationRecord: 010283f2ffe100086742000de90283f201000568ce010f20
       pictureParameterSetNALUnits : 68ce010f20
       AVCLevelIndication : 242
       AVCProfileIndication : 2
       sequenceParameterSetNALUnits : 6742000de90283f2
       lengthSizeMinusOne : 3
       configurationVersion : 1
       profile_compatibility : 131
       profile_idc : 103
       constraint_set : 16
       level_idc : 0

AVCLevelIndication == 242是错误的,因为标准规定 51 是最高值。

AVCProfileIndication应该在 (66, 77, 88, 100, 120, ..)

profile_compatibility叫做constraint_set?_flags 和 2 个最低有效位被保留并设置为等于 0

它应该是这样的:

DecoderConfigurationRecord: 0142000dffe100086742000de90283f201000568ce010f20
       pictureParameterSetNALUnits : 68ce010f20
       AVCLevelIndication : 13
       AVCProfileIndication : 66
       sequenceParameterSetNALUnits : 6742000de90283f2
       lengthSizeMinusOne : 3
       configurationVersion : 1
       profile_compatibility : 0
       profile_idc : 103
       constraint_set : 16
       level_idc : 0

How can AVCLevelIndication and AVCProfileIndication可以推导出来profile_idc and level_idc ?

有没有办法通过比较参数来检查或修复错误的参数SPS参数 ?


level_idc is 10 * level。即如果您使用级别3.1, 这将是31.

profile_idc附件 A 中指定ISO/IEC 14496-10。基线轮廓是66,主要简介是77和扩展配置文件是88例如。

此外,您可以分别在第 7.3.2.1 节和第 7.3.2.2 节中查看 SPS RBSP 和 PPS RBSP 的语法。笔记ue(x) and se(x)表示无符号指数哥伦布编码和有符号指数哥伦布编码。

编辑:我很抱歉。这AVCProfileIndication and AVCLevelIndication应该是一样的profile_idc and level_idc

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

取自 .mp4 的 H.264 解码器配置记录的格式 的相关文章

  • 如何在 C# 中将 g729 编码的字节数组转换为 .WAV?

    我一直在用 C Sharp 语言开发 VoIP 应用程序 该项目的目的是 VoIP 通话录音 它使用 g729 编解码器 我可以从 RTP 负载中提取语音部分 如何将此字节数组转换为 wav 格式 请帮我 您可以尝试使用ffmpeg程序 h
  • VLC 流至 MP4 WEBM 和 Flash

    我正在尝试将视频从 IP 摄像机流式传输到我的 WordPress 网站 我希望我的流可以通过常见设备 Windows Mac Android 和 IOS 访问 目前我正在使用 VLC 进行流式传输 但我只能使用 flash 流 但我想做
  • 检测到损坏的 ffmpeg 默认设置

    我在使用 X264 Fourcc 编解码器的 VideoWrite 时遇到 ffmpeg 错误 我已经安装了所有依赖项 如何纠正此问题 我一直在使用的示例代码如下 VideoWriter oVideoWriter path mp4 CV F
  • 将 AVAssetWriter 与原始 NAL 单元结合使用

    我在 iOS 文档中注意到AVAssetWriterInput你可以通过nil为了outputSettings字典来指定输入数据不应重新编码 用于对附加到输出的媒体进行编码的设置 传递 nil 来指定不应重新编码附加的样本 我想利用此功能来
  • 为什么 AVSampleBufferDisplayLayer 会失败并出现操作中断 (-11847)?

    我正在使用一个AVSampleBufferDisplayLayer解码并显示从服务器流式传输的 H 264 视频 当我的应用程序进入后台然后返回前台时 解码过程就会搞砸 并且AVSampleBufferDisplayLayer失败 我看到的
  • Gstreamer - Android 上的硬件加速视频解码

    我在 Android 手机上通过 RTP UDP 接收视频 但我发现 CPU 使用率非常高 几乎 100 的一个核心都用于解码视频 在高端设备上 视频播放几乎流畅 但在中低端设备上 我几乎每秒无法获得 1 帧 这是一个 H 264 视频流
  • 如何在 Python 中写入原始二进制数据?

    我有一个 Python 程序 可以存储数据并将数据写入文件 数据是原始二进制数据 内部存储为str 我正在通过 utf 8 编解码器将其写出来 但是 我得到UnicodeDecodeError charmap codec can t dec
  • 通过php的mp4文件不能作为html5视频播放

    我正在尝试通过 PHP 输出 mp4 视频文件 当通过 Flash 播放器 例如 flowplayer 使用它时 它工作得很好 但是当我尝试将它用作 html5 视频标签的源或直接调用 php 文件时 它不起作用 我使用的代码如下 file
  • 强制 MATLAB mmreader 或 avireader 使用不同的编解码器?

    当我需要播放 AVI 文件时 如何强制 MATLAB 函数使用不同的编解码器 我使用的是 windows7 我发现 indeo5 编解码器由于操作系统的原因无法正常工作 所有代码在 XP 上都可以正常运行 Thanks 如果您的问题是如何使
  • 如何在 jQuery 图像滑块中播放视频?

    我有一个 jQuery 滑块 是我在 WordPress 网站上用 jQuery 编写的 如果 src 扩展名是 mp4 我想让它播放视频 有任何想法吗 以下是生成的 HTML 示例 请注意第一个 img src 是视频链接 我想让访问者单
  • 使用 imageio 和 Python 当帧率太低时视频是黑色的

    我有以下示例代码 import numpy as np writer imageio get writer test mp4 fps 1 max 800 resolution 256 for idx in range 1 max img n
  • Apple HLS 中的 PES 数据包内的访问单元如何对齐?

    Apple 是否指定了这一点 PES 数据包有效负载中应放置多少个访问单元 另外 我想知道 PES 数据包中存在哪些前缀起始代码 如果有 我认为访问单元中第一个 NAL 单元之前的单元是无用的 不能放置 正确的 我想知道它是如何在 HLS
  • 在流 #1 中找不到编解码器 pcm_alaw 的标签,使用 ffmpeg 连接 2 个文件时容器当前不支持编解码器 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在尝试连接两个文件 第一个文件包含音频和视频 第二个文件仅包含视频 我用以下ffmpeg命令 ffmpeg command ffmpe
  • 如何减少 MediaCodec H264 编码器延迟

    我正在尝试使用 Android6 0 的 MediaCodec 将 h264 实时低延迟编码为流 编码器大约有 6 帧延迟 我想知道如何减少 代码来自屏幕记录 cpp https android googlesource com platf
  • 如何使用Java将h.264直播流编码为RTP数据包

    我正在为 Android 操作系统开发一个应用程序 我需要来自摄像机的实时解码视频流 该视频流使用 h 264 编解码器进行编码 将帧数据转换为 RTP 数据包并将数据包发送到服务器 首先 可以尝试在 PC 上实现从 HDD 中预先录制的视
  • 无法在 Windows 7 机器中使用 OpenCV 2.4.3、Python 2.7 打开“.mp4”视频文件

    我目前正在进行一个涉及读取 mp4 视频文件的项目 我遇到的问题是它在Windows 7机器上使用Python 2 7 32位 OpenCV 2 4 3 cv2 pyd 代码片段如下 try video cv2 VideoCapture v
  • 来自相机的 MediaCodec 视频流方向和颜色错误

    我正在尝试流式传输视频捕获直接从相机适用于 Android 设备 到目前为止 我已经能够从 Android 相机捕获每一帧预览帧 byte data Camera camera 函数 对数据进行编码 然后成功解码数据并显示到表面 我用的是安
  • C# 中的 H.264(或类似)编码器?

    有谁知道 C 或任何其他托管语言 的开源 H 264 编码器 我也许也可以用 python 实现 我发现的库 例如 x264 是用相当低级的 c 带有大量宏的程序 和汇编语言编写的 调整它们比我想象的要复杂得多 我的项目不关心性能或兼容性
  • h264 参考帧

    我正在寻找一种在 h264 流中查找参考帧的算法 我在不同的解决方案中看到的最常见的方法是查找访问单元分隔符和 IDR 类型的 NAL 不幸的是 我检查的大多数流没有 IDR 类型的 NAL 我将不胜感激的帮助 问候 雅采克 H264 帧由
  • 如何在对等连接中启用 h264?

    很多媒体说firefox在webrtc中支持h264 但我找不到任何信息 如何在webrtc中启用h264 这是我的媒体限制 var mediaConstraints video mandatory maxWidth 640 maxHeig

随机推荐

  • 如何确定AWS资源属于哪个CloudFormation堆栈?

    boto3 中是否有可靠的方法来确定 AWS 资源属于哪个 CloudFormation 堆栈 或者它是否属于堆栈 假设我有一个 DynamoDB 表或一个 EC2 实例 我如何找出它属于哪个堆栈 CloudFormation 的 boto
  • 10秒后下载文件

    我创建了一个下载页面 其中包含一个文件的链接 我希望该文件在 10 秒后自动下载 但我不确定如何执行此操作 文件的链接存储在 cookie 中 可在下载页面上访问并存储在 file 变量中 该文件的链接将类似于以下内容 这指向该文件并包含要
  • 您可以通过编程方式访问当前的 Heroku dyno id/名称吗?

    在 Heroku 上 您能否以编程方式从应用程序内获取当前执行代码的测功机的某种标识符 例如 dyno 名称 例如 web 1 或 worker 1 或其他一些 id 如果是的话 如何在 Java 中做到这一点 总是有机器的主机名 看起来像
  • 如何查明 Oracle 表上次更新时间

    我能否查出对 Oracle 数据库中的表执行最后一条 INSERT UPDATE 或 DELETE 语句的时间 如果是 如何查明 一点背景知识 Oracle 版本是 10g 我有一个定期运行的批处理应用程序 从单个 Oracle 表中读取数
  • 捕获 git 命令的输出?

    我正在编写一个脚本来自动为我设置新项目 这包括拉取 github 存储库 我想做的是从我的脚本中获得一些输出 然后调用git clone repo 我想在该命令运行时显示该命令的输出 但是当它运行时 如果它已成功运行 则将其输出替换为 仅注
  • 手动将pcm数据放入AudioBuffer

    所以我把频道数据从AudioBuffer并通过可传输对象将其发送给网络工作人员以对其进行一些处理 现在我想将其放回原处 我真的必须这样做吗copy就这样回来了 var myData new Float32Array audioBuf len
  • 为什么 MySQL 查询几乎总是用大写字母编写

    我见过大多数程序员在编写 MySQL 查询时都使用大写字母 例如 SELECT FROM table WHERE id 1 ORDER BY id DESC 我尝试用小写大写字母编写查询 但它仍然有效 那么不使用小型大写字母有什么特殊原因吗
  • 从 doFilter 方法设置 cookie

    我有一个带有 doFilter 方法的过滤器类 在 doFilter 方法中 我设置一个 cookie 如下所示 HttpServletResponse httpResp HttpServletResponse servletRespons
  • 如何让 pip 在代理服务器后面工作[重复]

    这个问题在这里已经有答案了 我正在尝试使用 python 包管理器 pip 来安装包及其来自互联网的依赖项 然而 我在我的大学里有一个代理 并且已经设置了http proxy环境变量 但是当我尝试安装这样的包时 pip install Tw
  • commitEditingStyle 未触发

    我有一个 UITableView 我试图在编辑模式处于活动状态但 commitEditingStyle 未触发时删除一行 UITableViewCell tableView UITableView tableView cellForRowA
  • 手动调用 viewDidAppear 的正确时间?

    我有一个UITableViewController在我的应用程序中 它直接添加到视图层次结构中 视图出现后 我想滚动到特定的单元格 我的解决方案是调用滚动代码 viewDidAppear 根据苹果的文档 我必须手动调用该方法 如果属于视图控
  • 删除 Seaborn 条形图图例标题

    我使用seaborn绘制分组条形图 如下所示https seaborn pydata org examples factorplot bars html https seaborn pydata org examples factorplo
  • 如何轻松地将基于 XML 的配置文件加载到 Java 类中?

    我有一个简单的 java 类 如下所示 public class Skin implements Serializable public String scoreFontName TahomaBold public int scoreFon
  • Flask 运行 Web 应用程序中的 Sphinx 文档

    我已经在本地构建了静态 Sphinx 文档 使用make html 我现在希望将 Sphinx 文件集成到我的使用 Flask 运行的 Web 应用程序中 在 Flask 运行的应用程序中 我只是想包含一个指向 Sphinx 文档的超链接
  • Blazor 服务器和 SignalR 以及 Azure AD

    我正在使用 Blazor Server Net 5 开发一个 Web 应用程序 在我的索引页面上 我需要显示通过 Azure AD 登录网站的在线用户数量 首先 用户访问 Web 它会被重定向到 Azure AD 一旦用户在 AD 中通过身
  • 查询地理位置附近的事物?

    我有一个查询试图在某个地理位置内查找内容 但它返回的结果有点 奇怪 我之前发布过此帖子 社区帮助我找到了我需要的公式 MySQL中经纬度查询 https stackoverflow com questions 4687312 queryin
  • NSArray(和其他 Cocoa 类型)@property 值

    在调试同事编写的代码的过程中 我偶然发现了以下让我感到困惑的内容 NSMutableArray array NSMutableArray array NSUInteger arrayCount array count 为什么这有效 它也适用
  • 如何让单个小部件在 Django 中设置 2 个字段?

    我得到了一个包含 2 个字段的模型 纬度和经度 现在它们是 2 个 CharField 但我想制作一个自定义小部件以在管理中设置它 正在考虑显示 Google 地图 然后获取标记的坐标 但是我可以用 1 个小部件 单个地图 来设置 2 个不
  • Python中isnumeric和isdecimal的区别

    字符串的 isnumeric 和 isdecimal 函数有什么区别 https www tutorialspoint com python3 python strings htm https www tutorialspoint com
  • 取自 .mp4 的 H.264 解码器配置记录的格式

    我正在检查从 Android 设备录制的 mp4 视频文件中包含的解码器配置记录 有些设备的解码器配置记录中写入了奇怪或不正确的参数 以下是来自 Galaxy Player 4 0 的示例 该示例是不正确的 DecoderConfigura