GStreamer有没有Graph Builder?所以说你构建图表就可以获得代码
我正在尝试使用 GNURadio、GRC 和 USRP1 以及 RFX2400 和 2.4GHZ 天线使用 .ts 视频文件发送视频文件。我们有两个 USRP,一个用作发送器,另一个用作接收器。我们正在使用 GMSK 调制和解调,在调制和解调完成之前和之后进行编码和解码,以及在将信号从一个 USRP 发送到另一个之前进行常数乘法。在解调和解码之前对接收的信号进行低通滤波,然后将其保存到 video_output.ts 文件中。
这就是我们当前的问题所在。我们有一个我们自己制作的视频。当我们通过我们的输出视频文件发送此视频时,即使我们可以看到由于 FFT 接收器放置在 LPF 和 USRP 源之间,USRP 上正在接收某些信息,我们也不会包含任何信息。我怎样才能做到这样我才能真正保存那些进来的字节。
我们读到我们将不得不使用 mkfifo 命令创建两个管道文件,然后将我们想要传输的视频文件复制到创建的管道文件中,然后我们应该能够正确发送文件。这给我带来了一些额外的问题。我一直在安装以任何方式包含 x264 和 h264 编码的软件包,但仍然给出找不到编码类型的错误。我们确实对 x264 软件包进行了安装,但仍然无法正常工作。所以 atm 我们一直在尝试将我们的视频文件编码为创建的管道文件。
谢谢,
我试图将以下GStreamer命令移植到python程序中:
gst-launch-0.10 -v -m v4l2src ! queue ! ffmpegcolorspace ! queue ! x264enc pass=pass1 threads=0 bitrate=1536 tune=zerolatency ! queue ! flvmux name=mux pulsesrc ! queue max-size-bytes=134217728 max-size-time=20000000000 max-size-buffers=1000 ! audioconvert ! lame ! audio/mpeg ! queue ! mux. mux. ! queue ! rtmpsink location='rtmp://x.x.x.x/live/myStream'
Run Code Online (Sandbox Code Playgroud)
使用此命令,可以在流式传输到wowza服务器时记录和观看实时流.但我有一些麻烦将此命令移植到python.特别是RTMP接收器似乎会引起麻烦(因为它正在使用filesink):
self.pipeline = gst.Pipeline("diepipeline")
self.src = gst.parse_launch("v4l2src")
self.pipeline.add(self.src)
self.videoenc = make_bin("(name=videoenc queue ! ffmpegcolorspace ! queue ! x264enc pass=pass1 threads=0 bitrate=1536 tune=zerolatency ! queue )")
self.pipeline.add(self.videoenc)
self.audio2src = gst.parse_launch("pulsesrc")
self.pipeline.add(self.audio2src)
self.audio2 = make_bin("(name=audio2 queue max-size-bytes=134217728 max-size-time=20000000000 …Run Code Online (Sandbox Code Playgroud) 如何使用Gstreamer将纯h.264流包装到mp4中,以便我可以在视频中寻找特定位置?使用Gstreamer是因为它的许可证要求,所以请不要提供ffmpeg!
我想看一些使用PyGObject和GStreamer的例子,但我在网上找不到任何东西.
官方网站上提供的唯一信息是Python绑定源代码的链接:http://gstreamer.freedesktop.org/modules/gst-python.html
正如您在上面链接的页面中看到的那样:
GStreamer python覆盖了基于gobject-introspection的pygst绑定.
使用PyGObject,但Web上的示例已过时,无法将其转换为使用它.
我还想询问文档,有关GStreamer的Python绑定的任何文档吗?
谢谢.
有没有人试图将http://docs.gstreamer.com/display/GstSDK/Tutorials中提供的Gstreamer SDK教程移植 到gstreamer 1.0?
我试图将Basic-tutorial-8.c从GstSDK移植到gstreamer 1.0.最终结果不起作用,并在运行时退出并出现错误.
这是我到目前为止所做的.我的主要帮助来源如下:http: //gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/chapter-porting-1.0.html#section-porting-objects-1.0
用audio/x-raw替换了audio/x-raw-int
用data.app_sink替换了data.app_sink,"new-buffer","new-sample"
更换
tee_src_pad_template = gst_element_class_get_pad_template (GST_ELEMENT_GET_CLASS (data.tee), "src%d");
Run Code Online (Sandbox Code Playgroud)
同
tee_src_pad_template = gst_element_class_get_pad_template( GST_ELEMENT_GET_CLASS( data.tee ), "src_%u" );
Run Code Online (Sandbox Code Playgroud)更换
raw = (gint16 *)GST_BUFFER_DATA (buffer);
Run Code Online (Sandbox Code Playgroud)同
GstMapInfo stGstMapInfo1;
gst_buffer_map( buffer, &stGstMapInfo1, (GstMapFlags)( GST_MAP_READ | GST_MAP_WRITE ) );
raw = (gint16 *)stGstMapInfo1.data;
Run Code Online (Sandbox Code Playgroud)
...
/* Free the buffer now that we are done with it */
gst_buffer_unmap( buffer, &stGstMapInfo1 );
Run Code Online (Sandbox Code Playgroud)
在上述更改之后,我可以构建并运行该程序,但它会在一段时间后出现以下错误:从元素audio_source收到错误:内部数据流错误.调试信息:gstbasesrc.c(2865):gst_base_src_loop():/ GstPipeline:test-pipeline/GstAppSrc:audio_source:流任务暂停,原因未协商(-4)
我想我必须更多地学习本教程的new_buffer和push_data函数.
预先感谢您的帮助.
我在树莓派上构建了gstreamer最新版本。我想拥有python绑定,因此在编译gstreamer及其插件之前先安装了gobject-introspection-1.0和pygobject-3.18.2。
在gstreamer及其所有插件的构建结束时,我看到了以下文件:
pi@raspberrypi:~/kurento $ ls -ltr /usr/local/lib/girepository-1.0
total 580
-rw-r--r-- 1 root staff 214076 Mar 28 19:28 Gst-1.5.typelib
-rw-r--r-- 1 root staff 43712 Mar 28 19:28 GstBase-1.5.typelib
-rw-r--r-- 1 root staff 6500 Mar 28 19:28 GstController-1.5.typelib
-rw-r--r-- 1 root staff 6272 Mar 28 19:28 GstNet-1.5.typelib
-rw-r--r-- 1 root staff 13116 Mar 28 19:29 GstCheck-1.5.typelib
-rw-r--r-- 1 root staff 14460 Mar 28 20:23 GstTag-1.5.typelib
-rw-r--r-- 1 root staff 2508 Mar 28 20:23 GstFft-1.5.typelib
-rw-r--r-- 1 root staff 27460 Mar 28 20:23 …Run Code Online (Sandbox Code Playgroud) gstreamer pygobject python-gstreamer gobject-introspection kurento
我有一个项目正在使用yocto构建包括gstreamer的库。我发现我需要修补一些gstreamer元素,从而用patch创建新的bitbake配方。
我通常必须使用图像名称作为参数运行bitbake,它将重新构建整个yocto(这很长):
MACHINE=some_machine nice bitbake yocto-etc-etc
Run Code Online (Sandbox Code Playgroud)
如何只重建我需要的部分而不是整个yocto?我听说过devtool,但不确定如何使用它。
我正在寻找使用Video-Streaming的GStreamer的简单示例...
我想创建一个简单的例子(显示视频输出)incl.编译说明.
我正在寻找一个示例/帮助在WinForms应用程序中显示gstreamer-sharp feed.
我正在使用VS 2012,并为此版本的VS构建了"胶水"项目.我的项目也安装了glib-sharp,gstreamer-sharp.我将gstreamer bin目录设置为我项目的工作目录.
如果在按钮单击处理程序中有以下代码,我会在我的表单上弹出GStreamer D3D视频接收器测试窗口.
Gst.Application.Init();
var pipeline = Parse.Launch(@"videotestsrc ! videoconvert ! autovideosink");
pipeline.SetState(State.Playing);
Run Code Online (Sandbox Code Playgroud)
我想在我正在思考的Panel或PictureBox上显示我的应用程序中的流.
谢谢!