当前位置: 首页> 教育> 培训 > 宿迁做网站公司_免费建立自己的网站代理_360免费建站_个人优秀网页设计

宿迁做网站公司_免费建立自己的网站代理_360免费建站_个人优秀网页设计

时间:2025/7/12 3:50:03来源:https://blog.csdn.net/Naylor_5/article/details/146522619 浏览次数:0次
宿迁做网站公司_免费建立自己的网站代理_360免费建站_个人优秀网页设计

概述

流媒体服务器作为直播画面的中转站,它接收推流端的相机画面,同时拉流端找它获取相机的画面。整个流程如下:

  • 在流媒体服务器上创建流媒体应用(app),一个流媒体服务器上面可以创建多个流媒体应用
  • 约定推拉流的地址。假设流媒体服务器工作在1935端口上面,假设创建的流媒体应用的唯一标识为 live01,那么我们可以约定推拉流地址为 rtmp://ip:1935/live01/{camera_id} ,其中camera_id 为唯一标识,用于区分每一个相机 。针对相机A的推拉流地址可以为:rtmp://ip:1935/live01/camera-A,同理针对相机B的推拉流地址可以为:rtmp://ip:1935/live01/camera-B
  • 推流端向 推拉流地址 推送直播流
  • 拉流端从 推拉流地址 拉取直播流播放

出于技术调研的目的,将使用OBS作为上述流程中的推流端;将使用Nginx作为上述流程中的流媒体服务器;将使用ffplay、VLC、flv.js作为上述流程中的拉流端。那么整个流程的落地实践就变成了:

在这里插入图片描述

  • 使用Nginx搭建流媒体服务器,需要基于源码编译 nginx-http-flv-module 模块
  • 在nginx.conf 中创建媒体应用,并做相应的配置,包括对hls(即m3u8)的支持,http-flv的支持
  • 约定推拉流的地址
  • OBS向推拉流地址推送流
  • ffplay拉取直播画面并播放,rtmp协议
  • VLC拉取直播画面并播放,rtmp协议、hls协议
  • 使用基于flv.js 的视频播放器播放直播画面,http协议

基于源码编译安装nginx-http-flv-module

参考之前写的:使用Nginx搭建流媒体服务器

创建流媒体应用

当安装好了 nginx-http-flv-module 之后,就可以创建流媒体应用了。

所谓的创建流媒体应用其实就是编写 nginx 的配置文件,如果需要创建一个名为live 的流媒体应用,那么可以在nginx.conf 中做如下配置:

# 以下内容放可在 nginx.conf 的最后,rtmp 配置块为顶级配置块
rtmp_auto_push on ;rtmp {server {listen 1935; #监听的端口notify_method get;chunk_size 4000;application live { #rtmp推流请求路径live on;# 添加 hls 支持hls on;hls_path /usr/local/nginx/html/hls;hls_fragment 3;hls_playlist_length 60;# 允许从任何源push 流allow publish  all ;# 允许从任何地方来播放流allow play all;# 20s内没有push,就断开连接drop_idle_publisher 20s ;}}
}
  • listen 1935:指定流媒体服务器的运行端口
  • live :为流媒体应用的应用的名称,也即流媒体应用的唯一标识
  • live on : 添加直播的支持
  • hls_path:指定生成的m3u8文件的位置

创建http-flv端点和hls端点

创建http-flv端点和hls端点的目的是让直播流可以在http协议上面传输直播画面。

若不创建,将仅可以使用rtmp协议拉流,即rtmp://ip:1935/live/stream_no;若创建了就可以使用hls或者flvjs来拉流播放了。

创建http-flv端点和hls端点同样是编辑nginx.conf来实现,如下示例配置:

http {......server {listen  82;server_name  rtmpserver;# 创建hls端点location /hls {add_header 'Access-Control-Allow-Origin' '*' ;add_
关键字:宿迁做网站公司_免费建立自己的网站代理_360免费建站_个人优秀网页设计

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: