GStreamer SDK 1.0 Build Via Cerbero

本文介绍了如何使用Cerbero编译系统在不同平台上搭建GStreamer SDK 1.0。首先,概述了GStreamer框架及其环境,接着详细阐述了Cerbero的基础环境搭建,包括OSX、Linux(以Ubuntu为例)和Windows的配置。然后,讲解了Cerbero的编译过程和配置,包括定制编译步骤、指定模块版本以及SDK的裁剪方法。最后,列举了一些编译过程中可能遇到的问题及解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文编写时基于GStreamer v1.11.0版,文中提及所有目录结构、文件、模块等信息也均以v1.11.0为标准。后续如GStreamer官方SDK有做较大变动,请自行适配。

1. GStreamer Introduction

GStreamer是一个基于流水线的多媒体框架,其内部基于GObject,以C语言写成(参见Wikipedia)。GStreamer采用基于plugin和pipeline的体系机构,框架中所有的功能模块都是可插拔的plugins,可以很方便地安装到任意pipeline上。

1.1 GStreamer 环境

通常,在运行基于GStreamer开发的程序前,需要配置开发平台所需环境,建议直接下载已编译的安装包,实在有特定需求(如裁剪、特定库支持)时,再考虑手动编译SDK。

GStreamer最新版本(1.11.0)中支持的系统具体如下:

  • Linux
    大部分Linux发行版均已提供GStreamer package,但部分发行版由于法律原因等会对GStreamer plugins进一步切割,因此可能不会包含gst-plugins-bad、gst-plugins-ugly及gst-libav pacakges
  • OpenBSD
    不同架构的package都有支持
  • Windows
    提供相应版本MSI安装器,SDK共提供三种文件,分别为:

    • Runtime:运行GStreamer程序必需的文件,可能会随程序一同发布
    • Development:开发GStreamer程序额外所需的文件
    • Merge Modules:为GStreamer程序部署SDK所需的额外文件
  • Mac OS X
    提供相应的框架
  • Android
    提供可被集成入Android NDK的GStreamer Binaries
  • IOS
    提供可被集成入XCode的GStreamer Binaries
  • Source

1.2 GStreamer内部模块

依据plugins功能及实现算法性能的不同,GStreamer将其分为如下模块:

2. Cerbero编译系统

Cerbero是一个服务于开源项目的多平台编译系统,它为不同体系、发行版的平台编译并创建本地化package。

2.1 Cerbero基础环境搭建

虽然Cerbero已经为各个平台提供了bootstrap(启动引导项),但仍需要一些基础环境来支持bootstrap。

由于Cerbero使用Python2.x(>= 2.6)开发编译脚本,因此不论是什么平台都必须安装Python,本教程中安装版本为v2.7。除此之外,各平台所需依赖项各有不同。具体如下:

2.1.1 OSX

在OSX上你需要安装如下软件:

Note:
此次实际编译并未涉及OSX平台,因此IOS及OSX相关部分编译并未测试,如需编译SDK,可参照教程中通用部分或根据github自行完成。

2.1.2 Linux(以Ubuntu为例)

测试环境为Ubuntu 14.04,其他版本或发行版仅供参考。需确认如下软件是否安装:
* Git
如当前环境中没有git工具,请先手动安装完成。

安装完成后,配置git信息。

    git config --global user.email "xxxx@xxx.com"
  git config --global user.name "xxxx"
  • Python 2.x
    确认所使用的发行版中python版本>= 2.6且已添加python的argparse模块(Python2.7已默认支持)。

    如出现正常安装步骤报错时,请尝试先手动 sudo apt-get update && upgrade完善系统后重试。
2.1.3 Windows
Windows中环境配置较为复杂,编译SDK通常也相对耗时较长,但由于其中Directshow Plugins需使用到Directshow base classes,仍依赖Microsoft编译器和SDK完成编译,所以也无法通过Linux系统完美跨平台编译。 同时Cerbero默认使用Makefile进行所有项目的编译,类似Unix,因此如需在
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值