【问题标题】:H264 PPS and SPS on Android DeviceAndroid 设备上的 H264 PPS 和 SPS
【发布时间】:2021-03-14 19:57:08
【问题描述】:

使用 Android Camera Video recorder 我制作了一个视频:

似乎 seqParamSetLength 始终为 15,而 picParamSetLength 始终为 4。

这是在 Codec (MediaCodec) 中以某种方式定义的吗?

03-14 20:27:30.125   379  3343 I MPEG4Writer: parseAVCCodecSpecificData
03-14 20:27:30.125   379  3343 I MPEG4Writer: getNalUnitType: 103
03-14 20:27:30.125   379  3343 I MPEG4Writer: parseParamSet
03-14 20:27:30.125   379  3343 I MPEG4Writer: parseParamSet 67
03-14 20:27:30.125   379  3343 I MPEG4Writer: getNalUnitType: 104
03-14 20:27:30.125   379  3343 I MPEG4Writer: parseParamSet
03-14 20:27:30.125   379  3343 I MPEG4Writer: parseParamSet 68
03-14 20:27:30.125   379  3343 I MPEG4Writer: seqParamSetLength 15
03-14 20:27:30.125   379  3343 I MPEG4Writer: picParamSetLength 4

想要在下面做类似的事情,但想知道如何在 MediaCodec 中为 seqParamSetLength 和 picParamSetLength 设置值?他们是每台设备吗?每个编解码器?

MediaCodec configuration for SPS and PPS H264 encoder

【问题讨论】:

    标签: android h.264 android-mediacodec


    【解决方案1】:

    似乎 seqParamSetLength 始终为 15,而 picParamSetLength 始终为 4。

    这不是真的。 SPS/PPS 的大小因使用的编码器和设置而异。由于android通常使用硬件编码器,你会在不同的设备上得到不同的尺寸。

    【讨论】:

    • 是那些参数 - developer.android.com/reference/android/media/MediaFormat 吗?想知道为什么我的设备相机应用程序的 seqParamSetLength 长度为 15,而 picParamSetLength 长度为 4。你知道这可以在哪里定义吗?
    • 它们在 ISO 14496-10 中定义
    • SPS 和 PPS,嵌入在 mp4 文件的“avcC”原子中显示的编解码器私有数据中,由编码器发出,并且包含 H.264 的图片参数和流参数.在大多数情况下,您会将它们视为不透明的,因为它们是使用复杂的可变长度编码方案进行编码的。我需要对它们进行解码,您可以在 js 中找到我所做的 here。但是,除非必须,否则不要尝试解码它们。
    • 谢谢你们。如果你知道 Android Media 和 Java,也打开这个问题:stackoverflow.com/questions/66645620/…
    猜你喜欢
    • 2014-01-08
    • 2019-08-10
    • 2013-08-03
    • 2014-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-12
    • 1970-01-01
    相关资源
    最近更新 更多