问题标签 [gst-launch-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 投票
1 回答
73 浏览

java - Gstreamer 在 JavaForm 上运行

假设我们有一个如下所示的GStreamer命令,并且它在控制台上运行得很好。我如何在特定的 上运行它JFrame?当我在终端上运行这个命令时,它会打开一个新的视频场景。但我需要在 Netbeans 上特定大小的 JFrame 表单上运行此视频。

0 投票
1 回答
162 浏览

gstreamer - 来自内存变量的 Gstreamer 文本覆盖

我正在运行以下命令,此命令将视频广播到以太网端口。但这是我的问题,即如何将覆盖添加到覆盖值存储在共享内存中并且可能随时更改的视频上。

gst-launch-1.0 -v videotestsrc ! video/xraw,format=NV16, width=1920, height=1080, framerate=30/1 ! omxh264enc ! queue ! rtph264pay config-interval=10 ! udpsink host=192.168.1.5 port=5004

我应该运行另一个线程来做吗?

0 投票
2 回答
103 浏览

gstreamer - Gstreamer 结合不同来源的视频和声音并广播到 RTMP

我已经用谷歌搜索了所有内容,但找不到解决问题的方法。如果有人有类似的需求并以某种方式解决,我会很高兴。

我通过以下命令流式传输到 RTMP 服务器。它从 HDMI 编码器捕获视频、裁剪、旋转视频。

我想将音频添加到 Raspberry 上的现有麦克风。例如,我可以通过下面的管道将麦克风输入记录到 wav 文件。

我的问题是;如何将音频添加到流到 RTMP 服务器的现有命令行中?而且,当我将音频捕获到文件时,会有很多噪音。我该如何避免?

谢谢

0 投票
0 回答
191 浏览

c++ - 使用 GStreamer 同时提取视频帧

我可以使用 GStreamer 或 GS​​T-Launch 从两个 jpeg 格式的视频中同时提取帧吗?假设video1有10帧,video2有10帧,那么提取应该像frame_1_video1.jpg然后frame_1_video2.jpg然后frame_2_video1.jpg然后frame_2_video2.jpg等等......这可能吗?

谢谢

0 投票
1 回答
690 浏览

gstreamer - 在 v4l2 中设置视频格式以使用 gstreamer 进行流式传输

我想使用 gstreamer (gst-launch-1.0) 将视频信号从连接到树莓派 (CM4) 的摄像头通过 UDP 流式传输到远程客户端。即使在我使用 v4l2 将格式设置为 MJPG 之后,我使用的 gstreamer 管道始终会恢复为未压缩的 YUYV 像素格式。

这是我的管道:

尽管管道似乎接受“pixelformat=(string)MJPG”,但格式是 YUY2,最大帧速率是 5fps。如果我将帧速率设置为高于 5/1,则会失败并显示:

执行 gstreamer 管道后,v4l2-ctl 确认视频格式恢复为 YUYV。

如何强制 gstreamer 管道使用 MJPG 1920x1080 并启用更高的帧速率?

该相机是佳能 5D iv,可产生清晰的 HDMI 输出,最高可达 60fps 的全高清。相机 HDMI 输出连接到支持 60fps 的 1920x1080 的 HDMI 转 USB 视频捕获 (mirabox)。视频采集盒通过 USB3-PCIe 适配器连接到 CM4。

这是支持的格式列表:

0 投票
1 回答
224 浏览

gstreamer - h264parse 损坏/无效 nal

我正在尝试使用 模拟发送和接收 mpeg 视频gst-launch-1.0

发件人管道: gst-launch-1.0 videotestsrc ! video/x-raw,width=1920,height=1080,framerate=15/1 ! queue ! x264enc bitrate=4000 ! queue ! mpegtsmux ! rtpmp2tpay ! udpsink host=224.10.10.10 port=15004

接收器管道: gst-launch-1.0 -v rtpbin name=rtpbin udpsrc caps="application/x-rtp,media=(string)video,clock-rate=(int)90000,encoding-name=(string)MP2T,payload=(int)33,seqnum-offset=(uint)2803,timestamp-offset=(uint)2170591411, ssrc=(uint)2276926567" port=15004 multicast-group=224.10.10.10 ! rtpbin.recv_rtp_sink_0 rtpbin. ! rtpmp2tdepay ! tsdemux ! h264parse ! capsfilter caps=video/x-h264,alignment=au,stream-format=avc ! avdec_h264 ! fpsdisplaysink sync=1 udpsrc port=18889 ! rtpbin.recv_rtcp_sink_0

扣除: gst-launch-1.0 -v rtpbin name=rtpbin udpsrc caps="application/x-rtp,media=(string)video,clock-rate=(int)90000,encoding-name=(string)MP2T,payload=(int)33,seqnum-offset=(uint)2803,timestamp-offset=(uint)2170591411, ssrc=(uint)2276926567" port=15004 multicast-group=224.10.10.10 ! rtpbin.recv_rtp_sink_0 rtpbin. ! rtpmp2tdepay ! tsdemux ! decodebin ! fpsdisplaysink sync=1 udpsrc port=18889 ! rtpbin.recv_rtcp_sink_0

首先运行接收器,然后发送器立即按预期显示视频窗口。

但是当发送方首先启动时,接收方管道会挂起大约 10 秒,显示大量这些消息:

gst-launch-1.0 --gst-version返回:

0 投票
0 回答
134 浏览

python - Gstreamer 管道在 EOS 上挂起

我正在 NVIDIA Jetson Nano 上开发视频录制应用程序。我的应用程序在 200 多台 Jetson Nano 设备上运行,每台设备每天录制 3-10 个视频。单个设备通常记录 40-45 分钟,中间间隔 5 分钟。问题是:有时(< 5%)视频已损坏,无法进行后处理。

管道(添加换行符以提高可读性):

Gst.parse_launch我尝试使用 Python 绑定 ( )运行此管道,但gst-launch-1.0两者都有问题。

  • 使用 Python 绑定,我在管道的时钟对象上设置了一个时钟事件。当它触发时,我将 EOS 事件发送到管道。我的日志表明pipeline.send_event总是调用,但有时无法返回。
  • 使用gst-launch-1.0,我添加了-e标志(强制 EOS)并使用 Pythonsubprocess来启动该过程。然后主 Python 进程简单地休眠 40-45 分钟,然后向子进程发送一个 SIGINT 事件。日志gst-launch-1.0有时会停在EOS on shutdown enabled -- Forcing EOS on the pipeline.

在任何一种情况下,相机都不会被释放,需要手动终止。生成的视频已损坏(缺少 moov 原子),无法使用 OpenCV 播放或读取以进行进一步处理。

这是我的管道问题、设备特定问题还是 Gstreamer 错误?我该如何解决?

0 投票
0 回答
98 浏览

encoding - 问:Gstreamer mp4mux 与 encodebin 和 concat 管道的问题

我最近一直在尝试这个花哨的encodebingstreamer 元素。简单的例子效果很好,但我对更复杂的管道有一些问题。我gst-launch-1.0 version 1.18.4在msys上使用。我的工作流程如下:

首先,我使用 encodebin 从头开始​​创建一些 mp4 文件(它选择最好的编码器,在我的情况下它使用 nvidia gpu):

这部分工作得很好,它使用硬件编码,这里一切都很好。

然后我想在这个文件中添加一些实时流,以保留时间等等。我为此目的创建的管道:

显然它对我不起作用,我得到:

/GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0:内部数据流错误。

流媒体停止,原因未协商 (-4)

有趣的是,如果我们从 mp4mux 切换到 mpegtsmux,效果会很好:

所以我开始想,是不是有mp4mux垫子的东西?任何人都知道为什么它不起作用mp4mux

0 投票
0 回答
57 浏览

gstreamer - 如何检查“gst-launch-1.0”的健康状态并在管道损坏时重新运行?

我有一个正在运行的管道,例如gst-launch-1.0 -v v4l2src device=/dev/video0 io-mode=4 ! video/x-raw,format=NV16,width=1920,height=1080,framerate=30/1 ! omxh264enc num-slices=8 periodicity-idr=240 cpb-size=500 gdr-mode=horizontal initial-delay=250 control-rate=low-latency prefetch-buffer=true target-bitrate=6250 gop-mode=low-delay-p ! video/x-h264, alignment=nal ! rtph264pay ! udpsink buffer-size=60000000 host=192.168.1.5 port=5004 async=false max-lateness=-1 qos-dscp=60 max-bitrate=120000000 -v 我会将这个命令包装到脚本中,然后我需要不断检查管道的状态。如果管道被破坏,它会再次重新运行此命令吗?谁能帮帮我?

谢谢,

0 投票
1 回答
25 浏览

gstreamer - 使用 rtsp 从 dvr 流式传输

我的 rtsp 流网址是

该网址在 Windows 中使用 VLC 工作。

在 Ubuntu 中,我使用了 gst-launch,如下所示。

可能是什么问题?完整的错误是