在Linux(UButun)和Windows编译GStreamer 过程
tips:周末,顺手整理了一个框架和功能图,可能不完善,先放着,后面使用的时候,再修改下!
GStreamer 介绍
GStreamer 是用来构建流媒体应用的开源多媒体框架(framework),其目标是要简化音/视频应用程序的开发,已经能够被用来处理像 MP3、Ogg、MPEG1、MPEG2、AVI、Quicktime等多种格式的多媒体数据。笔者就是尝试用来开发多路RTSP推流服务器
Windows编译
安装环境:
step 1 :安装 Visual Studio Community 2019
https:// visualstudio.microsoft.com /zh-hans/vs/
Visual Studio Installer需要勾选下载内容如下
-
通用Windows平台开发
-
使用C++的桌面开发
-
使用c++的移动开发
使用C++的桌面开发和移动开发是可选的
step 2 :Python 3.5+,作者使用的3.6
https://www. python.org/downloads/
step 3 打开Windows cmd命令行工具
pip install --upgrade pip
pip install meson
tips :
GStreamer release版本大于1.16(不包含1.16版本)需要使用meson build,所以需要安装meson ;GStreamer =1.18,,meson vison>=0.54;但是1.19版本需要>=0.55版本,建议你们直接使用meson>=0.6;
meson相关资料
- download : https:// pypi.org/project/meson/# history
- github : https:// github.com/mesonbuild/m eson
- meson about: https:// mesonbuild.com/
pip install ninja
编译安装ninjia参考这个也行 https:// zhuanlan.zhihu.com/p/32 1882707
step 4 添加GStreamer bin 到 PATH,两个都需要下载,保证下载版本一致性
- gstreamer官网 https:// gstreamer.freedesktop.org /download/
-
不同版本的dll库连接
https://
gstreamer.freedesktop.org
/data/pkg/windows/
tips
安装的时候不要选择自定义,要选择安装所有,这样dll库不会丢失。保证无论你使用哪一个插件模块都正常运行
64 bit
- runtime install https:// gstreamer.freedesktop.org /data/pkg/windows/1.18.5/msvc/gstreamer-1.0-msvc-x86_64-1.18.5.msi
- development installer https:// gstreamer.freedesktop.org /data/pkg/windows/1.18.5/msvc/gstreamer-1.0-devel-msvc-x86_64-1.18.5.msi
32 bit
- runtime install https:// gstreamer.freedesktop.org /data/pkg/windows/1.18.5/msvc/gstreamer-1.0-msvc-x86-1.18.5.msi
-
development installer
https://
gstreamer.freedesktop.org
/data/pkg/windows/1.18.5/msvc/gstreamer-1.0-devel-msvc-x86-1.18.5.msi
恭喜你,以上之后你终于可以开始下载源码编译了;考虑到部分小伙伴网速不好,我都git clone 到我的gitee了,你们自取。
step 5 下载源码,编译库
tips: 请严格按照下面安装步骤填写
-
download
git
https://
git-scm.com/
-
选择一个存放项目的文件夹右键 git bash here
git clone --recursive https://gitee.com/vegetableandchicken/gst-build.git
cd gst-build/subprojects
执行以下操作,把下面命令执行一遍即可,全部放到subprojects里面,其实你们可以git clone ** gst-build之后,直接meson build也会自动下载,但是下载很慢,毕竟是git
//你们可以自己点击进去选择版本,我给的是最新版本
git clone --recursive https://gitee.com/vegetableandchicken/orc.git
git clone --recursive https://gitee.com/vegetableandchicken/gst-docs.git
git clone --recursive https://gitee.com/vegetableandchicken/gstreamer.git
git clone --recursive https://gitee.com/vegetableandchicken/gst-plugins-good.git
git clone --recursive https://gitee.com/vegetableandchicken/gst-plugins-base.git
git clone --recursive https://gitee.com/vegetableandchicken/gst-python.git
git clone --recursive https://gitee.com/vegetableandchicken/common.git
git clone --recursive https://gitee.com/vegetableandchicken/gst-examples.git
git clone --recursive https://gitee.com/vegetableandchicken/gst-rtsp-server.git
git clone --recursive https://gitee.com/vegetableandchicken/gnulib.git
git clone --recursive https://gitee.com/vegetableandchicken/gstreamer-sharp.git
//windows不建议自己下载glib,偶尔会编译错误,要meson build自己下载好点
git clone --recursive https://gitee.com/vegetableandchicken/glib.git
git clone --recursive https://gitee.com/vegetableandchicken/gst-integration-testsuites.git
git clone --recursive https://gitee.com/vegetableandchicken/gst-libav.git
git clone --recursive https://gitee.com/vegetableandchicken/gst-plugins-ugly.git
git clone --recursive https://gitee.com/vegetableandchicken/gst-devtools.git
git clone --recursive https://gitee.com/vegetableandchicken/gst-editing-services.git