windows GStreamer环境配置及vs2019配置

1.下载GStreamer
https://gstreamer.freedesktop.org/data/pkg/windows/
我下载最新版本安装配置后出现一些问题,所以暂时按照前人博客的v1.14.3进行安装。64位系统也可以安装x86文件
gstreamer-1.0-x86-1.14.3.msi runtime包
gstreamer-1.0-devel-x86-1.14.3.msi SDK
2.安装
先安装gstreamer-1.0-x86-1.14.3.msi,choose setup type时选择Complete,完整安装
同样 gstreamer-1.0-devel-x86-1.14.3.msi 也选择Complete。默认安装在剩余空间最大的盘符,例如我电脑自动安装在F盘。
3.配置系统变量
将F:\gstreamer\1.0\x86\bin 添加至环境变量
运行如下命令检测是否配置成功(需确保MP4文件存在)

gst-launch-1.0.exe -v playbin uri=file:///F:\\001.mp4

若可以播放,则配置成功

4.复制文件
把glibconfig.h文件拷贝到include/glib-2.0以及include/glib-2.0/glib目录下。

|-- lib
|   |-- glib-2.0
|   |   `-- include
|   |       `-- glibconfig.h 此文件拷贝到
 
|-- include
|     --glib-2.0 此目录下
|   `    -- glib 以及此目录下

5.vs2019配置gstreamer
1)新建控制台程序
在这里插入图片描述
2)确保程序运行正常在这里插入图片描述
3)解决方案资源管理器里选择项目名,右键,属性
在c/c++ -------常规--------附加包含目录 增加如下目录

F:\gstreamer\1.0\x86\include\gstreamer-1.0
F:\gstreamer\1.0\x86\include\glib-2.0
F:\gstreamer\1.0\x86\include\libxml2
F:\gstreamer\1.0\x86\include
在这里插入图片描述
4).链接器----常规----附加库目录,增加 如下目录

F:\gstreamer\1.0\x86\lib
在这里插入图片描述
5).链接器----输入-----附加依赖性 增加

gobject-2.0.lib;glib-2.0.lib;gstreamer-1.0.lib
在这里插入图片描述
6).调试----环境
path=%path%;F:\gstreamer\1.0\x86\bin
在这里插入图片描述
7)测试一下,输入以下代码,执行不报错就成功了

// GstreamerHelloWorld.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#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
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值