基于RTMP协议的视频直播系统毕业论文
2020-07-01 20:51:17
摘 要
近年来视频直播行业发展迅速,参与到其中的人群数量激增。这对视频直播系统的质量提出了更高的要求。视频直播系统的设计与实现涉及到诸多流媒体方向的知识和技术,其中数据采集、编码与解码技术是关键,而基于RTMP协议的推流模块设计是整个系统的核心。流媒体服务器在系统中起到中转站的作用。
本文主要研究和设计基于RTMP协议的视频直播系统。
首先介绍系统相关技术,包括Android设备中音频数据和图像数据的采集方法,音频和视频的软件编解码技术及Android中的硬件编码技术,移动互联网中的流媒传输协议,其中重点分析了RTMP协议。
第二,简要介绍Nginx服务器,并分析如何配置nginx-rtmp-module模块来支持RTMP视频流的分发。
第三,对系统进行需求分析,并设计整体框架,阐述系统采集模块、编码模块、推流模块和播放模块如何实现。
第四,对系统进行测试并展示测试结果,分析系统运行时RTMP数据的传输情况。结果表明,本系统能够完成视频直播的任务。
最后总结本文研究的相关技术和系统的设计与实现,并展望进一步的研究方向。
关键词:流媒体 视频直播 ANDROID RTMP NGINX
Video Living System Based on RTMP Protocol
Abstract
In recent years, the video living industry has developed rapidly and the number of people participating in it has soared. This puts higher requirements on the quality of the live video system. The design and implementation of a live video system will involve a lot of knowledge and techniques in the field of streaming media, where data sampling, encoding and decoding technologies are the key, and the design of plug flow module based on RTMP protocol is the heart of the whole system. The streaming media server acts as a freight station in the application.
This thesis mainly focuses on the living system based on RTMP protocol.
First, system-related technologies are introduced, including audio and image data collection methods in Android devices, audio and video encoding and decoding technology and hardware encoding technology in Android, streaming media transmission protocol in the mobile Internet, which focuses on the analysis of the RTMP protocol .
Second, briefly introduced the Nginx server and analyzed how to configure the nginx-rtmp-module module to support the transmission of RTMP data.
Third, the system was analyzed for requirements and an overall framework was designed to describe how the system acquisition module, encoding module, plug-in module, and playback module were implemented.
Fourth, the system is tested and the test results are displayed. The results show that the system can complete the task of live video.
Finally, we concludes with the design and implementation of the system and related technologies studied in this work, and give the perspective of further research directions.
Keywords: Streaming Media; Video Living; Android; RTMP; Nginx
目录
摘 要 I
Abstract II
第一章 绪论 1
1.1 研究背景及意义 1
1.2 国内外技术现状 2
1.3 课题研究内容 3
1.4 论文结构 4
第二章 系统相关技术 5
2.1 原始数据采集 5
2.1.1 音频采集 5
2.1.2 图像采集 6
2.2 视频和音频编码技术 8
2.2.1 软件编码与硬件编码 8
2.2.2 AAC音频编码 8
2.2.3 H.264视频编码 9
2.3音频与视频融合 9
2.4 常用移动流媒体协议 9
2.4.1 移动流媒体协议简介 10
2.4.2 RTMP实时消息传输协议 10
2.5本章小结 13
第三章 Nginx流媒体服务器的搭建与测试 14
3.1 Nginx服务器简介 14
3.2 Nginx流媒体服务器的搭建 14
3.2.1 服务器整体架构分析 14
3.2.2 搭建Nginx流媒体服务器方法 17
3.2.3 数据流监听工具stat的使用 19
3.3 Nginx分发流媒体的测试 21
3.4 本章小结 23
第四章 视频直播系统的设计 25
4.1 系统需求分析 25
4.1.1 功能性需求 25
4.1.2 非功能性需求 26
4.2 系统设计 27
4.2.1 视频直播场景分析 27
4.2.2 系统工作模式 27
4.2.3 系统工作流程 28
4.2.4 系统框架设计 29
4.2.5 系统功能模块设计 30
4.2.6 系统静态模型设计 32
4.3 流媒体传输过程分析 34
4.4 本章小结 35
第五章 视频直播系统的实现 36
5.1 系统开发环境 36
5.1.1 移动客户端开发工具 36
5.1.2 开发环境搭建步骤 36
5.2 视频直播系统具体实现 37
5.2.1 数据采集 37
5.2.2 音视频编码 38
5.2.3 实时流媒体推送 40
5.2.4 视频预览 41
5.2.5 流媒体播放 41
5.3 本章小结 42
第六章 系统测试与RTMP数据分析 43
6.1 系统运行环境 43
6.2 运行过程演示 43
6.3 RTMP视频流分析 46
6.4 本章小结 48
第七章 总结和展望 49
7.1 总结 49
7.2 展望 49
参考文献 51
致谢 53
第一章 绪论
本章主要介绍课题背景,阐述本课题的技术现状,介绍本文主要的研究内容和组织结构。
1.1 研究背景及意义
随着移动互联网技术的飞速发展以及流媒体技术的广泛应用,视频直播不仅引起了学术界的密切关注,而且成功在工业界落地的应用也越来越多。在互联网在线教育、政府公开会议录制、培训机构视频录制、游戏直播和娱乐直播等领域均涉及视频直播技术[1]。传统行业结合视频直播的“直播 ”模式也十分常见。
近年来,国内的智能手机普及程度不断提高,实时流媒体的移动化趋势日益明显。移动流媒体是指在移动设备上实现录制、播放视频等功能。我们可以轻松地使用移动设备内置的麦克风和摄像头分别获取音频数据和图像数据,并且可以通过开源的流媒体播放器播放实时视频流。移动终端的软件和硬件技术发展,降低了普通大众参与到视频直播的门槛。现在只需拥有一部联网的智能手机,就能实现成为一名主播的梦想。
直播行业在国内也日趋成熟。据统计,目前国内各种直播平台超过300多家。各个直播平台所涉及的领域也十分广泛,包括秀场直播(来疯、六间房、全民直播)、游戏直播(斗鱼TV、虎牙TV、龙珠直播)、泛娱乐化直播(YY直播、映客直播、一直播)、体育直播(章鱼TV、企鹅直播)、教育直播(腾讯课堂)和财经直播(知牛财经)等等,以及将视频直播技术应用到各领域的“直播 ”技术[2]。
无论哪一种类型的直播平台,当用户数日益增多时,都会冲击直播系统的稳定性。而只是通过改善硬件条件,例如增加服务器、提高网络带宽等等,不能从根本上解决问题。此时,改善视频直播系统的设计显得尤为关键。
相关图片展示:
课题毕业论文、开题报告、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。