问题标签 [gstreamer-1.0]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
1340 浏览

c++ - 使用 GStreamer GstRTSPServer 为 Axis 相机创建 RTSP 流媒体服务

最后,我想从 Axis 安全摄像头获取 RSTP 流,然后使用 Gstreamers GstRTSPServer 对象使其可用于重新流式传输。现在虽然我什至无法让示例 videotestsrc 在任何播放器中播放。

我一直在关注这里找到的帖子:

GStreamer 启动 RTSP 服务器,用于重新流式传输 IP 摄像机 H264

我已经在控制台中构建并运行了示例代码,但无法在我找到的任何播放器中查看流。我在这里使用的确切代码:

https://github.com/GStreamer/gst-rtsp-server/blob/master/examples/test-readme.c

我使用的两台 Windows 10 计算机都在同一个网络上,我可以双向 ping,两台计算机上的防火墙都完全关闭。

我使用命令尝试了 VLC 播放器、Axis Media Control SDK 修改示例和 GStreamer:

VLC 在日志中声明连接被主动拒绝。它似乎正在尝试连接到端口 80?不确定我是否正确阅读。请参阅下面的 VLC 日志。完整日志从本地机器粘贴到此处: https ://pastebin.com/my3kTsRV ,此处从第二台机器 粘贴: https ://pastebin.com/g1q47UBm

Axis Media Control (AMC) 在本地和辅助计算机上都出现错误:

尝试使用 GStreamer 命令进行连接时,我在本地和辅助计算机上都收到以下错误:

使用 VLC、AMC 和 GStreamer,我可以直接从摄像机中提取流,所以至少有些东西可以工作。在没有 GstRTSPServer 的情况下,我也能够成功运行其他 GStreamer 示例。

如果您想/需要我尝试任何事情,请告诉我。

0 投票
1 回答
571 浏览

gstreamer - 如果未在 port-range 属性中指定,则 rtspsrc 使用哪些客户端端口

我有一个来自网络人员的请求,rtspsrc 使用了 RTSP 客户端端口,我们没有在 rtspsrc 元素上设置端口范围属性。

如果未设置此属性,谁能告诉我 rtspsrc 使用了哪些端口?(TCP/UDP)。默认情况下是否有任何最小最大值,或者它是从 1 到 65535 的整个范围。

谢谢你们,克里斯托夫弟兄

0 投票
1 回答
1562 浏览

gstreamer - gstreamer:在命令行 API 中传递帧 PTS

目前我有这样的设置。

my-app我将原始 BGR 帧缓冲区流式传输到 gst。我怎样才能传递这些帧的演示时间戳 (PTS)?我对my-app. 我可以从它打开其他管道到 gst。

我知道我可以选择使用 gstreamer C/C++ API 或编写 gstreamer 插件,但我试图避免这种情况。

0 投票
1 回答
1893 浏览

gstreamer - gstreamer-1.0,RTSP H264 流和共享内存

我正在尝试将 RTSP 流写入共享内存,然后将其写入 .mkv 文件。

我使用此命令直接在 .mkv 文件中写入流:

有用。

现在我添加共享内存:

我收到消息:

输入缓冲区需要设置 RTP 上限。

好的,我写

我再次收到此消息。

我究竟做错了什么?

0 投票
0 回答
1758 浏览

linux - 如何为 GStream 配置 v4l2src?

我正在尝试.flv使用 GStreamer 流式传输网络摄像头流以进行格式化。类似于下面的命令。

我得到以下错误 -

错误的管道:没有元素“v4l2src”

我搜索了这个错误,尝试了下面链接中提到的许多选项。但它似乎不适用于 Ubuntu 16.04 操作系统。

Gstreamer 错误:无法构造管道:没有元素“v4l2src”

更新:我使用 gst-inspect-1.0 来获得以下输出以查看所有已安装的插件。

强文本**

0 投票
2 回答
2277 浏览

gstreamer - 具有多个摄像头的 gstreamer:如何根据摄像头标识符拆分管道?

我正在尝试构建一个 GStreamer 管道,它将来自多个摄像头的图像交织成一个数据流,该数据流可以通过神经网络传递,然后分成单独的分支进行下沉。我已成功使用appsrc插件和 Basler Pylon 5 - USB 3.0 API 创建交错馈送。但是,在我完成编写神经网络 GStreamer 元素的工作之前,我想让拆分工作。

目前,我正在考虑用“ID”标记图像,表明它来自哪个相机。然后我想我可以使用这个标签来拆分数据流。但是,我还没有找到任何与此问题完全相关的主题。我已经看到您可以使用tee插件来分支管道,但我还没有看到它用于基于标签进行拆分。可以tee用来做这个吗?

我见过人们使用tee这样的方式根据来源拆分提要:

但是,这不允许我通过神经网络元素拥有单一路径。

如果有帮助,这是我设想的管道图:

0 投票
1 回答
665 浏览

gstreamer - 除非我有两个队列,否则为什么屏幕上的视频无法更新?

工作,文件和屏幕显示都工作

不工作。

这是另一组示例。

作品。

没有。为什么不?为什么 tee 的两个输出都需要排队?在最坏的情况下,我希望一个自动视频接收器可以工作而另一个是空白的,但是一个显示单帧而另一个是黑色的。

但以下确实有效。这是怎么回事?

为什么添加第三个输出可以消除对所有这些输出的需要?

有谁知道为什么队列会这样?

这是我正在尝试制作的管道。以上只是缩小的例子。

(注意:管道第一行中奇怪的上限是为了确保我的 Logitech c920 相机输出 h264 而不是 raw,并且我的 Logitech BRIO 以 1080p 输出视频 jpeg,而不是 720p 的 raw。这已经过测试,并且比简单的“decodebin”好得多)




这个问题是通过将 max-size-bytes=0 max-size-buffers=0 max-size-time=10000000000 添加到队列中来解决的。

对于没有开始使用 gstreamer 低级位的任何人来说,这是非常违反直觉的。但如果它有效,我猜它会有效。

0 投票
0 回答
985 浏览

gstreamer - 如何在不重新启动管道的情况下更改 gstreamer 管道中当前正在播放的文件?

出于某种原因,我们无法在线找到解决此问题的有效解决方案。

现在我们的源是一个 filesrc 元素。我们目前的非解决方案是将管道的状态更改为 READY,更改 location 属性,并将管道的状态设置为 PLAYING(参见下面的 change_song 方法)。

这给出了以下错误:

我们听到第一首歌曲正在播放,但在尝试重新进入 PLAYING 状态时管道崩溃。这是我们的代码:

我们还尝试了以下方法:

但这给出了同样的错误。

0 投票
1 回答
810 浏览

gstreamer - 如何使用 gstreamer 在 windows 上播放 gif 文件

作为标题,我使用这个推荐在 Windows 上播放 gif,但它只显示第一帧然后关闭它。

我想播放整个 gif 文件,是我忘记设置的一些 gst 元素或参数吗?

0 投票
1 回答
652 浏览

v4l2 - 将 gstreamer NV12 视频定向到 v4l2loopback 接收器

我想将 NV12 像素格式的视频定向到 v4l2loopback 设备,但我的所有尝试都失败了。我试过这个管道

并且/dev/video1是我的环回设备。我还尝试使用v4l2loopback-ctl脚本将环回设备功能设置为 NV12 而没有成功

该管道适用于其他视频格式,那么,将 NV12 定向到 v4l2loopback 设备是否有效?

我正在使用内核版本 4.13.0-37-generic 和 v4l2loopback 版本 0.11.0 使用此提交从源代码编译的 ubuntu 16.04 上工作