问题标签 [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 投票
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 回答
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 投票
0 回答
26 浏览

video - 同时显示网络摄像头和录制时 gstreamer 挂起

我正在尝试使用 gst-launch 来测试管道以显示和录制来自网络摄像头的视频。我正在使用 Windows 10 并且正在使用 gstreamer 16,但也尝试了 gstreamer 18.5 并遇到了同样的问题:

这工作正常:

gst-launch-1.0 autovideosrc !视频缩放!视频转换!x264enc !mp4 多路复用器!文件接收器位置=here.mp4 -e

就像这样:

gst-launch-1.0 autovideosrc !视频缩放!视频转换!自动视频接收器

甚至这个:

gst-launch-1.0 autovideosrc !视频缩放!视频转换!三通名称= t!队列 !autovideosink t。!队列 !自动视频接收器

但是,一旦我尝试将两个接收器结合起来,命令就会挂起。显示只是冻结(据我所知立即)。--verbose 选项没有显示任何明显的内容。

有什么想法吗?

谢谢。

安德鲁。

0 投票
0 回答
18 浏览

ubuntu - 为什么 gstreamer GST-LAUNCH 在运行时经常缓冲?

我在 Ubuntu 18.04 版本上运行一个简单的命令。

gst-launch-1.0 playbin uri=https://www.freedesktop.org/software/gstreamer-sdk/data/media/sintel_trailer-480p.webm

此命令打开一个示例视频窗口。但在运行时,视频停止并缓冲然后重复持续约 2 秒。

这是终端的输出;

0 投票
0 回答
20 浏览

c++ - 使用 Gstreamer C++ 的 WebRTC 应用程序中的多摄像头

在我的管道中,我想使用 2 个不同的 v4l2 源。但是当我将代码 1 与 double v4l2src 一起使用时,我会收到一些错误,例如“ ERROR GST_PIPELINE grammar.y:740:gst_parse_perform_link: could not link h264parse1 to payloader

我也可以直接使用 gstreamer 多摄像头运行代码,我可以从 2 个不同的摄像头录制视频。

但是我无法直接为我的 WebRTC 项目修复我的管道,我必须再添加一个 v4l2src ,你能帮我解决一下吗?