基于云计算的视频实时转码系统设计与实现
发布时间:2023-03-03 17:44
随着移动互联网技术的飞速发展和手机平板等移动设备的不断普及,我国视频服务行业发展迅速。由于用户终端的网络带宽不同,以及对视频播放的支持格式不同,视频服务商会对视频进行转码,包括对编码格式、分辨率、帧数等转换。视频转码分为离线转码和实时转码,离线转码用于转码离线的视频文件,实时转码则是对监控直播等实时视频数据流进行转码。视频转码系统对源视频进行处理,提供给用户多样化的视频服务。传统单点集中式的视频转码,采用多任务处理方法,无法满足目前海量视频的转码需求。因此,基于流式和实时计算框架,研究分布式视频实时转码系统,是十分必要的。本文利用云计算中实时计算平台Storm,采用流式处理方式,研究对海量多路实时视频进行并行转码。Storm作为Apache顶级开源项目之一,用于计算处理实时数据,其内存计算和网络直传降低了数据处理的延迟。本文的视频实时转码系统分为系统管理、Storm作业集群和视频流服务三个部分。在系统管理部分,将开源框架Jersey、Spring和Mybatis相结合,实现了Restful风格的后台API,用于用户管理、视频流管理、转码模板配置和任务管理;在搭建的Storm集群中,提交...
【文章页数】:78 页
【学位级别】:硕士
【文章目录】:
摘要
abstract
第一章 绪论
1.1 研究工作的背景与意义
1.2 研究现状
1.2.1 实时计算和流式计算的研究现状
1.2.2 分布式视频转码的研究现状
1.3 本文研究内容
1.4 本文结构安排
第二章 相关理论和技术
2.1 Storm架构及编程模式介绍
2.1.1 Storm的云计算架构
2.1.2 Storm的编程模式
2.1.3 Storm数据流的分组
2.1.4 Storm作业的提交执行过程分析
2.1.5 Storm默认的调度策略
2.1.6 分布式远程调用在Storm上应用
2.2 视频处理技术介绍
2.2.1 视频压缩标准
2.2.2 视频编解码原理
2.2.3 FFmpeg框架
2.2.4 视频转换的分类
2.3 基于J2EE视频转码系统管理平台的架构
2.3.1 Jersey框架
2.3.2 Spring应用开发框架
2.3.3 Mybatis持久层框架
2.4 本章小结
第三章 需求分析及系统架构
3.1 系统需求分析
3.1.1 功能需求分析
3.1.2 性能需求分析
3.2 系统总体结构的设计
3.3 系统面临的问题与解决思路
3.4 Storm调度算法的研究
3.4.1 EvenScheduler算法的原理分析
3.4.2 EvenScheduler算法的缺陷不足
3.5 DS调度算法和RLBS调度算法
3.5.1 DS调度算法
3.5.2 RLBS调度算法
3.6 本章小结
第四章 系统模块的设计与实现
4.1 系统管理
4.1.1 管理接口的设计
4.1.2 管理接口的实现
4.2 视频流的切分模块
4.3 视频片段序列化器模块
4.4 视频转码模块
4.4.1 利用JNI技术对ffmpeg转码程序调用
4.4.2 FFmepg转码设计与实现
4.4.3 FFmepg的加速编码优化
4.5 系统纪录级容错原理与实现
4.6 视频流实时转码作业
4.6.1 拓扑结构定义
4.6.2 OneChannelSpout实现
4.6.3 TranscodingBolt和PushingBolt的实现
4.7 RTMP流媒体服务器
4.7.1 流媒体动态添加推流点
4.7.2 视频流防盗保护
4.8 RTMP客户端播放器
4.9 本章小结
第五章 系统功能和性能测试
5.1 测试环境及部署安装
5.1.1 测试环境
5.1.2 部署安装
5.2 系统功能测试
5.3 调度算法对比测试
5.4 本章小结
第六章 总结与展望
6.1 全文总结
6.2 后续工作展望
致谢
参考文献
本文编号:3752822
【文章页数】:78 页
【学位级别】:硕士
【文章目录】:
摘要
abstract
第一章 绪论
1.1 研究工作的背景与意义
1.2 研究现状
1.2.1 实时计算和流式计算的研究现状
1.2.2 分布式视频转码的研究现状
1.3 本文研究内容
1.4 本文结构安排
第二章 相关理论和技术
2.1 Storm架构及编程模式介绍
2.1.1 Storm的云计算架构
2.1.2 Storm的编程模式
2.1.3 Storm数据流的分组
2.1.4 Storm作业的提交执行过程分析
2.1.5 Storm默认的调度策略
2.1.6 分布式远程调用在Storm上应用
2.2 视频处理技术介绍
2.2.1 视频压缩标准
2.2.2 视频编解码原理
2.2.3 FFmpeg框架
2.2.4 视频转换的分类
2.3 基于J2EE视频转码系统管理平台的架构
2.3.1 Jersey框架
2.3.2 Spring应用开发框架
2.3.3 Mybatis持久层框架
2.4 本章小结
第三章 需求分析及系统架构
3.1 系统需求分析
3.1.1 功能需求分析
3.1.2 性能需求分析
3.2 系统总体结构的设计
3.3 系统面临的问题与解决思路
3.4 Storm调度算法的研究
3.4.1 EvenScheduler算法的原理分析
3.4.2 EvenScheduler算法的缺陷不足
3.5 DS调度算法和RLBS调度算法
3.5.1 DS调度算法
3.5.2 RLBS调度算法
3.6 本章小结
第四章 系统模块的设计与实现
4.1 系统管理
4.1.1 管理接口的设计
4.1.2 管理接口的实现
4.2 视频流的切分模块
4.3 视频片段序列化器模块
4.4 视频转码模块
4.4.1 利用JNI技术对ffmpeg转码程序调用
4.4.2 FFmepg转码设计与实现
4.4.3 FFmepg的加速编码优化
4.5 系统纪录级容错原理与实现
4.6 视频流实时转码作业
4.6.1 拓扑结构定义
4.6.2 OneChannelSpout实现
4.6.3 TranscodingBolt和PushingBolt的实现
4.7 RTMP流媒体服务器
4.7.1 流媒体动态添加推流点
4.7.2 视频流防盗保护
4.8 RTMP客户端播放器
4.9 本章小结
第五章 系统功能和性能测试
5.1 测试环境及部署安装
5.1.1 测试环境
5.1.2 部署安装
5.2 系统功能测试
5.3 调度算法对比测试
5.4 本章小结
第六章 总结与展望
6.1 全文总结
6.2 后续工作展望
致谢
参考文献
本文编号:3752822
本文链接:https://www.wllwen.com/guanlilunwen/ydhl/3752822.html