h265 获取分辨率
时间: 2024-06-16 13:04:36 浏览: 210
从H265码流中获取分辨率的方法如下[^1]:
1. 首先,需要解析NAL单元。NAL单元是H265码流的基本单元,包含了视频数据和相关的元数据。
2. 在NAL单元中,找到VPS(Video Parameter Set)和SPS(Sequence Parameter Set)。
3. 在SPS中,可以找到图像的宽度和高度信息。具体来说,可以从SPS的vui_parameters字段中获取pic_width_in_luma_samples和pic_height_in_luma_samples两个参数,它们分别表示图像的宽度和高度。
4. 根据获取到的宽度和高度信息,即可得到H265码流的分辨率。
下面是一个示例代码,演示了如何从H265码流中获取分辨率:
```python
import bitstring
def get_resolution_from_h265_stream(stream):
nal_start_code = b'\x00\x00\x00\x01'
nal_units = stream.split(nal_start_code)
for nal_unit in nal_units:
nal_unit_type = nal_unit & 0x7E
if nal_unit_type == 32: # VPS
vps = bitstring.BitArray(nal_unit)
pic_width_in_luma_samples = vps.find('uint:16')
pic_height_in_luma_samples = vps.find('uint:16')
return pic_width_in_luma_samples, pic_height_in_luma_samples
return None
# 示例使用
h265_stream = b'\x00\x00\x00\x01\x40\x01\x01\x60\x00\x00\x03\x00\x10\x00\x00\x03\x00\x80\x00\x00\x03\x00\x00\x00\x01\x42\x01\x01\x60\x00\x00\x03\x00\x10\x00\x00\x03\x00\x80\x00\x00\x03\x00\x00\x00\x01\x44\x01\x01\x60\x00\x00\x03\x00\x10\x00\x00\x03\x00\x80\x00\x00\x03\x00\x00\x00\x01\x46\x01\x01\x60\x00\x00\x03\x00\x10\x00\x00\x03\x00\x80\x00\x00\x03\x00\x00\x00\x01\x48\x01\x01\x60\x00\x00\x03\x00\x10\x00\x00\x03\x00\x80\x00\x00\x03\x00\x00\x00\x01\x4A\x01\x01\x60\x00\x00\x03\x00\x10\x00\x00\x03\x00\x80\x00\x00\x03\x00\x00\x00\x01\x4C\x01\x01\x60\x00\x00\x03\x00\x10\x00\x00\x03\x00\x80\x00\x00\x03\x00\x00\x00\x01\x4E\x01\x01\x60\x00\x00\x03\x00\x10\x00\x00\x03\x00\x80\x00\x00\x03\x00\x00\x00\x01\x50\x01\x01\x60\x00\x00\x03\x00\x10\x00\x00\x03\x00\x80\x00\x00\x03\x00\x00\x00\x01\x52\x01\x01\x60\x00\x00\x03\x00\x10\x00\x00\x03\x00\x80\x00\x00\x03\x00\x00\x00\x01\x54\x01\x01\x60\x00\x00\x03\x00\x10\x00\x00\x03\x00\x80\x00\x00\x03\x00\x00\x00\x01\x56\x01\x01\x60\x00\x00\x03\x00\x10\x00\x00\x03\x00\x80\x00\x00\x03\x00\x00\x00\x01\x58\x01\x01\x60\x00\x00\x03\x00\x10\x00\x00\x03\x00\x80\x00\x00\x03\x00\x00\x00\x01\x5A\x01\x01\x60\x00\x00\x03\x00\x10\x00\x00\x03\x00\x80\x00\x00\x03\x00\x00\x00\x01\x5C\x01\x01\x60\x00\x00\x03\x00\x10\x00\x00\x03\x00\x80\x00\x00\x03\x00\x00\x00\x01\x5E\x01\x01\x60\x00\x00\x03\x00\x10\x00\x00\x03\x00\x80\x00\x00\x03\x00\x00\x
阅读全文