当前位置:js代码下载 >> 新闻中心 >> qq强制聊天新闻 >> 浏览文章
qq强制聊天新闻

视频直播平台网站qq强制聊天搭建思路

标签:视频,直播,平台,台网,网站,强制,聊天,搭建,思路 发布时间:2025年05月10日 点击48
分享数:33
快速搭建直播服务大体架构

srs+ffmpeg+第三方(阿里云,腾讯云等),由于不是专门做直播平台,所以借助第三方平台服务器,带宽,cdn可以省不少心)。当然假如你想自建一个视频直播平台也是可以的~~

srs用来接收从手机客户端推来的rtmp流,ffmpeg用来对视频进行处理,比如增长logo或滤镜等,在各种技术尝试中,走过不少弯路,接收流方面还使用过netty,nginx-rtmp,流处理方面使用过javaCV,但结果有些不理想.,java太吃内存,cpu。

下面我们来看一下大致的流程吧

srs的文档简单周全,附上git地址

https://github3564/ossrs/srs/wiki/v2_CN_Home




第一步,获取SRS。


git clone https://github3564/ossrs/srs
cd srs/trunk

或者使用git更新已有代码:

git pull

第二步,编译SRS。

./configure && make

第三步,编写SRS配置文件。
将以下内容保存为文件,譬如conf/rtmp.conf,服务器启动时指定该配置文件(srs的conf文件夹有该文件)。

# conf/rtmp.conf
listen              1935;
max_connections     1000;
vhost __defaultVhost__ {
}

第四步,启动SRS。

./objs/srs -c conf/rtmp.conf

以上是基本配置,

安装成功后文件路径如下
下面是完备配置

listen              1935;
max_connections     1000;
daemon              off;
#srs_log_tank        console;
srs_log_tank        file;
srs_log_file        ./objs/srs.log;

http_api {
    enabled         on;
    listen          8085;
    crossdomain     on;
}

vhost test.xx3564 {
dvr {
        enabled             on;
        #dvr_path            ./objs/nginx/html/[app]/[stream].[timestamp].flv;
        dvr_path            ./objs/nginx/html/[stream]/[timestamp].flv;
        dvr_plan            session;
        dvr_duration        30;
        dvr_wait_keyframe   on;
    }
    http_hooks {
        enabled         on;
        on_connect      http://127.0.0.1:8383/lss/liveItem/LiveItemAction!streamStatus.do ;
        on_close        http://127.0.0.1:8383/lss/liveItem/LiveItemAction!streamStatus.do ;
        on_publish      http://127.0.0.1:8383/lss/liveItem/LiveItemAction!streamStatus.do ;
        on_unpublish    http://127.0.0.1:8383/lss/liveItem/LiveItemAction!streamStatus.do  ;
        on_dvr          http://127.0.0.1:8085/api/v1/dvrs;
        #on_play         http://127.0.0.1:8085/api/v1/sessions ;
        #on_stop         http://127.0.0.1:8085/api/v1/sessions ;
    }
}

vhost后面要写对应的推流地址或者ip.

http_api 与vhost中的http_hooks为一组配置,当srs接收,制止到推流时会调用配置文件中所填地址,并且将各种参数包括streamId,appid传到后台中。

hvhost中的dvr功能是本地录制,dvr_plan有多种录制计划

    session:按照session来关闭flv文件,即编码器制止推流时关闭flv,整个session录制为一个flv。
    segment:按照时间分段录制,flv文件时长配置为dvr_duration和dvr_wait_keyframe。细致:若不按关键帧切flv(即dvr_wait_keyframe配置为off),所以会导致后面的flv启动时会花屏。

至此srs服务器的搭建结束。



手机直播平台的搭建;
1,采集网站建设价格,iOS是比较简单的,Android则要做些机型适配工作,PC最麻烦各种奇葩摄像头驱动,出了题目分外不益处理,建议摒弃PC只支撑手机主播,目前几个新进的直播平台都是如许的。


2,前处理,如今直播美颜已经是标配了,80%的主播没有美颜根本没法看。美颜算法必要用到GPU编程,必要懂图像处理算法的人,没有好的开源实现,要本身参考论文去研究。难点不在于美颜结果,而在于GPU占用和美颜结果之间找平衡。GPU虽然性能好,但是也是有功耗的,GPU占用太高会导致手机发烫,而手机发烫会导致摄像头采集掉帧,iPhone6尤其显明,由于iPhone6的CPU和前置摄像头很近。

3百度关键词,编码,一定要采用硬编码,软编码720p完全没盼望,勉强能编码也会导致CPU过热烫到摄像头。硬编码兼容性又是一个大坑,android上要有人去填。编码要在分辨率,帧率,码率,GOP等参数设计上找到最佳平衡点。

4,传输,本身做不实际,交给CDN服务商吧,也就是贵了点,信赖有志于做直播平台改变世界的你不差钱。假设2W PCU大约每月带宽费用100万左右,由于清晰流畅的720p要1.5mbps左右。CDN只提供了带宽和服务器间传输,发送和接收端的网络连接抖动缓冲照旧要本身写的。不想要卡顿,必然要加大缓冲,会导致耽误高,耽误高影响互动性,要做权衡。

要想用于推流还必须把音视频数据使用传输协议进行封装,变成流数据。常用的流传输协议有RTSP、RTMP、HLS等,使用RTMP传输的延时通常在1–3秒,对于移动直播这种实时性要求特别很是高的场景,RTMP也成为移动直播中最常用的流传输协议。最后通过肯定的Qos算法将音视频流数据推送到网络断,通过CDN进行分发。在直播场景中,网络不稳固是特别很是常见的,这时就必要Qos来保证网络不稳情况下的用户观看直播的体验,通常是通过主播端和播放端设置缓存,让码率均匀。另外,针对实时转变的网络状态,动态码率和帧率也是最常用的策略。

当然,在网络传输方面悉数本身来做基本不实际,找提供推流服务的CDN服务商提供解决方案是最好的选择。据了解,阿里云是国内唯一能自研CDN缓存服务器的厂商,性能特别很是有保障。当然,大多数直播平台都会同时接入多个视频云服务提供商,如许可以做拉流线路互备,对推流后视频集群再进行优化也可提高直播的流畅性和稳固性。


免费直播编码推流软件

当代生活已经离不开互联网,离不开软件了。 这说法毫不夸张。 比如手机上各种APP眼花狼籍 ,各种行业, 各种功能, 各种Logo, 各种的各种。 没有优秀的整顿力,是真的不好意思让别人看到啊。 这些功能各异的APP程序大多数是免费APP。今天我们来谈谈关于直播编码和推流的免费软件。保举四款笔者用过的直播编码推流软件,这些免费软件各有功能侧重点。不过最终这四款能脱颖而出,重要是知足了以下两个基本功能:

1)  支撑H264编码体例,支撑MP3或者AAC编码。H.264是视频编码体例,而MP3

与AAC是音频编码体例。

H264:又称AVC(高级视频编码)LED灯笼,是当前首选的编码标准。

MP3:是音频编码标准,大家都认识,不多说。

AAC:即高级音频编码,比MP3音质还好,是做直播的首选,它有AAC-LC与HE-AAC两个

档次,AAC-LC是地复杂度的AAC,兼容性好,HE-AAC是高效能AAC,压缩度高,音质与

AAC-LC相称。


2)  支撑RTMP推流。

RTMP:是实时新闻协议的简称,是由Adobe公司开发,虽然没有变成国际标准,但它是实

际上的工业标准,无论哪个公司,只要做直播,就得用它,当今的手机直播APP推流所用

的协议都是RTMP协议。

四款免费推流软件分别为:

1.       Adobe Flash Media Encoder

2.       Open Broadcaster Software

3.       800Li Education Podcast

4.       iAVcast

1)Flash Media Live Encoder 3.2

由闻名的Adobe公司出品,值得相信,Adobe好长时间已经制止更新了,时代比较久远了,但依旧不失为一个好用的编码器软件

2)Open Broadcaster Software

开源并且免费的直播软件,是当前特别很是流行的直播软件北京人事考试,许多游戏直播就采用它,例如斗鱼直播。

3)800Li Education Podcast

免费的抓桌面直播和录屏软件。不可多得的免费的直播编码软件。有画中画功能及画笔标注功能,对于目前在线教育直播不失为一个好的选择。 小巧、好用。免费但不开源。

4)iAVCast(串流直播)

国内串流直播团队开发的免费直播软件,免费但不开源。

做直播除了必要直播编码推流软件之外,流媒体服务器体系必不可少。 笔者简单列一下可以使用的直播体系,选择开源的实时直播软件可以考虑Red 5, 选择国外大品牌的可以考虑Adobe Media Server, 选择有flash P2P功能的可以选择800Li Media Server。



TAG标签耗时:0.011981964111328 秒