问题标签 [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.
gstreamer - 从 USB 网络摄像头中提取 h264 流(罗技 C920)
所以,我开始玩 gstreamer,我可以做非常简单的管道,比如
现在,由于我的 USB 网络摄像头(即 video1,video0 是计算机的内置摄像头)支持 h264(我已经使用 进行了检查lsusb
),我想尝试直接获取 h264 提要。我知道这个提要在 mjpeg 中混合,但是在网络上环顾四周,gstreamer 似乎仍然能够得到它。
由于我的最终目标是从 Beaglebone 流式传输它,因此我尝试使用本文提供的解决方案(从不同的终端添加侦听器):
但这会产生以下错误:
我还尝试了类似于我的第一个命令的操作,将源代码从 raw 更改为 h264(基于该帖子,尝试那里给出的完整命令会给出相同的错误消息)
但是同样,这也不起作用:
我承认这让我很疯狂:在网络上查看 SO 或其他地方,似乎有很多人使用与我所拥有的网络摄像头完全相同的网络摄像头(Logitech C920),但我一直遇到一个接一个的问题。
从该网络摄像头中提取 h264 的正确管道示例是什么?
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 中它可以工作。
任何帮助将不胜感激!
谢谢
linux - gstreamer rtsp客户端连接被拒绝错误
我已经在我的 i.MX6 板上安装了 Gstreamer。我想流式传输使用 RTSP 连接的相机。
以下命令在 LVDS 屏幕上显示摄像机内容:
我不想在屏幕上显示它,而是想通过网络 RTSP 发送内容并将其显示在其他设备的显示器上
我使用以下命令开始流式传输,它可以正常工作而不会引发任何错误
在另一台设备上,我执行了以下命令:
它失败并出现以下错误:
我可以从其他设备 ping 到流媒体设备。
可能是什么问题?
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:
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):
windows - 使用 gstreamer 流式传输 Windows 桌面
我有一个定制的 i.MX6 板,它连接了一个 LCD 显示器。我们一直在使用 gstreamer udpsrc/udpsink 管道通过 IP 流式传输视频。
PC上的管道:
i.MX6 上的管道:
有什么方法可以修改 PC 管道以将 Windows 桌面流式传输到嵌入式板显示或使用 gstreamer 流式传输 Windows 桌面所需的步骤
audio - 无法使用 gstreamer 播放 ac3 编码的音频流
这里我尝试使用 gst-launch-1.0 应用程序播放 ac3 流。但是我收到以下错误,
这里使用的命令是,
如果在这里缺少任何插件,您能否请人提出建议?
video-streaming - gstreamer 管道中的帧分辨率设置
我正在使用 gstreamer 在基于 IP 的显示器上流式传输我的笔记本电脑屏幕。
这是两端的管道:
笔记本电脑:
IP显示:
问题是显示分辨率为 1024x768,但源插件生成 1920x1080,这是我的笔记本电脑分辨率..
我需要将其转换为 IP Display 的分辨率,我将笔记本电脑上的管道修改为以下内容:
它失败并出现以下错误:
使用 gst-inspect-1.0 查看 dx9screencapsrc 的上限,它具有宽度和高度上限。
如何实现捕获整个屏幕但将其转换为 1024x768 的要求
gstreamer - gstreamer 仅播放视频
我正在使用以下管道
这适用于其中没有视频的视频文件 ( mp4 )。但是当我传递一个同时包含视频和音频的 mp4 文件时,它无法播放。
您能否帮助我重建管道以使其能够处理两种文件:仅包含视频的 MP4,同时包含音频和视频的 MP4
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