前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >直播软件系统源码,视频直播软件系统开发中的流媒体技术

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

原创
作者头像
布谷鸟小刘
修改2021-02-03 14:39:56
1.7K0
修改2021-02-03 14:39:56
举报

视频直播软件系统开发,常用的流媒体传输协议有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的使用情况以及网络带宽状况

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档