欢迎光临
我们一直在努力

一个直播源码搭建教程,教你如何完成一个完整的直播

网上关于视频直播的资料还是挺多的,看了一些文章,自己也动手实践了下,写了这个直播源码搭建教程。主要有三个步骤:(1)Nginxrtmp服务器搭建(2)视频录制推流器 (3)拉流器(播放器),有了这些就可以开始简单视频相关的直播了。对于延时什么的,还需要深入去研究 ,以及如何进行视频开发等后续再深入研究直播源码搭建教程。

Nginx-RTMP服务器搭建
参考:利用nginx搭建RTMP视频点播、直播、HLS服务器

GitHub nginx-rtmp-module 参考地址

Nginx点播设置:

worker_processes 1; events { worker_connections 1024; } ##################RTMP服务################# rtmp { server { listen 1935; #//服务端口 chunk_size 4096; #//数据传输块的大小 application video { play /usr/local/data/video; #//视频文件存放位置,访问方式rtmp://localhost:1935/video #如视频路径存有视频welcome.mp4访问路径即为rtmp://localhost:1935/video/welcome.mp4 } } } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 80; server_name localhost; location / { root html; index index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } }

Nginx直播配置:

worker_processes 1; events { worker_connections 1024; } ##################RTMP服务################# rtmp { server { listen 1935; chunk_size 4096; application video { play /usr/local/data/video; } application live{ #第一处添加的直播字段 live on; } } } ####启动浏览器查看http://localhost:80/stat 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/nginx-rtmp-module/; } location / { root html; index index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } }

Nginx直播回放配置:

worker_processes 1; events { worker_connections 1024; } ##################RTMP服务################# rtmp { server { listen 1935; chunk_size 4096; application video { play /usr/local/data/video; } application live { live on;#直播模式 hls on; #这个参数把直播服务器改造成实时回放服务器。 wait_key on; #对视频切片进行保护,这样就不会产生马赛克了。 hls_path /usr/local/data/hls; #切片视频文件存放位置。 hls_fragment 10s; #每个视频切片的时长。 hls_playlist_length 60s; #总共可以回看的事件,这里设置的是1分钟。 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 { rtmp_stat all; rtmp_stat_stylesheet stat.xsl; } location /stat.xsl { root /usr/local/nginx/nginx-rtmp-module/; } location /live { #这里也是需要添加的字段。 types { application/vnd.apple.mpegurl m3u8; video/mp2t ts; } alias /opt/video/hls; expires -1; add_header Cache-Control no-cache; } location / { root html; index index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } }

OBS录制推流

设置步骤:

1、添加场景

2、添加来源:显示器获取 、音频获取等等

3、设置RTMP的服务器路径,并设置流名称

一个直播源码搭建教程,教你如何完成一个完整的直播

4、开始录制、开始推流

5、验证是否直播成功,打开浏览器http://172.16.20.10:1990/stat,看到如下界面表示直播正常。

一个直播源码搭建教程,教你如何完成一个完整的直播

VLC视频流播放

参考:RTMP、RTSP、HTTP视频协议详解VLC下载网上一搜就有了。

只需要设置播放流地址就可以验证前面配置的直播地址了:

一个直播源码搭建教程,教你如何完成一个完整的直播

直播中:

一个直播源码搭建教程,教你如何完成一个完整的直播

今天的直播源码搭建教程到这里就结束了,有问题的欢迎来问

声明:本文由云豹科技转发自boonya博客,如有侵权请联系作者删除

  • 海报
海报图正在生成中...
赞(0) 打赏
声明:
1、本博客不从事任何主机及服务器租赁业务,不参与任何交易,也绝非中介。博客内容仅记录博主个人感兴趣的服务器测评结果及一些服务器相关的优惠活动,信息均摘自网络或来自服务商主动提供;所以对本博客提及的内容不作直接、间接、法定、约定的保证,博客内容也不具备任何参考价值及引导作用,访问者需自行甄别。
2、访问本博客请务必遵守有关互联网的相关法律、规定与规则;不能利用本博客所提及的内容从事任何违法、违规操作;否则造成的一切后果由访问者自行承担。
3、未成年人及不能独立承担法律责任的个人及群体请勿访问本博客。
4、一旦您访问本博客,即表示您已经知晓并接受了以上声明通告。
文章名称:《一个直播源码搭建教程,教你如何完成一个完整的直播》
文章链接:https://www.456zj.com/25942.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址