我有两个IP地址链接到两个摄像头。我可以流一个IP地址。我需要从一台摄像机切换到另一台摄像机,所以我的流水线源应该从一个IP地址切换到另一个。有没有办法使用gstreamer插件来实现这一点?或通过命令行?有没有可以做到这一点的应用程序?我应该创建自定义应用程序吗?实时更改IP源到gstreamer管道
1
A
回答
1
您应该创建一个自定义应用程序。
目前还不清楚你对来自任一相机的数据流做了什么;现在让我们假设你只是显示它。
为相机创建一个带有源元素的bin,并为解码创建一个decodebin元素。
当您想要切换时,暂停管道,renmove源和decodebin,并添加两个新的(使用新的ip)并将它们设置为暂停。
然后设置整个管道播放。
如果相机的类型相同,则可能会重新使用一个源元素(首先进入NULL或READY),但很有可能您应该丢弃并重新创建解码器。
1
这里是我列出的函数,假设你使用gstreamer-java。您可能需要根据您的要求进行修改。你的情况你需要src_bin_new,src_bin_old而不是dest_bin_new,dest_bin_old。以下功能将改变,但这给你一个想法。
private static void dynamic_bin_replacement(Pipeline pipe, Element src_bin, Element dst_bin_new, Element dst_bin_old) {
pipe.pause();
src_bin.unlink(dst_bin_old);
pipe.remove(dst_bin_old);
pipe.add(dst_bin_new);
dst_bin_new.syncStateWithParent();
src_bin.link(dst_bin_new);
pipe.ready();
pipe.play();
}
也看一下下面的帖子http://gstreamer-devel.966125.n4.nabble.com/Adding-new-tee-src-d-to-a-running-pipeline-td2304488.html(请参阅网页上的最后一个职位)
相关问题
- 1. Gstreamer管道合并2 udp源到rtmp?
- 2. Gstreamer Android更改管道状态问题
- 3. gstreamer管道混合三个音频源?
- 4. gstreamer管道混合两个音频源
- 5. 将音频源添加到GStreamer管道中去除音频源
- 6. Python与Gstreamer管道
- 7. 在gstreamer的管道
- 8. 管道标准输出到gstreamer
- 9. gstreamer管道rtsp h264流
- 10. Gstreamer管道在Opencv videoCapture()
- 11. Gstreamer taginject管道不工作
- 12. 的Gstreamer H264管道滞后
- 13. GStreamer管道显示RTSP流
- 14. 的Gstreamer调试管道C++
- 15. 发送寻道事件gstreamer管道
- 16. 更改IP Cloudify管理器
- 17. 限制gstreamer管道吞吐量来模拟活动源
- 18. 应用WPF中的实时资源管理器中的更改
- 19. 暂停gstreamer管道并进行更改后返回到播放状态时不应用任何操作?
- 20. 同步gstreamer中的两个管道
- 21. 执行的Gstreamer管道脚本
- 22. GStreamer管道中的GstBuffer流量监视
- 23. Gstreamer管道动态变化Python
- 24. GStreamer的管道是否显示图片
- 25. GStreamer的管道视频和音频
- 26. gstreamer-0.10打印管道字符串
- 27. 队列元素GStreamer的管道
- 28. 推图像成GStreamer的管道
- 29. Gstreamer管道Jackaudiosrc输出输入
- 30. 这个gstreamer管道为什么失速?