草庐IT

GStreamer

全部标签

c++ - GStreamer 插件与 GStreamermm(C++)

我正在尝试使用GStreamermm绑定(bind)在C++中编写一个gstreamer插件。现在,有一个很好的插件编写者指南(http://gstreamer.freedesktop.org/data/doc/gstreamer/head/pwg/html/),并且在网络上有各种示例和模板,但是对于gstreamermm,很少大量的文档。我知道我可以混合使用C和C++,但使用C++绑定(bind)似乎更加优雅。简单地将gstreamerpwg中的示例“翻译”为gstreamermm是一种死胡同;gstreamer需要使用相当多的宏来定义类型,我看不到gstreamermm的直接翻译。

c++ - 如何使用 VideoWriter 从 OpenCV 打开 GStreamer 管道

我正在使用OpenCVVideoCapture捕捉视频帧。捕获工作正常,因为我能够使用这样的帧:cv::VideoCapturecap("v4l2srcdevice=/dev/video1!videoscale!videorate!video/x-raw,width=640,height=360,framerate=30/1!videoconvert!appsink");cv::imshow("feed",frame);我还想通过网络发送流,这就是我卡住的地方。不知何故,我在appsrc管道部分失败了。我想将流编码为jpeg并通过udp发送它。这是我得到的:cv::VideoWrite

c++ - 如何将 opencv mat 写入 gstreamer 管道?

我想将一些opencv进程添加到gstreamer管道,然后通过udpsink发送它。我可以像这样从gstreamer读取帧://mayaddsomepluginstothepipelinelatercv::VideoCapturecap("v4l2src!video/x-raw,framerate=30/1,width=640,height=480,format=RGB!videoconvert!appsink");cv::Matframe;while(ture){cap>>frame;//dosomeprocessingtotheframe}但无法弄清楚的是如何将处理后的帧传递给以

c++ - 将图像插入 gstreamer 管道

在尝试了一些玩具应用程序之后,探索文档和谷歌搜索(包括邮件列表文件)我仍然对我认为相当普遍的事情感到困惑用例。我有一个生成图像(在内存中)的现有代码,我会喜欢将这些图像推送到gstreamer管道中(以创建flv视频在最后)。我找不到“显而易见的方法”。我最好的猜测是挖掘GstMultiFileSrc及其父GstPushSrc的源代码,弄清楚。你们中的任何人都可以指出执行此操作的“显而易见的方法”吗?是否有任何相关的文档/教程/示例?一旦我输入正确,剩下的就是小菜一碟,感谢Gstreamer真棒!(类似于“我的魔法输入->ffmpegcolorspace!ffenc_flv!flvmu

c++ - CMake 链接问题

我正在尝试使用CMake编译一个使用C库GStreamer的C++应用程序。我的main.cpp文件如下所示:extern"C"{#include#include}intmain(intargc,char*argv[]){GMainLoop*loop;GstElement*pipeline,*source,*demuxer,*decoder,*conv,*sink;GstBus*bus;/*Initialisation*/gst_init(&argc,&argv);return0;}这个有效:g++-Wall$(pkg-config--cflags--libsgstreamer-0.1

Gstreamer推送摄像头数据到RTMP服务器的方法(SRS成功示例)

最近在研究如何将Linux中的视频数据推送到流媒体服务器,看到gstreamer还比较不错,于是试了一下服务端用的SRS,RTMP推流,搭建非常简单,教程可参考:https://blog.csdn.net/qq_52514123/article/details/124845005中间经历了各种报错吗,我放出来供后人参考无法打开流的错误:RROR:fromelement/GstPipeline:pipeline0/GstRTMPSink:rtmpsink0:Couldnotopenresourceforwriting.Additionaldebuginfo:gstrtmpsink.c(293):

ios - Gstreamer IOS 教程中缺少符号

我刚刚从https://gstreamer.freedesktop.org/data/pkg/ios/1.8.1/下载了gstreamerios二进制文件.和来自https://cgit.freedesktop.org/~slomo/gst-sdk-tutorials/的gstreamerSDK(哪个已经7个月没更新了?——有没有更新的版本)?当我在gst_ios_init.h中启用以下功能时,我无法解析如下符号。有更新的SDK吗?我不需要liveadder或fragmented或编辑工具,但ios压缩支持似乎很有用。当我启用时:#defineGST_IOS_PLUGINS_EFFEC

ios - 从 iOS8 中的 gstreamer 解码基本 h264 流

我正在尝试使用AVSampleBufferDisplayLayer渲染通过UDP连接的基本h264流。对于来源,我正在使用这个gstreamer命令:gst-launch-1.0-vvideotestsrcis-live=truepattern-ball!video/x-raw,width-120,height=90,framerate=15/1!x264enctune=zerolatency!h264parse!video/x-h264,stream-format=byte-stream!rtph264paymtu=100000000!udpsinkhost=127.0.0.1por

调试gstreamer的gst-play

遇到问题不好查找原因时,在windows上用visualstudio设断点调试能够提供一个便利。gstreamer选择一个版本比如1.18.5,下载或者gitclone源代码,下载gstreamer在windows上的安装包,安装包与源代码需要一致,断点跟踪的时候才能显示正确的执行语句。在windows也能编译gstreamer,但是却需要一个msys或者mingw,这个没有尝试。在windows上安装参照https://gstreamer.freedesktop.org/documentation/installing/on-windows.html?gi-language=c安装包下载位置

gstreamer推流SRT协议视频,VLC播放SRT视频(一)

前言SecureReliableTransport(SRT)是安全、可靠、低延时的多媒体实时传输协议。SRT协议使用AES进行数据加密,运用FEC进行前向纠错,并且有流量控制、拥塞控制。类似于QUIC协议,SRT采用UDP代替TCP,在应用层提供发送确认机制、ARQ自动重传,减少端到端的延迟。SRT探测实时网络带宽状况,有利于补偿网络拥塞引起的jitter网络抖动和带宽下降。为了实现低延迟码流传输,SRT协议会携带delay、jitter、丢包等信息。SRT提供多路复用机制,允许多个请求共享相同的端口。随着RTMP协议的停止更新,以后SRT协议会有相当大的发展潜力。本文参考资料:参考:安全可靠