gstreamer - gstreamer rtpdepay 错误“不支持非 TIME 格式的段”
问题描述
我有一个 gstreamer 管道正在播放从 udpsrc 接收的 RTP 流:
udpsrc port=6000 caps=\"application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H265, payload=(int)96, seqnum-offset=(uint)5331, timestamp-offset=(uint)2500093283, ssrc=(uint)2046637718, a-framerate=(string)1\" ! rtph265depay ! avdec_h265 ! videoconvert ! autovideosink sync=false
这很好,但是如果我用appsrc替换udpsrc,它就会停止工作。我看到的唯一错误是:
... Segment with non-TIME format not supported
带有appsrc的非工作管道:
appsrc name=appsrc caps=\"application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H265, payload=(int)96, seqnum-offset=(uint)5331, timestamp-offset=(uint)2500093283, ssrc=(uint)2046637718, a-framerate=(string)1\" ! rtph265depay ! avdec_h265 ! videoconvert ! autovideosink sync=false
解决方案
事实证明,appsrc 需要将其format
属性设置为time
.
这是固定管道:
appsrc name=appsrc format=time caps=\"application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H265, payload=(int)96, seqnum-offset=(uint)5331, timestamp-offset=(uint)2500093283, ssrc=(uint)2046637718, a-framerate=(string)1\" ! rtph265depay ! avdec_h265 ! videoconvert ! autovideosink sync=false
推荐阅读
- python - 无法在 Python 3 中使用 pytube 从 YouTube 下载视频
- ios - 带有图像资产的启动屏幕故事板的图像大小
- linux - 如何在 Linux 中更改驱动程序的模块名称?
- node.js - nginx在节点服务器中找不到模块错误
- html - 为 Radio Buttons MVC 找到 2 个具有非唯一 id 的元素
- java - Hibernate-search:通过在 hibernate-search 中以编程方式注册字段,未在弹性搜索中注册基类字段
- makefile - 我可以在生成文件中添加动态地址吗?
- arangodb - 如何替换 arangodb 中的列表元素
- java - 在命令中使用带有空格的 Runtime.exec 时“无法运行程序”
- javascript - 无法在 MacOS 上打开 Intellij