我使用MSE在浏览器中播放分段的MP4流(H264视频)。
这个概念是可行的,有一个MediaSource和SourceBuffer,我将数据推送到SourceBuffer,而MediaSource正在正确地显示在HTML页面上。
然而,现在发现了一个流,我的配置根本无法播放.
我想强调的是,我的MSE配置是很好的,并且适用于大多数流--对于我到目前为止尝试过的所有流。因此,为了简单起见,我跳过实现的细节。
有一条包含许多细节的错误消息:
CHUNK_DEMUXER_ERROR_APPEND_FAILED: Invalid video decoder config: codec: h264, profile: h264 baseline, level: not available, alpha_mode: is_opaque, coded size: [0,0], visible rect: [0,0,0,0], natural size: [0,0], has extra data: false, encryption scheme: Unencrypted, rotation: 0°, flipped: 0, color space: {primaries:BT709, transfer:BT709, matrix:BT709, range:LIMITED}
视频本身似乎没有正确的大小信息。
因此,显而易见的问题是:(如何)可以配置MediaSource的视频解码器来更新流的大小(宽度和高度)参数?
发布于 2020-12-03 15:48:39
这看起来像一个问题的视频比特流的特定内容。更具体地说,在解码器初始化配置中,通常包含在初始化段的特殊NAL单元(SPS和PPS)中。
你可能无法解决这个问题。如果要修复它,您很可能必须在比特流中重写那些NAL单元,这在客户端通常不是要做的事情。这是一个内容创作问题。
另外,您可能希望与https://conformance.dashif.org/或dash.js参考播放器交叉验证。
https://stackoverflow.com/questions/65053833
复制相似问题