目前公司的视频转码项目都是基于ffmpeg拉去rtsp流在做的。最近 发现BOSS上的不少公司 要求了解使用gstreamer 之前也不是很知道,知道最近在看寒武纪的CNStream项目,然后发现里面使用了所谓的pipeline流水线模式,其实看名字大概就能知道 应该是仿照Navidia公司的DeepStream来的,DeepStream我没看过也不了解,不过我猜应该也是采用了这种pipeline流水线模式,将不同的element组装起来 搭建成一个项目。我猜 这两个都应该来自于gstream吧
正好春节的时候 下载了gstream的安装包 以下是官网直接下载
GStreamer: open source multimedia framework
基于官方英文文档 原文地址:
Installing on Windows (gstreamer.freedesktop.org)
高亮的两个是安装包 必须下载,docs那个是官方例子 也需要下载,
下载之后直接安装,默认会在c目录下生成如下文件夹 我的是64位版本 32位版本目录名字会不太一样
然后解压doc那个压缩包 examples/tutorials/vs2010下面直接用vs打开即可
对了需要配置下环境变量,刚安装gstream的时候会默认添加一个
GSTREAMER_1_0_ROOT_MSVC_X86_64 这个的环境变量
然后我们需要把相关dll加到path中 如下图
然后 视图->其他窗口->属性管理器
选中项目一 右键 添加现有属性表 选择 gstreamer-1.0.props
.
之后 在编译这个1的例子就可以编译通过了
但是运行的时候提示缺少dll文件,后来把vs重新关闭在打开就不会提示了
例子1中自带的那个视频路径连接很卡 换成公司的内网rtsp流地址
运行效果如下