一、引言

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位系统

六、可行性分析

1.市场需求

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

2.技术可行性

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

编解码器:

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

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

硬件设备:

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

用户界面:

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

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

七、功能性需求

1.需求列表

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

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

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

2.功能列表

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

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

(菜单、拖拽、等)

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

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

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

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

开始转码

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

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

暂停:按钮

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

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

八、非功能性需求

1.性能需求

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

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

2.响应时间

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

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

3.数据容量

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

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

4.可用性

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

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

5.稳定性

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

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

九、其他需求

暂无

十、假设与约束条件

暂无

大家好,我的第一本书正式出版了,可以在京东各大店铺抢购哦。

《FFmpeg入门详解--音视频原理及应用:梅会东:清华大学出版社》

京东自营链接:https://item.jd.com/13377793.html
京东其它链接:https://search.jd.com/Search?keyword=FFmpeg%E5%85%A5%E9%97%A8%E8%AF%A6%E8%A7%A3--%E9%9F%B3%E8%A7%86%E9%A2%91%E5%8E%9F%E7%90%86%E5%8F%8A%E5%BA%94%E7%94%A8&enc=utf-8&suggest=1.his.0.0&wq=&pvid=24e80535073b4e1f98e30a3e6963fe81

 

出书过程非常艰辛,来回校正了好几遍,后续还有FFmpeg系列的其它图书。

第一本:FFmpeg入门详解--音视频原理及应用--梅会东--清华大学出版社

第二本:FFmpeg入门详解--流媒体直播原理及应用--梅会东--清华大学出版社

第三本:FFmpeg入门详解--命令行及音视频特效原理及应用--梅会东--清华大学出版社

第四本:FFmpeg入门详解--SDK二次开发及直播美颜原理及应用--梅会东--清华大学出版社

===================================

FFmpeg入门详解之74:FFmpeg转码器Java版之需求规格说明书相关推荐

  1. FFmpeg入门详解之6:VLC播放器简介

    VLC播放器        VLC支持多种常见音视频格式,支持多种流媒体传输协议,也可当做本地流媒体服务器使用,功能十分强大. 官网下载地址:https://www.videolan.org/ VLC ...

  2. FFmpeg入门详解--音视频原理及应用:梅会东:清华大学出版社

    大家好,我的第一本书正式出版了,可以在京东各大店铺抢购哦. <FFmpeg入门详解--音视频原理及应用:梅会东:清华大学出版社> 京东自营链接:https://item.jd.com/13 ...

  3. FFmpeg入门详解之100:搭建Nginx流媒体服务器

    这里小编给大家推荐一款流媒体服务器Nginx,可以实现RTMP和HLS等.搭建完成后,可以使用FFmpeg推流,实现直播功能. 注意:操作环境是Ubuntu18.04, 总共分为几个步骤: 1.安装N ...

  4. FFmpeg入门详解之116:rtsp live555摄像头直播

    rtsp+live555摄像头直播 Live555直播流程简介与演示 第一步,读取摄像头数据 第二步,x264编码 第三步,扩展live555 第四步,vlc或ffplay播放 ffplay -sta ...

  5. FFmpeg入门详解之83:流媒体与直播技术

    流媒体 流媒体又叫流式媒体,它是指商家用一个视频传送服务器(比如:vlc)把节目(比如:ande10.mp4)当成数据包发出,传送到网络上.用户通过解压设备对这些数据进行解压后,节目就会像发送前那样显 ...

  6. FFmpeg入门详解之117:视频监控的架构和流程

    几张架构图带您快速了解视频监控 图一 图二 图三 图四 视频监控系统的简介 视频监控 视频监控是安全防范系统的重要组成部分,英文Cameras and Surveillance.传统的监控系统包括前端 ...

  7. FFmpeg入门详解之121:颜色空间转换RGB和YUV的原理与实战

    5.颜色空间转换RGB和YUV的原理与实战 三种颜色空间模型:RGB.YUV.HSV 一.概述 颜色通常用三个独立的属性来描述,三个独立变量综合作用,自然就构成一个空间坐标,这就是颜色空间. 但被描述 ...

  8. FFmpeg入门详解之122:Qt5 FFmpeg本地摄像头采集预览实战

    6.Qt5+FFmpeg本地摄像头采集预览实战 源码工程:S26_Test2 FFmpeg命令行处理摄像头 ffmpeg -list_devices true -f dshow -i dummy 命令 ...

  9. FFmpeg入门详解之124:Qt5 FFmpeg单路网络摄像头采集预览

    Qt5+FFmpeg单路网络摄像头采集预览 源码工程:S26_Test4 RTSP协议简介 RTSP(Real Time Streaming Protocol),RFC2326 RTSP(Real T ...

  10. FFmpeg入门详解之111:RTSP协议2

    rtsp消息详解 1.RTSP的消息有两大类,一是请求消息(request),一是回应消息(response),两种消息的格式不同. 请求消息格式: 方法 URI RTSP版本 CR LF 消息头 C ...

最新文章

  1. 三个最简单公式讲完卡尔曼滤波算法
  2. Python编程从入门到实践~文件写入
  3. 今日恐慌与贪婪指数为93 贪婪程度有所缓解
  4. 使用GridFS上传下载图片以及其他文件
  5. java导出word文档_PHPWord导出word文档
  6. c java python php_php c java python 语言对比
  7. _.findIndex(array, [predicate=_.identity], [fromIndex=0])
  8. 计算机网络中什么是突发错,计算机网络基础习题(含答案)
  9. python新浪api_python编程之API入门: (二)python3中使用新浪微博API
  10. STM32之红外接收
  11. python文件和数据格式化
  12. linux复制文件命令
  13. DDNS 通过阿里云API接口实现 DDNS 动态解析
  14. 解决“: no such file or directory, scandir ‘..\node_modules\node-sass\vendor“
  15. \t\t桌面图标无法删除 删除桌面IE图标 桌面图标整理
  16. 内核RDMA模块(siw)代码分析
  17. Eclips 快捷键设置
  18. vlookup(精确查找、区间查找、反向查找、多条件查找)
  19. 无符号数与带符号数的相加减
  20. 王兴:为什么中国的To B企业都活得这么惨?

热门文章

  1. 软件测试佣金问题等价类,测试用例设计白皮书--等价类划分方法
  2. 3DLC系列之:工作色彩模型
  3. 最新版微信上墙功能齐全无BUG版大屏幕+演示系统常用主题和音乐
  4. linux gt240驱动下载,支持GT540M NVIDIA新款Linux显卡驱动
  5. git小乌龟拉取分支代码
  6. 强连通分量的一种类 Tarjan 算法以及Tarjan算法推导初探
  7. 2016考研数学三复习计划
  8. 偏向锁java_Java偏向锁
  9. Navicat 注册机破解问题
  10. Linux驱动开发-编写OLED显示屏驱动