gstreamer安装(Windows + VS2022)

gstreamer的下载

全部版本下载地址 https://gstreamer.freedesktop.org/data/pkg/windows/
我使用的版本
runtime包:
https://gstreamer.freedesktop.org/data/pkg/windows/1.20.3/msvc/gstreamer-1.0-msvc-x86_64-1.20.3.msi
SDK:
https://gstreamer.freedesktop.org/data/pkg/windows/1.20.3/msvc/gstreamer-1.0-devel-msvc-x86_64-1.20.3.msi

gstreamer的安装

先安装gstreamer-1.0-x86-1.20.3.msi,choose setup type 时选择 Complete,完整安装
同样 gstreamer-1.0-devel-x86-1.20.3.msi 也选择 Complete。

配置系统环境变量

将 F:\gstreamer\1.0\msvc_x86_64\bin 添加至环境变量
在这里插入图片描述

复制glibconfig.h文件

F:\gstreamer\1.0\msvc_x86_64\lib\glib-2.0\include下的 glibconfig.h 复制到F:\gstreamer\1.0\msvc_x86_64\include\glib-2.0F:\gstreamer\1.0\msvc_x86_64\include\glib-2.0\glib路径下

检测是否安装成功

进入到F:\gstreamer\1.0\msvc_x86_64\bin目录下,按住shift键右击鼠标,进入管理员窗口。执行

gst-launch-1.0 videotestsrc ! videoconvert ! autovideosink

你应该会看到一个带有动画视频模式的窗口,代表安装成功。

vs2022配置

  1. 解决方案资源管理器里选择项目名,右键,属性
    在c/c++ -------常规--------附加包含目录 增加如下目录

    F:\gstreamer\1.0\msvc_x86_64\include\gstreamer-1.0
    F:\gstreamer\1.0\msvc_x86_64\include\glib-2.0
    F:\gstreamer\1.0\msvc_x86_64\include\libxml2
    F:\gstreamer\1.0\msvc_x86_64\include
    在这里插入图片描述

  2. 链接器----常规----附加库目录,增加 如下目录

    F:\gstreamer\msvc_x86_64\x86\lib
    在这里插入图片描述

  3. 链接器----输入-----附加依赖性 增加

gobject-2.0.lib;glib-2.0.lib;gstreamer-1.0.lib

在这里插入图片描述

  1. 调试----环境
    path=%path%;F:\gstreamer\1.0\msvc_x86_64\bin
    在这里插入图片描述
  2. 测试
    测试一下,输入以下代码,执行不报错就成功了

#include <iostream>

#include <gst/gst.h>
#include <glib.h>

int main(int  argc, char* argv[]) {
	GstElement* pipeline;
	GstElement* source, * filter, * sink;

	//init
	gst_init(&argc, &argv);

	//creat pipeline
	pipeline = gst_pipeline_new("my-pipline");

	//create elements
	source = gst_element_factory_make("fakesrc", "source");
	filter = gst_element_factory_make("identity", "filter");
	sink = gst_element_factory_make("fakesink", "sink");

	//将元组添加到管道中
	gst_bin_add_many(GST_BIN(pipeline), source, filter, sink, NULL);

	//连接
	if (!gst_element_link_many(source, filter, sink, NULL)) {
		g_warning("failed to link elements\n");
		std::cout << "failed to link elements!\n";
	}
	else
	{
		std::cout << "Hello GStreamer!\n";
	}
	/*在链接不同的组件之前,你需要确保这些组件都被加在同一个箱柜中,
	因为将一个组件加载到一个箱柜中会破坏该组件已存在的一些链接关系。
	同时,你不能直接链接不在同一箱柜或管道中的组件。*/
	return 0;
}

  • 7
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ap21ril

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值