推荐设备MORE

网页制作代码大全—跨境自建

网页制作代码大全—跨境自建

疑难问题

智能手刺小程序-搭建一个点播跟直播流媒体服务

日期:2021-04-18
我要分享
--------

智能手刺小程序

-------

如今抖音、快手等直播间确实是太火了,因而对音视頻的开发设计十分感兴趣爱好,查阅了有关材料,应用Nginx构建一个简易的直播间跟点播流新闻媒体服务器,可以即时推流到服务器,同时在网页页面端播发直播间的视頻。

​ 应用OBS手机软件录制电脑上桌面上实际操作推流到自身构建的流新闻媒体服务器,随后在网页页面拉流播发。自然还可以收集摄像头、麦克风推流,或消息推送当地视頻到流新闻媒体服务器。

Ubuntu18.04安裝nginx-flv控制模块拓展

这里我是用虚似机安裝了Ubuntu18.04先免费下载nginx1.19.3的源代码与nginx-http-flv-module的源代码。

wget winshining/nginx-http-flv-module/archive/master.zip
wget download/nginx-1.19.3.tar.gz tar -zxvf nginx-1.19.3.tar.gz

解压免费下载的个源代码开展编译程序,这样一个Nginx构建的流新闻媒体服务器就行了。

 cd nginx-1.19.3 #进到nginx源代码文件目录
 ./configure --add-module=../nginx-http-flv-module-master
 vim objs/Makefile #删掉-Werror
 make
 make install
开展点播与直播间配备

​ 上面早已安裝好了nginx,编写/usr/local/nginx/conf/nginx.conf开展有关配备。这里立即贴出详细的配备。在其中rtmp为开启rtmp服务作用,而且以便可以在网页页面端播发开启了hls。推流的rmtp流会变换成hls协议书的ts切成片,储存在服务器上,nginx配备了location让网页页面可以浏览切好的hls切成片。

​ 这里解释下rtmp是adobe的独享协议书,务必应用flash播发。hls是iPhone开发设计的视頻传送协议书应用http开展传送。ios跟android支撑点的都很好,一般开展混合开发直播间应用hls协议书比较普遍。

#user nobody;
worker_processes 1;
events {
 worker_connections 1024;
rtmp { #RTMP服务
 server {
 listen 1935; #//服务端口号
 chunk_size 4096; #//数据信息传送块的尺寸

hls on; #把直播间服务器更新改造成即时回发服务器,视頻切成片成ts wait_key on; #对视頻切成片开展维护 hls_path /opt/video/rtmp/hls; #ts切成片储放部位 hls_fragment 10s; #切成片尺寸 hls_playlist_length 60s; #回看的時间 hls_continuous on; #持续方式 hls_cleanup on; #对过剩切成片开展删掉 hls_nested on; #嵌套循环方式 http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 80; server_name localhost; location /stat { #第二处加上的location字段。 rtmp_stat all; rtmp_stat_stylesheet stat.xsl; location /stat.xsl { #第二处加上的location字段。 root /usr/local/nginx-http-flv-module/; location /hls { types { application/vnd.apple.mpegurl m3u8; video/mp2t ts; alias /opt/video/rtmp/hls; add_header Cache-Control no-cache; add_header Access-Control-Allow-Origin *; location / { root html; index.htm;

应用obs推流消息推送到rtmp://192.168.227.128/live串流密匙随意填写便可。

​ h5网页页面端选用video.js开展播发直播间流视頻,这里的播发的详细地址是切好片的m3u8文档详细地址,m3u8储放了每个小切成片的详细地址。

 body 
 video id=example-video width=600 height=300 controls 
 source
 src="hls/test/index.m3u8"
 type="application/x-mpegURL" 
 /video 
 link href="///7.8.2/video-js.min.css" rel="stylesheet" 
 script src="///7.8.2/video.min.js" /script 
 script src="videojs-contrib-hls.min.js" /script 
 script src="browse/@videojs/http-.3/dist/videojs-http-streaming.min.js" /script 
 script 
 var player = videojs('example-video');
 player.play();
 /script 
 /body 

​ 上面的nginx配备还配备了当地视頻文档点播配备,把视頻文档放在/opt/video/vod部位,应用vlc填写rtmp://192.168.227.128/vod/qlgame.mp4开展播发便可。

以上构建只是检测学习培训应用,具体音视頻开发设计涉及到收集、编号、推流、传送、拉流、解码等等全过程,每个全过程都设计方案很多专业知识。后边音视頻开发设计学习培训笔记,等我攒了一些笔记传出来相互之间学习培训。

---------

智能手刺小程序

------------