首页 > 其他分享 >SRS实现网页和手机端简单直播

SRS实现网页和手机端简单直播

时间:2024-02-05 15:44:06浏览次数:20  
标签:网页 srs SRS 直播 服务器 docker 推流

一.SRS简介

SRS官方网站:https://github.com/ossrs/srs/wiki/v3_CN_Homehttps://ossrs.net/lts/zh-cn/

SRS是一个开源的(MIT协议)简单高效的实时视频服务器,支持RTMP、WebRTC、HLS、HTTP-FLV、SRT、MPEG-DASH和GB28181等协议。 SRS媒体服务器和FFmpegOBSVLC、 WebRTC等客户端配合使用,提供流的接收和分发的能力,是一个典型的发布 (推流)和订阅(播放)服务器模型。 SRS支持互联网广泛应用的音视频协议转换,比如可以将RTMPSRT, 转成HLSHTTP-FLVWebRTC等协议。

那什么是直播?其实一个简单的直播就是一个人去推流,许多人拉流形成一个直播间。

简介不做过多叙述,直接开整。


 二.SRS部署

SRS主要运行在Linux系统上,如果想要在本地windows上运行,需要使用docker,具体操作在srs文档。

①本地windows

安装完docker后,先用Docker启动SRS:

docker run --rm -it -p 1935:1935 -p 1985:1985 -p 8080:8080 registry.cn-hangzhou.aliyuncs.com/ossrs/srs:5

启动完成,打开http://localhost:8080, 可以查看SRS控制台和播放器

②云服务器

在云服务器中,可以选择docker或者直接安装配置SRS,我的是腾讯云,下载了宝塔面板

1.使用docker

具体请看:在宝塔面板下快速搭建SRS视频服务(支持RTMP/WebRTC/HLS/HTTP-FLV/SRT)

2.直接安装

具体请看:LInux搭建srs视频直播服务器

注意:在云服务器中,一定要将1935、1985、8080端口开放,宝塔和腾讯云都要开放端口,我之前调试只在宝塔开放了端口,结果一直connect失败。

③Android端

1.在android端调用yaesa库进行摄像头采集、编码,随后向srs服务器rtmp推流

2.在服务器端部署srs流媒体服务器

3.在android端调用vitamio实现取流播放

具体实现:参考大佬过程代码

Android实现直播的博文和流程(全过程,超详细/附源码)


 三.推拉流

①FFmpeg推流视频或者摄像头麦克风

推流视频:

ffmpeg -re -i ./doc/source.flv -c copy -f flv rtmp://localhost/live/livestream

推流摄像头麦克风:需要先查出电脑的设备

ffmpeg -list_devices true -f dshow -i dummy

使用上述设备进行推流,命令如下

ffmpeg -f dshow -i video="USB2.0 PC CAMERA":audio="麦克风 (USB2.0 MIC)" -vcodec libx264 -acodec aac -f flv rtmp://localhost/live/livestream

只推流摄像头:

ffmpeg -f dshow -i video="USB2.0 PC CAMERA" -vcodec libx264 -f flv rtmp://localhost/live/livestream

②OBS推流

1.安装OBS Studio

2.点击设置

3.选择直播自定义,填写推流地址

4.将我的桌面进行推流

 ③前端拉流

网上有很多视频播放器,这里可以从Aliplayer的在线配置获取: 阿里云Aliplayer播放器 视频类型选直播,复制其中的代码

新建html,并把代码粘进去,其中source可以填写在srs播放器里的地址

④实现结果

在网页端实现直播

在手机端观看直播:

在手机端发起直播:

 网页端查看

 

 

 

 

 

以上就是我的学习与实现,SRS还有许多功能,目前还在不断学习。

如有问题,可以与我交流。

标签:网页,srs,SRS,直播,服务器,docker,推流
From: https://www.cnblogs.com/yuxuan-light-of-Taihu-Lake/p/18007699

相关文章

  • 网页读取本地文件
    来自【文心一言】FileReader是WebAPI的一部分,它提供了一种异步方式来读取存储在用户计算机上的文件。<html><inputtype="file"id="fileInput"/><buttononclick="readFile()">读取文件</button><pid="content"></p>......
  • 实战经验分享:开发直播带货商城APP的技术心得
    近期,小编有幸参与了一项直播带货商城APP的开发项目,积累了丰富的技术经验。在这篇文章中,我将分享一些在开发过程中学到的技术心得,希望对同行和对这一领域感兴趣的开发者有所启发。一、项目概述直播带货商城APP的开发并非易事,需要综合考虑直播功能、商品展示、支付系统、用户体验等多......
  • 利用Jquery Lazyload JS插件实现网页图片延迟加载
    JqueryLazyload是一款网页图片延迟加载JS插件,本文介绍该JS的使用方法。最新的jquerylazyload可以单独使用(即不依赖jquery),本文介绍的是依赖jquery的使用及配置方法。Github项目地址:https://github.com/tuupola/lazyload本文使用的是1.9.7版本(实际与1.9.6版本一致)首先需要引用......
  • Microsoft 365 无法进入网页版outlook--循环重定向问题
    最近有个Microsoft365客户遇到管理员账户无法进入网页版outlook的问题,在登录Microsoft365网页版outlook时,输入完用户名和密码之后,网页不断的重复跳转,无法进入到网页版邮箱。多次跳转之后报错如下图经检查发现导致该问题的原因是该账户被分配了过多的角色。如果为用户分配了过多的......
  • srs(state thread)如何实现协程切换
    417行的宏执行协程A上下文的保存419行_st_vp_schedule在RUNQ中找到一个待执行协程B,恢复协程B的上下文,切换到该协程B执行.协程B执行到io阻塞或者sleep事件,就会重新把协程B缓存起来,并寻找一个待执行协程(假设这里就AB两个协程),恢复协程A的上下文继续执行.完成协程切......
  • 下载网页视频并自动合成视频m38u ts
    下载网页视频并自动合成视频(本人博客已迁移至 https://nasdaqgodzilla.github.io/)1.首先使用Chrome打开网页,单击F12打开开发者工具开始视频播放,在F12出来的界面中单击Network在Network中有文件列表,检查当中是否存在m3u8结尾的文件2.如果有m3u8结尾的文件,把它的源......
  • 【专题】2023年直播、短视频行业报告汇总PDF合集分享(附原数据表)
    原文链接:https://tecdat.cn/?p=35077原文出处:拓端数据部落公众号中国直播电商行业正在经历蓬勃发展的时期,各大互联网平台之间的竞争日益激烈,而直播电商已成为品牌营销的常态。随着直播电商的崛起,对品牌提供了全新的产品营销和特惠促销渠道,同时也作为新产品生产和推广的媒体发布......
  • C# - 使用 Spire.PDF 将HTML网页、网页内容、HTML字符串转换为PDF
    将HTML转换为PDF可实现格式保留、可靠打印、文档归档等多种用途,满足不同领域和情境下的需求。本文将通过以下两个示例,演示如何使用第三方库Spire.PDFfor.NET和QT插件在C#中将Html网页(URL)或HTML字符串转为PDF文件。 HTML转PDF所需工具:1.Spire.PDFfor.NET首先需要安装S......
  • C# - 将HTML网页、HTML字符串转换为PDF
    将HTML转换为PDF可实现格式保留、可靠打印、文档归档等多种用途,满足不同领域和情境下的需求。本文将通过以下两个示例,演示如何使用第三方库Spire.PDFfor.NET和QT插件在C#中将Html网页(URL)或HTML字符串转为PDF文件。 HTML转PDF所需工具:1.Spire.PDFfor.NET首先需要安装Sp......
  • 前端必学-40个精选案例实战-案例2-前端必备技能-PS网页切图
    5大图片类型,在网页中的展示方式图片种类图片一般情况下分为两类,一类为像素图,一类为矢量图像素图是由一颗颗像素点组成,如果放大看,会看到像素点矢量图一般是由软件生成,如果放大看,不会产生像素点PS新建保存新建快捷键为Ctrl加n,或者使用菜单功能另存为ctrl(command)加s,或者使......