如何解决为什么Kinesis视频流中的某些片段中的“ FragmentLengthInMilliseconds”为零
在我通过其gstreamer插件流式传输到KVS的片段中,我看到数百个片段-超过55%-在“ FragmentLengthInMilliseconds”字段中为0(通过LIST_FRAGMENTS api获取)。它们都有相同的时间戳。我观察到的另一件事是,在这些情况下,“ FragmentSizeInBytes”的值几乎始终为12265。
我想知道为什么这些碎片甚至存在吗?我在gstreamer插件配置中是否缺少某些东西-摆脱它们(如果它们无用)?这是我在C ++中配置的方式:
g_object_set(kvs_sink,"stream-name",stream_name.c_str(),"storage-size",1024,"retention-period",168,// in hours
"aws-region",AWS_REGION,NULL);
这是我正在使用的插件https://github.com/awslabs/amazon-kinesis-video-streams-producer-sdk-cpp
解决方法
您的配置看起来不错。片段持续时间是在后端通过添加整个片段的帧持续时间来计算的。某些媒体管道无法指定帧持续时间,因此片段持续时间将计算为最后一帧的时间戳减去第一帧的时间戳。如果是单个帧片段且未指定持续时间,则它将评估为0。持续时间0表示上游的媒体管道存在问题。您可能需要仔细检查您的配置。如果您实际上正在流式传输视频,请确保编码器产生常规的节奏I帧。查看存储库中的多个示例并浏览文档。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。