You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

HEVC NAL SEI时间码终止与字节对齐解析问题(基于FFmpeg)

H.265 SEI时间码报文的RBSP对齐问题

我当前写入文件的NAL SEI时间码报文为00 00 01 4E 01 88 06 XX XX XX XX XX 10 80(终止部分为10 80,payloadSize设为0x06,XX字节为帧/秒/分/时的编码值)。我的目标是通过ffmpeg -i video.h265 -c:v copy -bsf:v trace_headers -f null -和ffprobe -show_frames video.mov无错误读取时间码。

最后一个0x10字节的最左侧3个0位是time_offset_length(值为0)数据的结尾,我原本打算在此之后设置rbsp_stop_one_bit,再加上4个rbsp_alignment_zero_bits以实现字节对齐。

不同配置下的报错情况

  • 采用无尾部0x80字节且payloadSize设为0x05的终止配置(如00 00 01 4E 01 88 05 XX XX XX XX XX 10)时,FFmpeg报错:
    Invalid value at time_offset_length[i]: bitstream ended
    
  • 添加尾部0x80字节并将payloadSize改为0x06匹配时,FFmpeg未抛出警告,但trace_headers输出显示存在额外未使用的比特。
  • 若去掉bit_equal_to_one,FFmpeg在正确读取time_offset_length后会给出通用错误:
    Failed to read unit 0 (type 39)
    

疑问

  • 在此场景下bit_equal_to_one和bit_equal_to_zero的含义是什么?
  • 这是否为SEI终止的预期方式?
  • 为何这些比特未被解析为对齐位?

内容的提问来源于stack exchange,提问作者rodeomacon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 02:37:09