需求规格说明书


***【在线视频教程】***

好文章,来自【福优学苑@音视频+流媒体】


一、引言

1.项目名称

软件名称:音视频通用转码系统

英文名称:FYXY AV Transcoding System

2.系统背景

融媒体新闻是新时期传统媒体行业抢占市场的关键,而融媒体新闻的特色要靠音、视频新闻来突显。在传播过程中,音、视频信息变得更为重要,逐渐成为传播的重要内容,未来将成为新闻发展的核心。

本软件系统是通用的音视频转码系统,是视频服务的核心基础,可以将各种格式的视频文件统一转码为业务系统需要的格式,可以灵活配置参数,并提供统一接口供业务系统调用。


3.名词定义

通用转码系统:

音视频通用转码系统。

视频(Video):

视频(Video)泛指将一系列静态影像以电信号方式加以捕捉,纪录,处理,储存,传送,与重现的各种技术。连续的图像变化每秒超过24帧(frame)画面以上时,根据视觉暂留原理,人眼无法辨别单幅的静态画面;看上去是平滑连续的视觉效果,这样连续的画面叫做视频。

视频格式(Video Format)

特定格式的多媒体文件,主要包括:AVI, MP4, RMVB, MOV, 3GP, FLV, ……

音频(Audio):

音频是个专业术语,只是储存在计算机里的声音。它泛指人类能够听到的所有声音,它可能包括噪音等。声音被录制下来以后,无论是说话声、歌声、乐器都可以通过数字音乐软件处理,或是把它制作成CD,然后存储到计算机里。

常见的音频格式有MP3, AC3, AAC, WAVE, MVA;

常见的音频参数有:采样率(44.1KHz==44100)、采用精度(8bit, 16bit,32bit)、声道数(1,2,5.2)、比特率。

字幕(Subtitle):

字幕(subtitles of motion picture)是指以文字形式显示电视、电影、舞台作品中的对话等非影像内容,也泛指影视作品后期加工的文字。影视作品的对话字幕,一般出现在屏幕下方,而戏剧作品的字幕,则可能显示于舞台两旁或上方。将节目的语音内容以字幕方式显示,可以帮助听力较弱的观众理解节目内容。

媒体流(Stream)

指时间轴上的一段连续数据,如一段声音数据,一段视频数据或一段字幕数据,可以是压缩的,也可以是非压缩的。其中,压缩的数据需要关联特定的编解码器,比如:X264, Xvid, VidX, Msrle, …



4.参考资料

GB 8566-88 《计算软件开发规范》

GB 8567-88 《计算机软件产品开发文件编制指南》

GB/T 15532-1995 《计算机软件单元测试》

福优学苑学习研讨群:1062104233




二、系统的目标

1.音视频转码

本系统提供通用的音视频转码服务,可以对市面上流行的多种视频格式进行统一转码,可以灵活设置各种参数,提供统一架构和接口,方便业务系统调用和后期扩充功能。

2.转码控制

本系统在视频转码过程中要做到灵活控制,包括:开始、暂停、继续、停止、取消、等。这些功能都要体现在用户界面上,并显示实时转码进度。

3.安全可靠

本软件系统必须要做到可靠运行,不出现异常崩溃,为用户提供一个安全可靠的视频转码平台。

4.灵活扩展

本软件系统的设计要在基础架构上足够灵活,随用户需求的变化可以很方便地添加新的功能。

5.客户体验

本软件系统必须易于使用,符合用户常规的操作需求。




三、系统的范围

1.任务范围

本系统是FYXY公司自主研发的视频转码系统,包括的任务范围如下:

业务需求

本项目需要完成一款通用的视频转码系统,可以快速、稳定地对视频文件进行转码。

用户需求

A.支持基本的视频转码功能

包括:开始、暂停、继续、停止、取消、显示实时转码进度。

B.支持的转码格式

优先级 视频格式

MP4/FLV/MOV/M3U8

WMV/AVI/RMVB

3GP/SWF

C.非功能性需求

a)清晰度、码率、帧率等可以灵活设置。

b)声音不能失真。

c)转码时不能卡顿,要快速、稳定。

功能需求

选择本地视频文件

通过主菜单或拖拽文件的方式可以打开本地视频文件。

上传本地视频文件并转码

上传文件后,首先判断文件格式,然后对音视频文件进行转码处理。

转码控制

在视频转码过程中,能够提供开始、暂停、继续、取消等功能。



四、系统的用户

1.内部用户

产品经理

测试经理

开发人员

业务系统对接人员


2.外部用户

软件产品的编辑人员

我们应该抓住用户心理,适应市场趋势,积极、稳妥地开发出相应的软件产品,增强产品功能,扩展销售渠道,打响自己的品牌。




五、系统应用场景

1.应用场合

业务系统,包括媒体业务部门等。

2.运行环境

运行环境 环境内容

硬件环境 最低配置:8CPU:Xeon,内存:32G,HD:2TB

软件环境 操作系统:Centos 7,64位系统


image.png

六、可行性分析

1.市场需求

根据自己情况进行扩展...


2.技术可行性

转系统的核心是编解码器和硬件设备,主要从以下几个技术难点进行分析:

编解码器:

FYXY音视频通用转码系统必须妥善处理各种音视频格式,核心是编解码器。对于常见的容器和编解码器,需要封装为统一的组件。

本项目组的主要开发人员具备多年的音视频开发经验,积累了丰富的可重用组件,开发过多个类似的产品。所以,编解码器技术的应用和实现是完全有把握的。

硬件设备:

Xeon系列的CPU性能比较高,采取多核多线程转码,转码速度可以满足基本的用户需求。

用户界面:

在任何计算机系统中,用户界面都是最重要的部分。界面设计的目标很简单:让使用计算机工作变得容易、高效并且有趣;同时,好的用户界面不应该过分复杂,让用户可以“傻瓜式上手操作”即可,尽量做到通俗易懂。

本项目中有专门的UI设计师来进行页面美化工作,可以保证美化效果。



七、功能性需求

1.需求列表

编号 需求名称 需求描述 需求类型 优先级 需求来源

1 视频转码 快速、稳定地对各种视频格式进行转码 用户需求 产品部门

2 运行环境 在Centos7上运行 用户需求 产品部门

image.png

2.功能列表


image.png

编号 需求名称 子模块 功能描述

1 视频转码 1.打开文件 打开本地视频文件

(菜单、拖拽、等)

2.上传文件 识别文件格式,

将本地文件上传到转码服务器上

3.转码 上传的视频文件统一入缓存队列,

调度器进行统一分配、负载均衡,

开始转码

4.进度显示 显示实时转码进度

5.转码控制 开始:显示总时间和当前播放时间

暂停:按钮

恢复:双击屏幕进入,按ESC退出

取消:按钮(每次进1秒)



八、非功能性需求

1.性能需求

性能是衡量一个转码系统成功与否的一个非常重要的指标,它包括了很多方面,比如CPU占用量、内存占用量、显卡加速处理、声卡加速处理,等。

转码速度与CPU使用率成正比, 内存占用量很低。为了提高转码速度,需要设计好多线程转码架构,以充分利用多核CPU。


2.响应时间

响应时间也是衡量一个转码系统成功与否的重要指标。点击转码按钮之后,如果半天没有响应,往往会给用户留下一个非常差的印象。

FYXY音视频通用转码系统必须做到尽短的响应时间,这里定为3秒。


3.数据容量

当今社会是信息量呈爆炸式发展的时代,无论各行各业都在产生海量的数据信息。相对于音视频来说,就更加明显。

因此,一个好的视频转码系统必须能够处理海量视频信息,必须能够快速有效地处理10G以下的视频文件,充分利用软硬件等各种资源,为用户提供一个强大的视频转码平台。


4.可用性

一个好的视频转码系统必须具备很好的容错性。比如,对于一些损坏的视频文件,不能造成软件系统的崩溃。要尽可能地迅速判断出异常点,智能地“跳帧”,提高用户体验。

对于发生了转码异常的情况,尽量不要造成软件系统的瘫痪,而是智能进行处理,抛出异常。


5.稳定性

对于常见的视频转码系统,必须具备7x24不间断运行的要求;而且在发生异常时也不能造成宕机,而是智能地修复异常,尽快回复系统的健康运行。

必须满足各种用户的强大压力测试,比如:在一分钟之内连续转码上百个视频文件而不造成系统的瘫痪。


九、其他需求

暂无


十、假设与约束条件

暂无


好文章,来自【福优学苑@音视频+流媒体】
***【在线视频教程】***