问题标签 [gst-launch]

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 投票
1 回答
1525 浏览

gstreamer - 从 USB 网络摄像头中提取 h264 流(罗技 C920)

所以,我开始玩 gstreamer,我可以做非常简单的管道,比如

现在,由于我的 USB 网络摄像头(即 video1,video0 是计算机的内置摄像头)支持 h264(我已经使用 进行了检查lsusb),我想尝试直接获取 h264 提要。我知道这个提要在 mjpeg 中混合,但是在网络上环顾四周,gstreamer 似乎仍然能够得到它。

由于我的最终目标是从 Beaglebone 流式传输它,因此我尝试使用本文提供的解决方案从不同的终端添加侦听器):

但这会产生以下错误:

我还尝试了类似于我的第一个命令的操作,将源代码从 raw 更改为 h264(基于该帖子,尝试那里给出的完整命令会给出相同的错误消息)

但是同样,这也不起作用:

我承认这让我很疯狂:在网络上查看 SO 或其他地方,似乎有很多人使用与我所拥有的网络摄像头完全相同的网络摄像头(Logitech C920),但我一直遇到一个接一个的问题。

从该网络摄像头中提取 h264 的正确管道示例是什么?

0 投票
2 回答
701 浏览

ubuntu - ubuntu 16.04 中的 Gstreamer gst-launch udpsrc 不起作用

我正在尝试在 ubuntu 16.04 的 gstreamer 中使用此命令将多播 h264 ts 保存到文件中:

“gst-launch-1.0 udpsrc 多播-iface=eno1 uri=udp://224.1.1.1:3001!队列!文件接收位置=test.mp4”

该命令在 Windows 上的 gstreamer 中有效,但是当我在 linux 中尝试相同的命令时它不起作用 - 创建了 test.mp4 文件,但没有写入任何内容。

我还尝试在 vlc 中播放 uri=udp://224.1.1.1:3001 ,但在 ubuntu 中也无法播放。在 Windows 中它可以工作。

任何帮助将不胜感激!

谢谢

0 投票
1 回答
1624 浏览

linux - gstreamer rtsp客户端连接被拒绝错误

我已经在我的 i.MX6 板上安装了 Gstreamer。我想流式传输使用 RTSP 连接的相机。

以下命令在 LVDS 屏幕上显示摄像机内容:

我不想在屏幕上显示它,而是想通过网络 RTSP 发送内容并将其显示在其他设备的显示器上

我使用以下命令开始流式传输,它可以正常工作而不会引发任何错误

在另一台设备上,我执行了以下命令:

它失败并出现以下错误:

我可以从其他设备 ping 到流媒体设备。

可能是什么问题?

0 投票
0 回答
2594 浏览

python - 使用带有 rtph264pay 的 gst-launch 时如何更改 rtp 有效负载类型

我正在使用 gst for python 从文件中流式传输 h264,并使用 gst.parse_launch(...) 触发视频发送。我需要将有效负载类型从默认的 96 更改为 35。根据示例和文档,似乎应该可以通过在 rtph264pay 上设置 pt 属性来做到这一点,“ rtph264pay pt=35 ”。注意:BOSCH 过去在发送 h264 数据时使用 35

如果将该值设置为 0-95 之间,则在检查 Wireshark 中的 rtp 数据包时,我看到它仍设置为 96。将值设置为 95 以上被接受并进入发送的 rtp 数据包。

这里的另一个问题是试图实现几乎相同的东西,但在接收端并用 C 而不是 python 实现。 Gstreamer、rtspsrc 和有效负载类型

文档示例: https ://gstreamer.freedesktop.org/documentation/tools/gst-launch.html请参阅网络流式传输

基本 rtp 有效负载类具有以下属性: https://www.freedesktop.org/software/gstreamer-sdk/data/docs/latest/gst-plugins-base-libs-0.10/gst-plugins-base-libs-gstbasertppayload .html#GstBaseRTPPayload--pt

派生的 h264 有效负载类似乎有 pt 范围限制: https ://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-good/html/gst-plugins-good-plugins-rtph264pay.html

我的 gst-launch 命令行参数如下所示:

视频/x-h264,宽度=352,高度=288,帧率=(分数)25/1!身份睡眠时间=15000 同步=真!h264解析!rtph264pay 配置间隔=1 pt=35 !队列 !udpsink 同步=真

关于如何解决这个问题的任何想法?我需要修补pt属性设置功能还是有什么侵入性较小的方法?

更新: 我似乎无法在代码中找到实际执行 >95 的位置,rtph264pay 实现甚至没有提到 pt 属性,而 rtpbasepayload 实现似乎没有对该属性执行任何其他限制,而不是 min( 0) 和 max(127),所有其他操作只是最终在 rtp 包的标题中结束的分配。

启用调试输出(支付:6)后,有人注意到它谈论使用对等点 pt 96,不幸的是,在设置 pt=35(设置为默认值 96)与 pt= 时输出完全相同(实际 # 除外) 97 保持 pt=97 ,因此绝不表示请求的值已替换为默认值。

使用 pt=35:

使用 pt=97:

0 投票
1 回答
3464 浏览

gstreamer - 如何使用 gstreamer 通过 RTSP 流式传输 MIC 输入

我想从 RTSP 服务器流式传输麦克风输入。我使用 gstreamer1.0 和 gstreamer1.0-rtsp-server (v1.12.3)。

我尝试了以下命令,但管道创建的 RTSP 服务器没有响应。我该如何流式传输?

结果(tx)是

我还尝试了以下命令。

结果(tx):

PS:

第一个 tx 管道不包含 decodebin,rx 的错误是 503 服务不可用。所以我认为 tx 管道是错误的。

第二个结果如下。

我认为这个错误表明我应该将 SDP 添加到 rx 或 tx 管道。如何将 SDP 添加到管道?


为了回答评论,我在这里描述命令。

结果(Tx):

结果(Rx):

0 投票
1 回答
4071 浏览

windows - 使用 gstreamer 流式传输 Windows 桌面

我有一个定制的 i.MX6 板,它连接了一个 LCD 显示器。我们一直在使用 gstreamer udpsrc/udpsink 管道通过 IP 流式传输视频。

PC上的管道:

i.MX6 上的管道:

有什么方法可以修改 PC 管道以将 Windows 桌面流式传输到嵌入式板显示或使用 gstreamer 流式传输 Windows 桌面所需的步骤

0 投票
0 回答
555 浏览

audio - 无法使用 gstreamer 播放 ac3 编码的音频流

这里我尝试使用 gst-launch-1.0 应用程序播放 ac3 流。但是我收到以下错误,

这里使用的命令是,

如果在这里缺少任何插件,您能否请人提出建议?

0 投票
0 回答
1584 浏览

video-streaming - gstreamer 管道中的帧分辨率设置

我正在使用 gstreamer 在基于 IP 的显示器上流式传输我的笔记本电脑屏幕。

这是两端的管道:

笔记本电脑:

IP显示:

问题是显示分辨率为 1024x768,但源插件生成 1920x1080,这是我的笔记本电脑分辨率..

我需要将其转换为 IP Display 的分辨率,我将笔记本电脑上的管道修改为以下内容:

它失败并出现以下错误:

使用 gst-inspect-1.0 查看 dx9screencapsrc 的上限,它具有宽度和高度上限。

如何实现捕获整个屏幕但将其转换为 1024x768 的要求

0 投票
1 回答
4077 浏览

gstreamer - gstreamer 仅播放视频

我正在使用以下管道

这适用于其中没有视频的视频文件 ( mp4 )。但是当我传递一个同时包含视频和音频的 mp4 文件时,它无法播放。

您能否帮助我重建管道以使其能够处理两种文件:仅包含视频的 MP4,同时包含音频和视频的 MP4

0 投票
1 回答
1967 浏览

c - 命令行工具缺少 GStreamer 的 autovideosink - Debian 9.4

该问题仅在使用 GStreamer 命令行工具时出现。包含“autovideosink”的 C 程序按预期编译和运行。

gst-inspect-1.0 autovideosink

返回

No such element or plugin 'autovideosink'

gst-launch-1.0 videotestsrc ! autovideosink

返回

WARNING: erroneous pipeline: no element "autovideosink"

我正在运行 Debian 9.4。我使用以下命令安装了 gstreamer:

sudo apt-get install libgstreamer1.0-0 gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-doc gstreamer1.0-tools