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

GStreamer添加timecodestamper提示无set属性问题咨询

问题原因

报错的核心原因是属性名传错了:GstTimeCodeStamper元素不存在名为set的属性,属于属性名记忆偏差。
timecodestamper中控制是否向缓冲区写入时间码的属性正确名称为set-tc,你代码里写的"always"确实是该属性的合法枚举值,对应强制覆盖所有入站缓冲区的时间码字段。
另外补充一个容易踩的版本坑:source属性的rtc(实时时钟)选项仅在GStreamer 1.18及以上版本提供,如果你的GStreamer版本低于1.18,就算修正了set的属性名,后续还会触发source属性不存在的警告。

解决方法
  • 把错误的属性名set替换为正确的set-tc,修正后的代码如下:
GstElement *timestamp;
timestamp = gst_element_factory_make ("timecodestamper", "myTimeStamp");
g_object_set (timestamp, "set-tc", "always", "source", "rtc", NULL);
  • 核对本地GStreamer版本:如果版本低于1.18,要么升级GStreamer版本,要么把source的取值换成低版本支持的clock(管道时钟)或running-time(管道运行时间)。日常开发中如果不确定元素支持哪些属性,可以直接执行gst-inspect-1.0 timecodestamper命令查看所有合法属性、枚举值和版本要求,避免记错属性名。
  • 确认元素摆放位置正确:如果要把时间码嵌入H264码流的元数据中,timecodestamper必须放在H264编码元素的上游(编码前),放在编码后无法将时间码写入H264的SEI字段。接收端解析时,需要在解码链路中加入h264parse元素,才能正确提取码流中嵌入的时间码到缓冲区元数据中。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 23:45:45