SRS开启FLV播放
文章目录
- 一、背景
- 二、下载安装包
- 三、开始安装
- 四、调试
- 五、FLV播放器
- 六、参考链接
一、背景
Flash不再受支持,原有网站中播放器影响使用;
二、下载安装包
1、下载SRS源码包(Github地址:https://github.com/ossrs/srs#usage)
(1)按照Github提到的方式,使用Git命令下载;
git clone https://gitee.com/winlinvip/srs.oschina.git srs && cd srs/trunk && git remote set-url origin https://github.com/ossrs/srs.git && git pull
(2)第一种方式可能受网络影响比较慢,所以可以通过下载工具,直接将源码包下载到本地后,传输至Linux服务器中;
2、FFmpeg(官网地址:https://ffmpeg.org/)
三、开始安装
1、将下载好的安装包放至/usr/local/download目录下
2、安装SRS
# cd /usr/local/download
# unzip -d /usr/local srs-3.0release.zip && mv /usr/local/srs-3.0release /usr/local/srs
# cd /usr/local/srs && ./configure && make
3、安装FFmpeg
# cd /usr/local/download
# bzip2 -d ffmpeg-snapshot.tar.bz2
# tar xvf ffmpeg-snapshot.tar
# ./configure --prefix=/usr/local/srs/trunk/objs/ffmpeg --bindir=/usr/local/srs /trunk/objs/ffmpeg/bin --disable-x86asm
# make && make install
四、调试
1、配置文件说明
# 打开SRS提供的配置文件http.flv.live.conf并修改
# vim /usr/local/srs/conf/http.flv.live.conf内容如下:
# the config for srs to remux rtmp to flv live stream.
# @see https://github.com/ossrs/srs/wiki/v2_CN_DeliveryHttpStream
# @see full.conf for detail config.listen 1935; //RTMP监听端口
max_connections 1000; //最大连接数
daemon on; //是否以守护进程方式启动
http_server { //nginx服务 enabled on; //on为启用listen 8080; //监听端口dir ./objs/nginx/html; //nginx主页地址,服务启动成功后可以通过访问http://ip:port/nginx.html,页面会显示“Nginx is OK.”
}http_api { //用于监控推流情况的地址,如果推流成功,访问:http://ip:port/apiv1/strames/,会有直播信息“{"code":0,"server":"vid-8165-380","streams":[{"id":"vid-8168-265","name":"777","vhost":"vid-8166-234","app":"live","live_ms":1611812442916,"clients":1,"frames":1028,"send_bytes":3987,"recv_bytes":11772727,"kbps":{"recv_30s":2572,"send_30s":1},"publish":{"active":true,"cid":"407"},"video":{"codec":"H264","profile":"High","level":"3.1","width":720,"height":576},"audio":{"codec":"AAC","sample_rate":44100,"channel":2,"profile":"LC"}}]}”enabled on; //是否启用listen 1985; //监听的端口crossdomain on; //貌似为是否可以跨域的开关
}vhost __defaultVhost__ { //启用HTTP LIVE STREAMING虚拟主机服务http_remux {enabled on; //是否启用mount [vhost]/[app]/[stream].flv;//[vhost] 当前http live stream 的虚拟主机,该变量为可选项//[app] 当前http live stream的app//[stream] 当前http live stream的流//通过设置不同后缀来实现不同输出不同视频流,可以为:.flv、.ts、.mp3、.aac//播放地址为:http://ip:port/live/livestream.flv,注:此处端口为http_server中设置的端口}
}
2、将SRS注册为服务并设置开机自启
# 新版的SRS已经为我们做好了启动的脚本,通过注册systemd服务即可
# ln -sf /usr/local/srs/etc/init.d/srs /etc/init.d/srs //将启动文件复制到系统中,注默认该文件中的路径为相对路径,启动会报错,故修改如下:
ROOT="/usr/local/srs"
APP="/usr/local/srs/objs/srs"
CONFIG="/usr/local/srs/conf/http.flv.live.conf"
DEFAULT_PID_FILE='/usr/local/srs/objs/srs.pid'
DEFAULT_LOG_FILE='/usr/local/srs/objs/srs.log'# cp -f /usr/local/srs/usr/lib/systemd/system/srs.service /usr/lib/systemd/system/srs.service //将注册服务的配置文件复制到系统中
# systemctl deamon-reload //加载新注册的服务
# systemctl start srs //启动服务
3、推流测试
推流可以使用FFmpeg或者OBS,这里选择使用OBS
(1)在OBS来源中,添加VLC视频源
(2)新建 --> 添加路径/URL
视频源可以从“https://zhuanlan.zhihu.com/p/187338996”这个网址中找到。
(3)设置OBS推流地址(刚部署SRS服务器的IP地址),完成后点击“开始推流”
4、使用VLC进行播放测试
(1)RTMP地址:rtmp://ip:1935/live/777
(2)FLV地址:http://ip:8080/live/777.flv
如果能看到画面说明上述操作没有问题
五、FLV播放器
1、Bilibili开源的FLV播放器地址:https://github.com/bilibili/flv.js;大家按照Github中方式部署即可
2、跨域问题
如果播放器与推流服务器不在同一台机器上,会出现跨域问题,目前有两种解决方式:
(1)修改SRS源码,增加允许跨域的参数,然后编译安装;
# cd srs/trunk
# vi src/app/srs_app_http_stream.cpp
在w->header()->set_content_type(“video/x-flv”);下一行添加代码
w->header()->set(“Access-Control-Allow-Origin”,"*");
(2)在推流服务器中架设Nginx服务,在Nginx服务上开启跨域参数(建议);
location /srs/ {
proxy_pass http://10.2.*.*:8080/;
add_header Cache-Control no-cache;
add_header Access-Control-Allow-Origin *;
}
六、参考链接
【1】https://blog.csdn.net/NBA_1/article/details/89316677
【2】https://www.cnblogs.com/yjmyzz/p/srs_study_2_hls_rtmp_httpflv_and_cross-domain.html
SRS开启FLV播放相关推荐
- 网页端搭建视频流实时播放平台/直播平台(FFmpeg+SRS+http-flv+flv.js+h5)
搭建视频流实时播放平台/直播平台(FFmpeg+SRS+http-flv+flv.js+h5) 基于网页端搭建视频流的实时播放,也可以应用到直播平台,原理一致 以下操作都是基于ubuntu18.04, ...
- vue flv播放器报错Cannot read property ‘addEventListener‘ of null
业务场景:flv播放器,有创建dom和删除dom的操作,导致报错Cannot read property 'addEventListener' of null 原因是在动态切换播放链接时,flv组件是 ...
- [转]linux下fms2流媒体服务器搭建之五-----flv播放器制作篇
很多人也许苦于找不到一个稍微简单而又完整的flv播放器,我刚开始也找了很久找不到,后来干脆叫朋友帮忙做了个界面,然后自己添加代码做了个,感觉还可以,这里我不敢独享,把源码公开给各位参考一下. 要做fl ...
- [转]linux下的fms2流媒体服务器搭建六部曲之五-----flv播放器制作篇
很多人也许苦于找不到一个稍微简单而又完整的flv播放器,我刚开始也找了很久找不到,后来干脆叫朋友帮忙做了个界面,然后自己添加代码做了个,感觉还可以,这里我不敢独享,把源码公开给各位参考一下. 要做f ...
- FLV播放器 源码二例
方法一 制作步骤: 1.新建一个FLASH文档,设置舞台大小:300*260. 2.将组件MediaController和MediaDisplay拖入舞台,然后从舞台上删除.这样做的目的是将这两个组件 ...
- 解决win2003不支持FLV播放的方法
今天传FLV播放器和FLV文件的时候发现2003不是默认支持FLV文件的,直接打开MIME加了几次还是没有成功.google了一下才找到方法. 原因是由于windows server 2003上并没有 ...
- 在html页面插入flv播放器。ie火狐均可用
在html页面插入flv播放器.ie火狐均可用 <%@ page language="java" import="java.util.*" pageEnc ...
- 10大免费FLV播放器下载(转)
FLV流媒体格式因其数据传输速度快,已经成为了最主流的视频格式.本站之前介绍过很多下载FLV视频的工具(1, 2, 3, 4, 5, 6) 和转换视频的工具(1, 2, 3, 4, 5).视频下载以后 ...
- CKplayer 超酷Flv播放器演示
原文:CKplayer 超酷Flv播放器演示 源代码下载地址:http://www.zuidaima.com/share/1550463717100544.htm 在线视频播放,支持.mp4格式
- 在线FLV播放器实现
者主页: http://www.jeroenwijering.com/?item=Flash_Video_Player http://www.cgfans.net/bbs/Medias/2007/10 ...
最新文章
- matlab title多个标题_Matlab画图,只需要这几步
- oracle将多行转成多列,oracle 多行转多列查询
- Windows安全软件长臂管辖的折中方案?
- 独角兽之名:解读华云数据背后智慧商业谋略
- hdu 携程全球数据中心建设 (球面距离 + 最小生成树)
- winpython使用教程-winpython是什么
- 初步了解WPF依赖属性
- Linux学习记录-文件、目录与磁盘
- 图Graph--拓扑排序(Topological Sorting)
- 数据库连接池问题[转]
- Atom : 一些有意思的插件
- 对一个“老”架构的重新思考
- 厦门大学847信号与系统考研参考书目
- 语音信号处理(二):矩形窗和汉明窗时域波形和频域波形
- t-SNE 高维数据可视化
- 象棋人工智能算法的C++实现(五)——人机博弈的高阶算法
- mysql存储登录_MYSQL存储过程实现用户登录
- IOS 自定义软键盘功能,修改换行键为发送键
- 基于AM5728 DSP+ARM阵列麦克风解决方案
- C++ Primer Plus(学习笔记之——一会儿指南、一会儿指北)
热门文章
- 美国计算机访学,计算机应用专业4天喜获美国加州大学洛杉矶分校访问学者职位...
- HTML文档属于哪种数据结构,三种常见的数据结构
- Python之xlsx文件转csv文件
- 西数服务器硬盘300G,特立独行 西数300G万转猛禽硬盘欣赏
- 2021年3月31最新论文(计算机视觉,图像分割,图像识别,图像分类)
- 在Android开发中遇到的MediaPlayer问题
- 一文看清Libra全景(超长22000字,慎点)
- matlab fft 作图,Matlab绘图示例
- 从零读懂CAN总线(上)
- android手机连不上wifi密码,修改wifi密码后手机连不上_修改wifi密码后手机不能上网-192路由网...