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

使用FFMPEG对含MISB 0604 KLV流的TS文件下采样并关联帧的技术咨询

问题结论

可以实现,但是FFmpeg没有内置针对KLV数据流的下采样滤波器,filter:d参数对KLV流无对应处理逻辑因此不会生效,需要通过时间戳关联的方式完成帧与KLV包的匹配,具体操作如下:

操作步骤

第一步:导出全部KLV原始数据

执行以下命令导出完整的KLV数据流:

ffmpeg -i 2205Z.ts -map 0:2 -c copy -f data klv_raw.bin

第二步:抽帧同时导出对应帧的精确时间戳

在原有抽帧命令基础上加入showinfo滤镜,输出每帧的PTS时间戳并保存到文件:

ffmpeg -y -i 2205Z.ts -map 0:0 -vf "select='not(mod(n,100))',fps=30000/1001/100,showinfo" -compression_algo raw -pix_fmt rgb24 %05d.tif 2>&1 | grep "pts_time:" > frame_timestamps.txt

生成的frame_timestamps.txt中每行按顺序对应导出的00001.tif、00002.tif...的时间戳信息。

第三步:匹配KLV包与对应帧

使用支持MISB 0604标准的解析工具(如基于libmisb开发的解析脚本)读取klv_raw.bin中每个KLV包的PTS时间戳,将其与frame_timestamps.txt中的帧时间戳做最近邻匹配,即可得到每帧对应的KLV元数据。

补充说明

  • 若KLV包输出频率与视频帧率为整倍数关系,匹配时间差可控制在1/30s以内,符合绝大多数业务场景的精度要求。
  • 如需将KLV元数据直接写入TIFF文件,可在匹配完成后通过exiftool工具将对应字段写入TIFF的EXIF或XMP元数据区域。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 05:27:02