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

streaming - Linux (ARM) 上的 GStreamer x264

尝试使用 x264 编码进行流式传输。

我正在做一些黑魔法,缝合两个已知有效的图像:

现在我试图在互联网的帮助下通过 x264 流获得同样的东西:

并且似乎有效,因为没有出现错误。但我看不到接收图像的方法。

我努力了

它没有提供任何有用的东西。还尝试将 VLC 与 SDP 文件一起使用:

我一定做错了什么,但不确定是什么。

编辑:关于 GStreamer 版本的问题。可能这是需要的信息:

0 投票
1 回答
890 浏览

gstreamer - gstreamer-1.0 :: 从 H264 网络摄像机抓取视频流并将其转储到视频中

什么是等效的gstreamer-1.0命令:

这里相机正在提供 H264 流,我们想通过 gstreamer 将其直接转储到视频中(不需要解码数据)。

0 投票
0 回答
662 浏览

qt - 如何防止 QT 绘制到屏幕上?(防止使用gstreamer播放视频时闪烁)

这是QT5。它在嵌入式 Yocto 系统上,QT 绘制到帧缓冲区,没有 X11。问题是这样的。我想使用 gstreamer 播放视频。因此,我尝试使用链接到 QT 中的触摸事件的 gst-launch-1.0 启动 gstreamer。问题是,它闪烁,因为 QT 也尝试渲染帧。

接下来,我们尝试了Q媒体播放器。但是,这个专有的 gstreamer 不支持 playbin,所以,我进入 QGstreamerPlayerSession 并修改了构造函数以使用 gst_parse_launch 来设置我的管道而不是 playbin。

这有效,因为我的视频播放。但是,还是有同样的闪烁!我试图在启动视频之前抛出一个白色矩形,但它仍然闪烁。

如何防止 QT 重绘?在播放视频之前我需要一个空场景吗?还是有一个函数调用来暂停重绘?

我当然可以向 QT 发送 SIGSTOP,在外部应用程序中播放视频,然后使用 SIGCONT 继续。这行得通,但显然是一个非常不雅和限制性的解决方案(我需要应用程序在后台处理仍然作为它控制其他事情)。

0 投票
0 回答
288 浏览

video-streaming - 如何使用 gstreamer 创建从 h.264 enc 到 rtp 到 pcap 的视频测试模式?

我想使用 gstreamer 创建一个 H.264 pcap。

目前,我被困在这里:

我收到此错误:

0 投票
0 回答
475 浏览

c++ - TX1 OpenCV VideoCapture 无法打开 SDP 配置文件

我想用 GStreamer 捕捉 IP 摄像机的视频内容并压缩到 H.264 流服务器,然后使用 OpenCV+GStreamer 在 nvidia TX1 上接收 H.264 视频流。这是我的 gstreamer 管道:

上面的代码将摄像头的内容抓取并压缩成30帧960p的H.264视频流,通过UDP协议[5000]发送到板子的网口。运行成功,下面是我的代码客户:

配置文件CMakeLists.txt如下:

客户端代码可以编译成功,但运行时,VideoCapture input("./stream.sdp")将无法打开 sdp 文件并返回“打开失败”。这是我的 stream.sdp 文件:

我曾尝试使用绝对路径并尝试设置环境变量 export PKG_CONFIG_PATH=/home/ubuntu/ffmpeg_build/lib/pkgconfig : $PKG_CONFIG_PATH以添加 ffmeg 解码器,但都未能解决问题。我在 TX1 上使用 opencv 2.4.13 和 gstreamer-1.0。

0 投票
0 回答
130 浏览

gstreamer - gstreamer:看不到与 vp9 解析器相关的元素

我看到在https://github.com/GStreamer/gst-plugins-bad/tree/1.10/gst-libs/gst/codecparsers中有 gstvp9parser.c 。但是当我编译 gstreamer 坏插件时,我没有看到与 vp9 解析器相关的元素。有没有人能够弄清楚如何使用 vp9 解析器?

TIA

0 投票
1 回答
800 浏览

c - 从 GstElement 管道启动 GstRTSPServer

我正在用 C 语言做一个 Gstreamer 1.0 应用程序。管道是根据运行时的用户配置和系统“状态”构建的。因此,我使用了多个 GstElement,这些 GstElement 后来被添加并链接到“GstElement 管道”。这是一个更好的理解的最小示例:

然后应该由GstRTSPMediaFactory启动此管道。我在这里面临的问题是该gst_rtsp_media_factory_set_launch功能仅接受const gchar *管道。

因此,我的问题是,如果你们中的任何人都知道其中任何一个的功能

  • 将 转换GstElement *pipelineconst gchar*表示(有点相反gst_parse
  • 或从 a 启动 GstRTSPMediaFactory GstElement *pipeline(参见下面的编辑#1)

任何帮助深表感谢!谢谢你。


编辑#1:

gst-rtsp-server 文档

GstRTSPMediaFactory 的默认实现允许您使用 gst-launch 语法轻松创建 GStreamer 管道。可以创建使用不同方法构建管道的 GstRTSPMediaFactory 子类。

因此,从 GstElement 启动 GstRTSPMediaFactory 在技术上是可行的。这种方法的附加问题:有人知道这样的 GstRTSPMediaFactory 子类实现吗?

0 投票
0 回答
41 浏览

c - 为什么混音器插件混合的声音会被截断?

我用 C 语言开发了一个依赖混音器插件的应用程序。我的目标是触发事件的声音。由于反应性至关重要,我希望保持 gstreamer 管道处于活动状态,并在 audiomixer 元素上动态插入新声音(在混音器的新接收器上应用偏移后)。

它工作得很好,除了每次我插入一个新声音时,声音的前 200 毫秒(或多或少)都会被截断。

我一直在研究代码,就我所见,一切看起来都很好(声音插件没有错误,运行时间/偏移也没有应用)。

因此,我尝试了一个带有 gst-launch 的简单管道,并在混音器接收器上应用了偏移量:

事实证明,这条管道也会截断声音的开头。当我使用 --gst-debug=alsa:5 激活日志时,在声音开始之前我得到了一堆日志:

这里发生了什么 ?

0 投票
1 回答
1223 浏览

gstreamer - 使用 gstreamer 捕获分段的音频和视频

我正在尝试使用 gstreamer 将来自内部网络摄像头和麦克风的音频和视频录制到分段文件中。

它通过执行以下操作对单个文件起作用:

这样做时不起作用:

erroneous pipeline: could not link queue1 to mux

我在 Mac OSX Sierra 上使用 gstreamer 1.12.3

注意:H264/AAC 编码对于我想要实现的目标不是必需的,所以如果有只适用于例如avimux 的解决方案,无论出于何种原因,那都很好。

编辑:我在一台 Windows 机器上试过这个,但有同样的错误。

就像在 Mac 上一样,用avimux ! filesink作品替换 splitmuxsink。我确定我只是错过了一些“管道”逻辑,因此任何可以将我推向正确方向的澄清都会有所帮助。

0 投票
0 回答
158 浏览

python - gobject自省属性在python中不可用

我在使用 python 内省和自定义 Gstreamer 元素时遇到了一些问题……我无法访问该元素的属性。这是我的 gstreamer 元素中的相关代码:

这些属性显示在 gst-inspect-1.0 中。下面是一个尝试在 python 中访问属性的示例: