收费图片网站,手机怎么制作网站,广州网站建设方案优化,wordpress自定义模板文章目录 学习链接步骤使用nginx搭建直播推流服务安装依赖库下载nginx-http-flv-module模块下载nginx解压nginx#xff0c;进入nginx目录设置nginx编译配置编译并安装配置nginx rtmp服务启动nginx 准备另外一台电脑下载OBS下载OBS windows | linux 安装vlc观看直播flv协议hls协… 文章目录 学习链接步骤使用nginx搭建直播推流服务安装依赖库下载nginx-http-flv-module模块下载nginx解压nginx进入nginx目录设置nginx编译配置编译并安装配置nginx rtmp服务启动nginx 准备另外一台电脑下载OBS下载OBS windows | linux 安装vlc观看直播flv协议hls协议使用ffmpeg命令行推流 学习链接
Linux系统使用Nginx搭建直播服务 | ffmpeg直播推流 | OBS直播 - B站视频
zzhua/live gitee代码包括linux和windows版本nginx配置文件nginx源码安装包和nginx-http-flv-module源码模块
Windows搭建Nginx直播推流服务器
全栈开发——动手打造属于自己的直播间VueSpringBootNginx
步骤
1、nginx配置添加nginx-http-flv-module模块并配置rtmp服务
2、nginx的rtmp服务配置flv应用开启live 3、开启obs设置推流地址 rtmp://192.168.134.3:8002/flv推流码 test 4、vlc可以打开网络串流 rtmp://192.168.134.3:8002/flv/test 5、nginx的监听80端口的server服务配置live开启flv_live 6、web页面引入flv.js可以使用 http://192.168.134.3/live?port8002appflvstreamtest 适合直播
也可以使用ffmpeg将本地桌面或本地视频流推送到rtmp://192.168.134.3:8002/flv/test使用上述方式播放
7、nginx的rtmp服务配置flv应用开启live开启hls设置hls_path路径 8、开启obs设置推流地址 rtmp://192.168.134.3:8002/hls推流码 test开启后会在hls_path路径下生成test.m3u8文件和xxx.ts文件 9、vlc可以打开网络串流 rtmp://192.168.134.3:8002/hls/test 10、nginx的监听80端口的server服务配置location为/hls访问路径指到hls_path路径 11、web页面引入videojs可以使用 http://192.168.134.3/hls/test.m3u8 播放m3u8视频适合点播 也可以使用ffmpeg将本地桌面或本地视频流推送到rtmp://192.168.134.3:8002/hls/test使用上述方式播放
使用nginx搭建直播推流服务
安装依赖库
sudo apt-get update
sudo apt-get install build-essential libpcre3-dev zlib1g-dev libssl-dev下载nginx-http-flv-module模块
https://github.com/winshining/nginx-http-flv-module 在github中选择master分支下载nginx-http-flv-module模块源码下载完解压后修改文件夹名称为【nginx-http-flv-module】
sudo wget -O /usr/local/nginx-http-flv-module.zip https://github.com/winshining/nginx-http-flv-module/archive/refs/heads/master.zip下载nginx
sudo wget -P /usr/local https://nginx.org/download/nginx-1.24.0.tar.gz解压nginx进入nginx目录
tar -zxvf nginx-1.24.0.tar.gz
cd ./nginx-1.24.0设置nginx编译配置
./configure \--with-http_ssl_module \--with-stream \--with-stream_ssl_module \--add-module/usr/local/nginx-http-flv-module编译并安装
make make install配置nginx rtmp服务
# nginx.config 中追加配置rtmp与http配置同级
user root;
rtmp {server {listen 8002;chunk_size 4000;application flv {live on;#allow publish 127.0.0.1;allow play all;gop_cache on;}application hls {live on;hls on;hls_path /home/winter/html/hls; }}
}http {include mime.types;default_type application/octet-stream;sendfile off;server_names_hash_bucket_size 128;client_body_timeout 10;client_header_timeout 10;keepalive_timeout 30;send_timeout 10;keepalive_requests 10;server {listen 80;server_name localhost;add_header Access-Control-Allow-Credentials true;add_header Access-Control-Allow-Origin *;add_header Access-Control-Allow-Methods GET, POST, PUT, DELETE, OPTIONS;add_header Access-Control-Allow-Headers DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization,tenantappid;if ($request_method OPTIONS) {return 200;}location /live {flv_live on; chunked_transfer_encoding on;}location /hls {root /home/winter/html;index index.html index.htm;}error_page 500 502 503 504 /50x.html;location /50x.html {root html;}}
}启动nginx
# 检查配置
/usr/local/nginx/sbin/nginx -t
# 启动
/usr/local/nginx/sbin/nginx
# 停止
/usr/local/nginx/sbin/nginx -s stop
# 重启
/usr/local/nginx/sbin/nginx -s reload准备另外一台电脑下载OBS
下载OBS
官方的下载地址很慢推荐到清华大学镜像下载https://mirrors.tuna.tsinghua.edu.cn/github-release/obsproject/obs-studio/
windows | linux 安装vlc观看直播
sudo apt install vlc -yflv协议
打开OBS设置直播菜单服务自定义服务器rtmp://192.168.1.8:8002/flvip地址替换为nginx服务所在的ip密钥test开始直播打开vlc左上角菜单媒体选择【打开网络串流】菜单输入 rtmp://192.168.1.8:8002/flv/test 观看直播创建一个html文件观看直播
!DOCTYPE html
html langen
headmeta charsetUTF-8titleDemo/title!-- https://bilibili.github.io/flv.js/ --script srchttps://cdn.bootcdn.net/ajax/libs/flv.js/1.6.2/flv.min.js/scriptstylebody {margin: 0;}#video {width: 100%;height: 100vh;}/style
/head
body
video idvideo src muted autoplayfalse controls/video
scriptconst videoElement document.getElementById(video);const flvPlayer flvjs.createPlayer({type: flv,url: http://192.168.1.8/live?port8002appflvstreamtest});flvPlayer.attachMediaElement(videoElement);flvPlayer.load();flvPlayer.play();
/script
/body
/htmlhls协议
打开OBS设置直播菜单服务自定义服务器rtmp://192.168.1.8:8002/hlsip地址替换为nginx服务所在的ip密钥test开始直播打开vlc左上角菜单媒体选择【打开网络串流】菜单输入 rtmp://192.168.1.8:8002/hls/test 观看直播创建一个html文件观看直播
!DOCTYPE html
html langen
headmeta charsetUTF-8titleDemo/title!-- 文档地址 https://videojs.com/getting-started --link hrefhttps://cdn.bootcdn.net/ajax/libs/video.js/7.7.1/video-js.min.css relstylesheetscript srchttps://cdn.bootcdn.net/ajax/libs/video.js/7.7.1/video.min.js/scriptstylebody {margin: 0;}.video-js .vjs-big-play-button {top: 50%;margin-top: -45px;left: 50%;margin-left: -44px;}#video {width: 100%;height: 100vh;}/style
/head
body
video idvideo classvideo-js vjs-default-skin src muted autoplayfalse controls/video
scriptconst playerOptions {playbackRates: [0.7, 1.0, 1.5, 2.0],autoplay: false, // 如果true,浏览器准备好时开始回放。muted: true, // 默认情况下将会消除任何音频。loop: false,preload: false, // 建议浏览器在video加载元素后是否应该开始下载视频数据。auto浏览器选择最佳行为,立即开始加载视频如果浏览器支持notSupportedMessage: 此视频暂无法播放请稍后再试, // 允许覆盖Video.js无法播放媒体源时显示的默认信息。poster: ,sources: [{type: application/x-mpegURL,src: http://192.168.1.8/hls/test.m3u8 //视频流地址}],}const videoDom document.querySelector(#video)let $player videojs(videoDom, playerOptions, function onPlayerReady() {console.log(播放器已经准备好了!)this.on(loadstart, function () {console.log(loadstart------------)})this.on(loadedmetadata, function () {console.log(loadedmetadata---视频源数据加载完成----)})this.on(loadeddata, function () {console.log(loadeddata---渲染播放画面----); //autoPlay必须为false// $player.play()})})
/script
/body
/html使用ffmpeg命令行推流
# 查看本地的音视频硬件
D:\myapp\ffmpeg\bin\ffmpeg.exe -list_devices true -f dshow -i dummy
# 推送视频
D:\myapp\ffmpeg\bin\ffmpeg.exe -i C:\Users\Mr_Li\Desktop\1.mp4 -vcodec libx264 -acodec aac -f flv rtmp://192.168.1.8:8002/flv/test
# 推送摄像头、音频
D:\myapp\ffmpeg\bin\ffmpeg.exe -f dshow -i audio麦克风阵列 (适用于数字麦克风的英特尔® 智音技术) -thread_queue_size 1024 -f dshow -i videoIntegrated Camera -s 480x320 -vcodec libx264 -acodec aac -f flv rtmp://192.168.1.8:8002/flv/test
# 推送系统桌面
D:\myapp\ffmpeg\bin\ffmpeg.exe -f gdigrab -i desktop -vcodec libx264 -f flv rtmp://192.168.1.8:8002/flv/testffmpeg下载地址https://github.com/BtbN/FFmpeg-Builds/releases 选择【ffmpeg-n7.0-latest-win64-lgpl-7.0.zip】