繁体   English   中英

gstreamer 1.0 android - 使用视频盒将视频分解为多个表面

[英]gstreamer 1.0 android - video de-compositing with videobox to multiple surfaces

我正在尝试分解通过合成器元素从多个输入源编码的视频流,这工作正常。

我正在尝试获取该流并在解码并将 tee 的每个 src pad 传递给 videobox 元素以将与复合流对应的片段裁剪为 android 中唯一的表面实例后,将其与 tee 分开。 实际上,我认为问题更多在于我(错误)使用视频盒的方式。

我可以很好地使用单个 videobox 元素,它会裁剪出正确的合成片段,但是当我使用多个 videobox 元素时,似乎没有流向下游元素。

我在 Windows 和 Mac 机器上遇到了类似的症状,但目标平台是 Android。

例如,此 Mac 管道有效:

gst-launch-1.0 rtspsrc location=rtsp://192.168.0.25:7768/tiles ! rtph264depay ! h264解析! 发球台名称= t ! 队列 ! 视频转换! 视频框左=0 右=960 上=0 下=540 ! glimagesink 渲染矩形='<990,570,960,540>'

此 Mac 管道运行,但未显示任何内容且没有错误:

gst-launch-1.0 rtspsrc location=rtsp://192.168.0.25:7768/tiles ! rtph264depay ! h264解析! 虚拟机! 发球台名称= t ! 队列 ! 视频转换! 视频框左=0 右=960 上=0 下=540 ! glimagesink 渲染矩形='<990,570,960,540>' t。 队列 ! 视频转换! 视频框左=960 右=1920 上=0 下=540 ! glimagesink 渲染矩形='<20,20,960,540>'

感谢任何反馈 - 道格

我错误地解释了左/右/上/下的使用。 在阅读有关 videocrop 的信息后,我发现这些参数表示从每个相应的边缘裁剪多少。

这有效:(在视频盒上第二次出现时右 = 0)

gst-launch-1.0 rtspsrc location=rtsp://192.168.0.25:7768/tiles ! rtph264depay ! h264解析! 虚拟机! 发球台名称= t ! 队列 ! 视频转换! 视频框左=0 右=960 上=0 下=540 ! glimagesink 渲染矩形='<990,570,960,540>' t。 队列 ! 视频转换! 视频框左=960 右=0 上=0 下=540 ! glimagesink 渲染矩形='<20,20,960,540>'

这就是我周五加班得到的回报:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM