美文网首页
多媒体组件概述

多媒体组件概述

作者: Meteorwizard | 来源:发表于2017-06-01 14:43 被阅读0次

1.综述

        社交载体从文字发展到静态图片,现又来到了视频的时代。在视频时代,每个移动端app中的多媒体组件所需要承接的业务也越来越复杂,而且一家公司可能会出多款app,因此一个好的多媒体组件需要有灵活的扩展性以及方便的可移植性。根据这些需求,我们把一个多媒体组件(或者叫音视频组件)拆分成源、渲染组件以及输出几个部分。

2.源(source)

        目前移动端可能接受到的视频源有摄像头录制的数据以及从手机存储(包括SD卡)中的文件,未来可能还有AR设备或者其他外接设备所捕捉的数据(纯YY)。因此我们需要一个通用的接口来封装视频的输入源。并且从不同输入员获取到的数据送去渲染(可能还包括一些预处理,如色彩格式转换、图像分析等)的过程有点像生产者-消费者模型,因此我们还需要有一个管理数据缓冲队列的组件来调控整个处理过程。

3.渲染(render)

       我们把视频数据的预处理、添加额外特效(诸如动态贴纸、滤镜、美颜等等)统称为渲染,可能与传统的“渲染”定义不太一样,可以认为是一个“加特效”的过程。不同的特效的实现过程不尽相同,因此如何统一管理所有的特效;如何方便的修改、添加、禁止一个特效是“渲染”这个模块需要考虑的。这边还会涉及到与c层的交互,因此渲染模块会是整个视频处理中最复杂也是最核心的模块。

4.输出(sink)

        当所有处理完成之后,最后需要做的就是将这个数据通过一定的方式显示出来,或者写入某个文件,或者推流到服务器上,这个工作就交由输出模块来完成。因为“输出”的形式也是多种多样的,因此这边也需要有一个统一的管理以及良好的扩展。

图像处理流程

关于渲染的分层

1.上层业务

       诸如动态贴纸、滤镜、ar等等特效在不同的项目中有着完全不一样的配置,包括数量、顺序、交互、资源等等,因此这些做为强业务向的配置逻辑需要有独立的管理类去控制。

2.公共业务

        虽然在不同项目中配置项各有各的不同,但是绘制的内容基本是可以枚举的,因此动态贴纸、滤镜、ar等这些会被归为公共业务。

3.底层库

        对于绘制的基础功能则是一个通用的、抽象的接口,可参考安卓系统GUI系统来设计整个绘制底层框架

应用层与底层的职责分工

相关文章

  • 多媒体组件概述

    1.综述 社交载体从文字发展到静态图片,现又来到了视频的时代。在视频时代,每个移动端app中的多媒体组件所...

  • 多媒体技术

    【第一章】多媒体技术概述 什么是媒体? 什么是多媒体? 多媒体的类型有哪些? 多媒体技术的定义是什么? 多媒体计算...

  • 多媒体和图形编程

    内容概述 基本用法

  • 31:多媒体技术

    一、多媒体概述 目标:要求学生了解多媒体技术,并培养学生加强多媒体技术应用的意识,解决学习和生活中的各种问题。 子...

  • 1-HTTP概述

    HTTP权威指南Ch1-HTTP概述 笔记 第一章 HTTP概述 1.1 HTTP-因特网的多媒体信使 HTTP ...

  • Bootstrap组件 - 多媒体对象

    知识点 类 | 描述 | :-: | -:.media | 该 class 允许将媒体对象里的多媒体(图像、视频、...

  • Android组件化与插件化

    组件化 概述 android工程的组件一般分为两种,lib组件和application组件application组...

  • 全栈开发工程师微信小程序-中

    全栈开发工程师微信小程序-中 多媒体及其他的组件 navigator页面链接 navigator是页面链接组件,等...

  • UGUI(一)【唐老狮】六大基础组件,三大基础控件

    Unity中的UI系统之UGUI [toc] 概述 六大基础组件 六大基础组件概述Canvas画布Canvas S...

  • Angular4.x说明2018-07-17

    概述:Angular 应用是由组件组成的。组件由 HTML 模板和组件类组成,组件类控制视图,每个组件都以@Com...

网友评论

      本文标题:多媒体组件概述

      本文链接:https://www.haomeiwen.com/subject/mkhefxtx.html