直播软件系统源码,视频直播软件系统开发中的流媒体技术

2021-02-03 14:39:56 浏览数 (2)

视频直播软件系统开发,常用的流媒体传输协议有RTMP,RTSP,HLS,HTTP-FLV

RTMP:(可用于推流端和拉流端) Real Time Messaging Protocol 实时消息传输协议,RTMP协议中,视频必须是H264编码,音频必须是AAC或MP3编码,且多以flv格式封包。因为RTMP协议传输的基本是FLV格式的流文件,必须使用flash播放器才能播放.

RTSP:(用于推流端) Real-Time Stream Protocol,RTSP 实时效果非常好,适合视频聊天、视频监控等方向

HLS(用于拉流端) Http Live Streaming,由Apple公司定义的基于HTTP的流媒体实时传输协议。传输内容包括两部分:1.M3U8描述文件,2.TS媒体文件。TS媒体文件中的视频必须是H264编码,音频必须是AAC或MP3编码。数据通过HTTP协议传输。目前video.js库支持该格式文件的播放

HTTP-FLV(用于拉流端) 本协议就是http flv,将音视频数据封装成FLV格式,然后通过http协议传输到客户端,这个协议大大方便了浏览器客户端播放直播视频流.目前flv.js库支持该格式的文件播放

视频直播软件系统开发,流媒体技术主要有以下几种:

1、智能流技术

自动检测网络状况,并将音视频的属性调整到最佳,使用用户收到与其网络速度相符的媒体流,从而获取最佳的用户体验。

2、分流(splitting)技术

一般只在视频直播系统开发中使用。发送服务器将媒体流发送到分布在各地的多个接收服务器,客户端可以就近访问服务器获得较高质量的媒体流,同时减少带宽使用。推流为将直播内容推送至服务器的过程;拉流为服务器已有直播内容,用指定地址进行拉取的过程。

3、缓存(caching)技术

解决由于异步网络、网络延迟和抖动导致的数据包错序的问题,数据包先缓存在本地,而缓存系统使用环形链表结构丢弃掉已经播放的内容,防止缓存溢出。

4、内容分发网络(CDN)技术

架构在IP网络之上的一个内容叠加网,通过引入主动内容管理、全局负载均衡和内容缓存等技术,将用户请求的流媒体内容发布到距离用户最近的网络边缘,从而提供响应速度,减轻骨干网络的压力。

视频直播软件系统开发,如何搭建流媒体服务器:

下载对应的安装包,使用的Linux环境

下载

复制代码

解压

复制代码

到解压后的目录下,执行命令,启动服务

在控制台输入 ./nms运行

在当前程序目录下执行 sudo ./service.sh install 安装服务并自动运行

在当前程序目录下执行 sudo ./service.sh uninstall 停止并卸载服务

服务成功启动之后,可以在8000端口(默认端口)访问流媒体服务的后台系统

首页dashboard展示了服务器cpu的使用情况以及网络带宽状况

0 人点赞