社区专栏> 一种基于H265接入单元分隔符播放问题的兼容>
原创
一种基于H265接入单元分隔符播放问题的兼容
一种基于H265接入单元分隔符播放问题的兼容
1.背景与问题现象
生产环境中,出现H265的流用客户提供的播放器播放失败,用VLC(业界开源播放器)播放正常,初步分析发现播放含有 00 00 00 01 46 01 50 字符串的视频流会失败,因此需要进一步分排查和分析,具体分析过程如下。
2.问题分析过程
2.1 使用的播放器对播放含有 00 00 00 01 46 01 50 字符串的H265视频流会失败。
2.2 实际上00 00 00 01 46 01 50 是业界内H265编码格式的PS流中的单元分隔字符串,可用于分隔基本流中的帧,并指示新访问单元的开始(符合标准)。
00 00 00 01 46 01 50
释义:
00 00 00 01 :表示视频帧的起始码
01 50: 为接入单元帧的内容
46:表示H265中的接入单元分隔符 对应H265单元中的nal_unit_type为35 AUD_NUT:接入单元分隔符。
具体规范信息如下:
3.结论与播放器兼容建议
目前VLC(业界有名的播放器)都能对该接入单元进行正常解析,并能正常播放该H265视频流。从标准上讲,该接入单元分隔符是符合标准的,考虑到流媒体服务端封装PS 目前基本上用的都是该方式进行封装,如果强制修改,影响面较大,对存量流造成影响,风险较大。因此播放器针对解析出H.265 的 接入单元分隔字符串(AUD_NUT:用来指示新访问单元的开始),其中AUD_NUT里的内容直接返回不做处理,兼容后该播放器能正常播放该H265的视频流。
实际的生产环境中,视频流和播放器的适配问题和兼容问题层出不穷,面对该现状,我们遇到问题后,只需静下心来分析根因,进行针对性的修复和兼容即可,这也是从事音视频工作者的日常工作,历练的多了,技术深度和高度,都会得到进一步的提升。
原创
一种基于H265接入单元分隔符播放问题的兼容
一种基于H265接入单元分隔符播放问题的兼容
1.背景与问题现象
生产环境中,出现H265的流用客户提供的播放器播放失败,用VLC(业界开源播放器)播放正常,初步分析发现播放含有 00 00 00 01 46 01 50 字符串的视频流会失败,因此需要进一步分排查和分析,具体分析过程如下。
2.问题分析过程
2.1 使用的播放器对播放含有 00 00 00 01 46 01 50 字符串的H265视频流会失败。
2.2 实际上00 00 00 01 46 01 50 是业界内H265编码格式的PS流中的单元分隔字符串,可用于分隔基本流中的帧,并指示新访问单元的开始(符合标准)。
00 00 00 01 46 01 50
释义:
00 00 00 01 :表示视频帧的起始码
01 50: 为接入单元帧的内容
46:表示H265中的接入单元分隔符 对应H265单元中的nal_unit_type为35 AUD_NUT:接入单元分隔符。
具体规范信息如下:
3.结论与播放器兼容建议
目前VLC(业界有名的播放器)都能对该接入单元进行正常解析,并能正常播放该H265视频流。从标准上讲,该接入单元分隔符是符合标准的,考虑到流媒体服务端封装PS 目前基本上用的都是该方式进行封装,如果强制修改,影响面较大,对存量流造成影响,风险较大。因此播放器针对解析出H.265 的 接入单元分隔字符串(AUD_NUT:用来指示新访问单元的开始),其中AUD_NUT里的内容直接返回不做处理,兼容后该播放器能正常播放该H265的视频流。
实际的生产环境中,视频流和播放器的适配问题和兼容问题层出不穷,面对该现状,我们遇到问题后,只需静下心来分析根因,进行针对性的修复和兼容即可,这也是从事音视频工作者的日常工作,历练的多了,技术深度和高度,都会得到进一步的提升。