gstreamer

GStreamer How to extract video frame from the flow?

匿名 (未验证) 提交于 2019-12-03 00:44:02
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: This is python code for capturing streaming video from server. but I need to write a function to extract one frame from the flow. It will be a button. On click it will show current frame. I have no ideas. Can anyone help me with this??? self.player = gst.Pipeline("player") self.source = gst.element_factory_make("uridecodebin", "video-source") #self.source = gst.element_factory_make("playbin2", "video-source") sink = gst.element_factory_make("xvimagesink", "video-output") colorspace = gst.element_factory_make("ffmpegcolorspace") scale = gst

GStreamer(一)

匿名 (未验证) 提交于 2019-12-03 00:21:02
转载自: https://blog.csdn.net/antkillerfarm/article/details/51722592 当前GStreamer主要有两个大的版本分支: 1) 0.10.x系列。这个版本系列的历史较久,相关资源比较丰富。但目前官方已经不再发展和支持该版本。该系列有中文版的用户手册。 2) 1.x系列。2012年以来发布的版本系列,也是官方推荐的版本系列。只有英文的用户手册,但手册的内容与0.10.x相差不大,尽管API已经不再兼容旧版本。以下的描述以1.x系列为准。1.x系列被设计为可以和0.10.x系列在系统中共存,因此在同一台电脑上,同时安装0.10.x系列和1.x系列是完全没有冲突的。 GStreamer本质上只是一个多媒体应用框架,具体的多媒体播放功能由插件来完成。 http://gstreamer.freedesktop.org/documentation/plugins.html 这个网页就是gstreamer的插件列表。表中列出的插件,分属4个不同的插件集: gst-plugins-base。这类插件格式规范,维护的也很好。 gst-plugins-good。这类插件有高质量的代码(但格式未必规范),而且许可证也符合要求(LGPL或与LGPL兼容的许可证)。 gst-plugins-ugly。这类插件有高质量的代码,但许可证方面有问题。

Material to learn GObject and Glib [closed]

拥有回忆 提交于 2019-12-03 00:18:59
问题 Closed. This question is off-topic. It is not currently accepting answers. Want to improve this question? Update the question so it's on-topic for Stack Overflow. Closed 3 years ago . I am comfortable with C. but need to learn GObject and Glib for gstreamer . All i found on net is Gobject reference manual. Its good but looking for tutorial for Gobject/Glib as the main focus is on gstreamer. So pls share any other resources to learn the glib and gobject. 回答1: Start with Glib, its quite easy

gstreamer开发日志

匿名 (未验证) 提交于 2019-12-03 00:08:02
系统:ubuntu16.04 唯一需要的其他“开发环境”是gcc编译器和文本编辑器。为了编译需要GStreamer并使用GStreamer核心库的代码,请记住将此字符串添加到您的gcc命令: pkg-config --cflags --libs gstreamer-1.0 如果您正在使用其他GStreamer库,例如视频库,你必须在上面的字符串gstreamer-1.0之后添加额外的包(例如视频库的gstreamer-video-1.0)。 如果你的应用程序是在libtool的帮助下构建的,例如当使用automake / autoconf作为构建系统时,您必须从gst-sdk-shell环境中运行configure脚本。 获取官方教程的源代码: git clone https://gitlab.freedesktop.org/gstreamer/gst-docs 在每个教程的源代码的底部,您将找到该特定教程的命令,包括所需的库,按要求的顺序。在开发自己的应用程序时,GStreamer文档将告诉您函数所属的库。 构建:gcc basic-tutorial-1.c -o basic-tutorial-1 `pkg-config --cflags --libs gstreamer-1.0` 运行: ./basic-tutorial-1 来源:博客园 作者: walker_lin 链接

How can I fix synchronization problem in gstreamer?

老子叫甜甜 提交于 2019-12-02 22:15:08
问题 In my code when I open the 2nd vlc 1st one starts from the beginning with 2nd one. But it must be like that: While the first client is still running, the second/third/etc client should start at approximately the same position as the first client currently has. What should I add to my code for that problem. I am working with Windows VisualStudio. #include "pch.h" #include <iostream> #include <gst/gst.h> #include <gst/rtsp-server/rtsp-media.h> #include <gst/rtsp-server/rtsp-server.h> #include

How do I view gstreamer debug output?

谁说胖子不能爱 提交于 2019-12-02 17:38:07
How to view the output of functions like GST_CAT_INFO, GST_DEBUG etc? Do I need to compile gstreamer myself with debug level set or it can be done at application level? Debugging messages can be printed in stderr by using the GST_DEBUG environment variable (if gstreamer has been compiled with --enable-gst-debug, which is default). For example: GST_DEBUG=audiotestsrc:5 gst-launch audiotestsrc ! fakesink will log everything (5) from the audiotestsrc element. You can change your program debugging output at runtime using setenv("GST_DEBUG","cat:level...", 1) Sometime reading GStreamer debugging

Material to learn GObject and Glib [closed]

妖精的绣舞 提交于 2019-12-02 14:01:10
I am comfortable with C. but need to learn GObject and Glib for gstreamer . All i found on net is Gobject reference manual. Its good but looking for tutorial for Gobject/Glib as the main focus is on gstreamer. So pls share any other resources to learn the glib and gobject. Start with Glib, its quite easy and well described here: Glib Reference Manual GObject is mostly a lot of boilerplate code to achieve object orientation. Try out the "maman bar" examples found in the GObject Reference Manual For me, GStreamer took the most time to understand. The documentation is good but there is alot to

interfacing gobject with C++

吃可爱长大的小学妹 提交于 2019-12-02 10:33:53
I’m trying to create a custom audio sink plugin for gstreamer using the Gst::AudioSink as a base class. For me this involves multiple learning curves as I’m new to gstreamer, gstreamermm and gobject. Also I have no background or real interest in gtkmm as I’m not working on GUI code at present. I am trying to create a class along the lines of: class MyAudioSink: public Gst::AudioSink { public: explicit MyAudioSink(KantarAudioSink *gobj); virtual ~MyAudioSink(); static void class_init(Gst::ElementClass<MyAudioSink> *klass); virtual int write_vfunc(gpointer data, guint length) override; virtual

gstreamer appsrc works for xvimagesink but no in theoraenc ! oggmux

北城以北 提交于 2019-12-02 09:44:01
问题 I am trying to stream cast a computer generated video using gstreamer and icecast, but I cannot get gstreamer appsrc to work. My app works as expected if I use xvimagesink as the sink(see commented code below). But once I pipe it to theoraenc it does not run. I exchanged shout2send with filesink to check if the problem was icecast, the result is that no data is written to the file. Substituting appsrc with testvideosrc works as expected. Any suggestion? #!/usr/bin/env python import sys, os,