在WinForms中显示gstreamer-sharp视频流
我正在寻找一个示例/帮助,以在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); 我想在我在想的面板或图片框上显示流中的流. 谢谢! 解决方案 下面的代码将使测试流在Winform的面板控件上显示. internal enum videosinktyp
0 2024-04-16
编程技术问答社区
在gstreamer中把图像数据作为来源
我想制作一个将图像数据作为源而不是文件位置的GSTREAMER应用程序.我的目的是显示通过TCP收到的图像.当TCP获得图像数据(字节数组)时,它应该将数据直接传递给GSTREAMER插件,并在本地保存它. 解决方案 MultiFileSRC应该做这项工作. 描述 从顺序命名的文件中读取缓冲区.如果一起使用 图像解码器,需要使用"盖帽"属性或帽子式属性 将包含帧量的帽子的力.否则图像解码器发送 第一张照片之后的EO.我们还需要设置视频元素 第一个缓冲区在第一个缓冲区上的时间戳均根据 帧率. 文件名是通过使用索引替换"%d"来创建的 printf(). 示例启动线 gst-launch-1.0 multifilesrc location="img.%04d.png" index=0 caps="image/png,framerate=\(fraction\)12/1" ! \ pngdec ! videoconvert ! videorate
0 2024-04-10
编程技术问答社区
g_object_set/strchr的分割故障
这条线让我分割故障: g_object_set(G_OBJECT(data.udpsrc), "port", 5000, "caps", caps, NULL); 其中 data.udpsrc = gst_element_factory_make("udpsrc", "source"); caps = gst_caps_new_empty_simple("application/x-rtp"); 这是GDB的输出: Program received signal SIGSEGV, Segmentation fault. strchr () at ../ports/sysdeps/arm/armv6/strchr.S:28 28 ../ports/sysdeps/arm/armv6/strchr.S: No such file or directory. (gdb) bt #0 strchr () at ../ports/sysdeps/arm/armv6
2 2024-04-10
编程技术问答社区
如何在GstBin中覆盖handle_message?
尝试制作一个子类: mybin.h: #pragma once #include G_BEGIN_DECLS G_DECLARE_DERIVABLE_TYPE(MyBin, my_bin, MY, BIN, GstBin) struct _MyBinClass { GstBinClass parent_class; }; GstElement* my_bin_new(const gchar *name); G_END_DECLS mybin.c: #include "mybin.h" G_DEFINE_TYPE(MyBin, my_bin, GST_TYPE_BIN) static void my_bin_init(MyBin *bin) { } static void my_bin_class_init(MyBinClass *class) { // virtual function override
0 2024-04-09
编程技术问答社区
gstreamer示例文档代码未运行
成功执行多个教程后,尝试编译和运行示例AppSRC代码.这是一个文档代码,认为它可以运行,但是... 用于编译的命令 gcc appGuideAppSrc.c -o appGuide `pkg-config --cflags --libs gstreamer-0.10 gstreamer-app-0.10` 在 之后有以下错误 appGuideAppSrc.c: In function ‘cb_need_data’: appGuideAppSrc.c:14:8: warning: assignment makes pointer from integer without a cast [enabled by default] appGuideAppSrc.c:18:25: error: lvalue required as left operand of assignment 好吧,警告很好,但是引发错误的行似乎是可以的 GST_BUF
0 2024-04-09
编程技术问答社区
如何在Gstreamer插件链函数中解析GstBuffer和Mat之间的图像
我正在尝试根据其模板来实现GSTREAMER插件_CHAIN函数,该函数只需将输入视频框架(BGRX)替换为相同大小的转换图像,如下所示: static GstFlowReturn gst_myplugin_chain (GstPad * pad, GstObject * parent, GstBuffer * buf) { Gstmyplugin *filter; filter = GST_MYPLUGIN (parent); if(filter->silent == FALSE) g_print("I'm plugged, therefore I'm in. \n"); // retrieve pass-in image frame from input buf GstMapInfo map; gst_buffer_map(buf, &map, GST_MAP_READ); cv::Mat frame(cv::Size(width, hei
2 2024-04-09
编程技术问答社区
Gstreamer在iPhone、黑莓、安卓、诺基亚上的应用?它的性能如何?
iPhone,Android,Blackberry,诺基亚上的Gstreamer.我们如何使用C或D或Vala语言将其制作?还是我们应该只使用java或lua? 1)可用于iPhone,Android,Blackberry,诺基亚的GLIB移植? For Android, there is a tips http://gstreamer.freedesktop.org/wiki/gstreamerandroid_installinstructions 对于iPhone,不知道 对于诺基亚,不知道 对于黑莓,不知道 希望有人对此主题提出一些答案和反馈. 解决方案 我对移动开发的了解不多,但是您最好的选择是研究 gtkd .该项目为GTK和Gobject提供了绑定. Afaik no D与GSTREAMER的绑定存在,但是 d and d real="nofollow"> dy d并不困难 .此外,要编译手臂体系结构,您可能需要查看
0 2024-04-09
编程技术问答社区
g_signal_connect "pad-added" doesn't work
我正在尝试学习如何在Gstreamer中使用动态垫.因此,我尝试添加填充的信号,以便创建元素后可以收到一条消息.但是,我没有收到任何消息. 这是代码: #include static void cb_new_pad (GstElement *element, GstPad *pad, gpointer data) { gchar *name; name = gst_pad_get_name (pad); g_print ("A new pad %s was created\n", name); g_free (name); /* here, you would setup a new pad link for the newly created pad */ } int main (int argc, char *argv[]) { GstElement *
0 2024-04-09
编程技术问答社区
在GStreamer中发送EOS信号并使用C语言接收信号的正确方法
我正在研究一个C程序,该程序将数据从文件块中获取数据,并将其发送到AppSRC对象.代码的这一部分效果很好,但我想使用EOS信号.因此,我尝试了不同的方法,但是无论如何我都无法抓住EOS. 首先,我们需要配置GSTBU以获取不同的消息 _bus = gst_pipeline_get_bus (GST_PIPELINE (_pipeline)); _bus_watch_id = gst_bus_add_watch (_bus, bus_call, this); gst_object_unref(_bus); 处理程序功能: gboolean bus_call (GstBus *bus, GstMessage *msg, Session* user_data) { switch (GST_MESSAGE_TYPE (msg)) { case GST_MESSAGE_EOS: g_print ("End of stream
0 2024-04-09
编程技术问答社区
在uridecodebin中强制使用rtponvifparse元素
在Gstreamer管道中,我使用uridecodebin元素自动选择合适的元素以解析和解码RTSP流.现在,我需要在此管道中添加rtponvifparse元素. rtponvifparse元素具有 application/x-rtp caps,因此应将其放在uridecodebin元素生成的元素之间. 有什么方法可以告诉uridecodebin元素使用rtponvifparse元素? 解决方案 我必须与DecoDebin3进行类似的操作.我没有看到直接设置选择的手段.我想这被视为一种"反图案",因为这些动态选择器的目的是为我们弄清楚这一点.但是,我确实到达了间接的意思是实现这一目标. 动态选择可以通过查找可能的选项来起作用.然后,"最好的一个"由指定的"等级"选择.当两个插件具有相同的等级时,我不确定打破打破器是什么.我相信,如果您需要弄清楚,这是由GSTREAMER文档所涵盖的.它可能运气,或者可能是任意的,例如字母名称顺序?无论如何,关键是您要手动管理排名.
0 2024-04-09
编程技术问答社区
GSTREAMER-听RTP流时太多了
我是Gstreamer的新手,我想使用它来收听RTP流. 为此,我使用此管道: gst-launch-1.0 udpsrc caps=application/x-rtp port=5000 ! rtpjitterbuffer ! rtpopusdepay ! opusdec ! alsasink 我不知道为什么,但是我有一些延迟(〜1s),我想最大程度地减少它. 我确定这不是来自来源和运输. 如果有人有任何想法:) 解决方案 so, 如果有人有同样的问题,这就是对我有帮助的属性: latency rtpjitterbuffer buffer-time和latency-time alsasink ,还更新gstreamer:) 其他解决方案 尝试使用抖动缓冲区上的延迟设置,例如 gst-launch-1.0 udpsrc caps = application/x-rtp port = 5000! rtpjitterbuffer
0 2024-04-09
编程技术问答社区
使用gstreramer播放歌曲需要遵循什么顺序?
我正在建立基于GSTREAMER-0.10的音乐播放器.我能够成功播放,但是当我更改管道状态时,我会有问题.我已经发布了代码以初始化并启动下面的管道: void start_gstreamer() { gst_init(0,NULL);//call to initialise gstreamer time_val=0;//set to default value volume = 1.0;//set volume to default value player = gst_element_factory_make ("playbin2", "player");//get pipeline equalizer = gst_element_factory_make ("equalizer-10bands", "equalizer");//get the 10band equalizer convert = gst_element_
0 2024-04-09
编程技术问答社区
如何使用gstreamer来保存网络摄像头视频到文件?
我一直在尝试让Emgu保存相同的网络摄像机视频以文件 问题是仅OPENCV AVI,AVI似乎不太适合X264这样的格式. 我可以在c? 中使用gstreamer为我做这件事 如果我也可以选择文件格式和容器类型,那将是很好的.如果我可以使用Schrodinger Dirac之类的格式,那就太好了. 我是GSTREAMER的新手 编辑 我设法使用 捕获网络摄像头视频 gst-launch-0.10 ksvideosrc! AutovideOsink 现在如何将其转码为H264或Dirac等格式...? 编辑 gst-launch-0.10 ksvideosrc num-buffers = 10! decodebin2! ffmpegcolorspace! x264enc! matroskamux! filesink 位置= video.mkv 这似乎创建了一个文件,但是VLC播放器无法阅读它. 解决方案 这个 gs
2 2024-04-09
编程技术问答社区
如何用gstreamer解析音频原始数据记录器?
我正在编写一个C应用程序,该应用程序使用GSTREAMER来录制麦克风的音频. 我希望能够解析该音频并显示该音频的可视化. 我有以下代码: #include #include static gboolean bus_call (GstBus *bus, GstMessage *msg, gpointer data) { GMainLoop *loop = (GMainLoop *) data; switch (GST_MESSAGE_TYPE (msg)) { case GST_MESSAGE_EOS: g_print ("End of stream\n"); g_main_loop_quit (loop); break; case GST_MESSAGE_ERROR: { gchar *debug; GError *error; gst_message_pa
2 2024-04-09
编程技术问答社区
使用gstreamer和c API显示图像
我尝试使用C API进行GSTREAMER管道来显示图像,我使用此GST-Launch命令 gst-launch filesrc location="pluto.jpg" ! jpegdec ! ffmpegcolorspace ! videobalance saturation=0 ! freeze ! ximagesink 当我尝试它时,它可以正常工作,但是当我尝试将其转换为C代码时,它行不通的人可以帮助我吗? #include int main(int argc, char *argv[]) { GstElement *pipeline, *jpdec, *imgf, *cod, *source, *sink; GstBus *bus; GstMessage *msg; GstStateChangeReturn ret; /* Initialize GStreamer */ gst_init (&argc, &ar
0 2024-04-09
编程技术问答社区
如何在gstreamer中设置元素的sink pad属性?
如何在程序中设置水槽垫的属性 例如: sin_00::outWidth=1280 sin_00::outHeight=720 in this way pipeline was run using gst-launch-0.10 ..... 并设置此属性IVE使用gst_pad_set_property() API,但它不起作用 它显示以下错误: 3_video_temp.c: In function 'main': 3_video_temp.c:551: warning: implicit declaration of function 'gst_pad_set_property' /tmp/cc2zDbzt.o: In function `main': /home/project/compWorkspace/Edubeam/3_video_temp.c:551: undefined reference to `gst_pad_set_property' collect2
0 2024-04-09
编程技术问答社区
Gstreamer中的图像幻灯片
我想制作一个GSTREAMER应用程序,该应用程序将XML文件处理其内容,该应用程序提供了图像URL,其重量和将显示在屏幕上的持续时间之类的信息. 可以使用libxml在C中清楚地处理XML文件.但是,我们如何使用GSTREAMER库创建图像的幻灯片.我想使用GSTREAMER,因为我正在使用的硬件和SDK为GSTREAMER提供本机支持. 是否有任何GSTREAMER插件可以执行相同的操作.或其他如何完成.我知道GSTREAMER的基础知识,并且可以在C中为GSTREAMER应用程序编写代码. 解决方案 尝试以下C: 的代码 #include #include char *strcpy(char *dest, const xmlChar *src) { unsigned i; for (i=0; src[i] != '\0'; ++i) dest[i] = src[i]; des
0 2024-04-09
编程技术问答社区
在openCV内调用Gstreamer
我需要在OpenCV代码中调用GSTREMEER(本质上打开摄像机). 当我查看源代码时,modules/highgui/src/cap_gstreamer.cpp似乎是我要寻找的文件. 我用GSTREAMER标志编译了OpenCV. GStreamer: -- base: YES (ver 1.2.3) -- video: YES (ver 1.2.3) -- app: YES (ver 1.2.3) -- riff: YES (ver 1.2.3) -- pbutils: YES (ver 1.2.3) 在 cap_gstreamer.cpp在建议的openCV安装日志中成功构建: [ 17%] Bu
4 2024-04-08
编程技术问答社区
GstMultifilesink后消息的回调
我想知道如何使用post-messages = true属性从GSTREAMER MULTIFILESINK元素获得回调?在MY_BUS_CALLBACK函数下方的代码中,从未调用. Multifilesink文档说:如果"邮寄"属性是正确的,则在编写每个缓冲区后,它将发送名为" GSMultifileSink"的应用程序消息. http://www.freedesktop.org/software/gstreamer/gstreamer-sdk/data/data/data/data/data/data/2012.5/gst-plugins-plugins-plugins-plugins-plugins-plugins-plugins-plugins-plugins-plugins-plugins-plugst-plugins/gst-plugins/-good-plugins-multifilesink.html#gstmultifilesink- post-messag
0 2024-04-08
编程技术问答社区
如何在我的 gstreamer 中启用 httpsrc 插件?
我尝试播放MP3文件或通过以下命令检索到的流中的流 gst-launch httpsrc location=http://domain.com/music.mp3 ! mad ! osssink ,但是a获得以下错误 ERREUR : le pipeline n'a pas pu être construit : pas d'élément « httpsrc ». 说由于缺少httpsrc元素而无法构建管道. 在谷歌搜索后,我找不到如何启用/安装httpsrc插件 我尝试了 sudo apt-get install gstreamer-httpsrc sudo apt-get install gstreamer0.10-httpsrc 没有成功. 我正在使用我的Ubuntu 12.0.4>发行的默认GSTREAMENTAME. 我是否缺少某些东西,或者还有其他方法可以做同样的工作,即使httpsrc 感谢您的任何答复!
2 2024-04-08
编程技术问答社区