参考链接:https://www.jianshu.com/p/94f42a793a7e

参考链接:https://blog.dreamtobe.cn/live_guideline/

所需软件  密码:oqxb

前言:使用MacOS直播需要依赖一些第三方的工具通过推流的方式进行直播,另外如何将手机投屏到电脑上也是一个问题,如何做到流畅,高清呢?

直播原理

各个直播平台,例如bilibili、斗鱼或者其他直播平台,都是支持通过开放一个rtmp提供rtmp地址与直播码来进行推流来实现直播的。

           

因此我们只需要用工具将视频流推送到直播平台提供的rtmp即可。

RTMP:

实时消息协议(英语:Real-Time Messaging Protocol,缩写RTMP)也称实时消息传输协议,是最初由Macromedia为通过互联网在Flash播放器与一个服务器之间传输流媒体音频、视频和数据而开发的一个专有协议。标准的未加密的协议,默认端口1935。一般包含 发布地址与流名称,业界已经有很多基于该协议的服务。

优势

  • 兼容性,由于其播放的客户端只需要Flash Player,使得99%的PC都可以直接在网页上直接查看
  • RTMP采用TCP作为传输层协议,避免在广域网传输过程中丢包对质量照成损失
  • 传输的FLV封装格式支持H.264视频编码,可以在很低码率下显示质量也能很不错

劣势

  • 由于基于TCP协议,实时性不如UDP,也因此占用宽带,目前基于UDP的RTMFP协议解决了这个问题
  • 依赖Flash Player,必须需要Flash Player

推流

OBS:

OBS是一个用于录制和进行网络直播的自由开源软件包。OBS使用C和C++语音编写,提供实时源和设备捕获、场景组成、编码、录制和广播。数据传输主要通过实时消息协议(RTMP)完成,可以发送到任何支持RTMP的目的地,包括YouTube、Twitch.tv、Instagram和Facebook等流媒体网站。

下载链接

直播看起来是实时的,实际上并不是,它的原理是通过软件将视频音频采集起来,并在另一个端播放出来,这中间可能会经过很多步骤,视频直播平台就是中间的步骤。
直播的两端(采集端,播放端)就是通过rtmp协议来传输数据的,其中采集端到播放端的数据传输,称为推流(push stream),就是把视频流数据推送到指定的地址。

直播准备工作

  • 直播工具软件: mac上软件叫弹幕库,它可以直连B站直播间,读取和播报弹幕信息,统计直播礼物等,是一个十分方便的工具。下载链接:http://bilibili.danmaku.live

                

  • 单独的音视频采集卡。电脑不具备音视频条件,或者直播内容需要比较灵活专业设备支持的(比如主机游戏直播),就需要单独的音视频采集卡了。

直播设置

  • 打开OBS Studio, 完成初始设置(后面可以更改)。然后根据引导,添加音频源,视频源,以及屏幕捕捉源,例如mac麦克风,mac前置摄像头,mac外接显示器。选择好后可以在场景窗口中预览采集效果,并实时调整画面位置和大小。
    •   视频捕捉设备: 可以设置的是前置摄像头
    •   音频输入捕获: 默认的麦克风/Aux输入,其实在混音器中就已经添加了,我这里其实添加的是我音乐播放器的输入,这边使用的是Sound Siphon,后面会提到
    •   显示捕获: 可以设置的电脑的主显示器
  • 打开弹幕库,登陆B站账号,添加直播间(只需要填写直播号,就是直播间网址最后那个id号),它会自动获取直播间信息。弹幕姬的应用模块里有弹幕视图(显示弹幕信息),工具栏(可以通过它发送弹幕),语音播报(播报实时弹幕)等等好用的模块。需要注意的是你点击模块按钮,模块界面弹出,模块按钮右上角蓝色方块亮起,就算启用了这个模块,点击蓝色方块关闭模块界面就停用了该模块。弹幕姬同时还提供了直播间数据统计和可视化的功能,十分方便实用。当然你在B站主页上也能找到B站官方提供的统计数据。
  • 在B站开启直播间,获取rtmp地址和密码。打开OBS设置,找到推流,填上地址和密码。然后退出到场景界面,在右边找到“开始推流”按钮,点击开始推流。(需要注意的是通常来说需要在直播网站上先点击开播)

开始推流后就可以在你的直播间查看直播效果了。需要停止直播只需在OBS中点击停止推流即可,B站检测到没有数据推送后会自动断开直播间。

手机投屏

方法一:

可使用很多软件进行手机投屏,其中包括AirDroid、Vysor等等,AirDroid存在的问题由于使用的是WIFI无线连接,所以不清晰并且卡顿,而Vysor不用说了,由于是付费的,最后我找到了一个更好的解决方案,免费、高清、流畅、灵活调节大小等等,完全符合需求。

这个工具就是用C写的开源的Scrcpy,其在Mac上的安装方法也十分简单,支持直接通过HomeBrew进行安装,具体可以参看官方的方法:

brew install scrcpy

安装完成后,直接在终端输入scrcpy便可以进行使用,各方面的调整(如比率等)也可以通过scrcpy --help获得教程

注:此处投屏的是安卓手机

方法二:

使用MacOS自带的app  quickTIme Player ,此时需要将手机通过数据线(充电线)连接到电脑上。

选择 文件->新建影片录制

点击小红点右边的箭头,选择iphone,音频选择iphon就能播放手机打开的应用的声音

方法三:

  • 下载AirServer软件(不需要连接数据线到电脑上)

              

  • 打开该软件
  • 之后用iPhone手机找到屏幕镜像

                

  • 选择要投屏的设备

                

  • 此时就可以投屏了

播放器的音频流

首先OBS支持添加不同的音频流入来进行混音,我们这边通过前面提到的Sound Siphon进行添加(其付费是需要49刀购买,免费可以试用14天),可以到官网下载试用。

下载完成后进行,安装后打开:

打开后,这边添加一个音频输入,选择你的播放器,已经这边对该音频输入进行命名(这边为了便于教程我就命名为(New Input)),然后大家在OBJ上的来源添加音频输入捕获,此时就会看到你刚刚添加的New Input音频输入源了,这个输入源就只包含播放器的音效。

至此,完毕。

使用MacOS直播的更多相关文章

  1. 【教程】OBS直播推流教程(Windows & macOS)

    OBS Open Broadcaster Software | OBS (obsproject.com) Windows直播推流教程 Windows下OBS直播推流非常简单,本教程将会介绍,具体步骤如 ...

  2. HTML5 直播协议之 WebSocket 和 MSE

    当前为了满足比较火热的移动 Web 端直播需求, 一系列的 HTML5 直播技术迅速的发展了起来. 常见的可用于 HTML5 的直播技术有 HLS, WebSocket 与 WebRTC. 今天我要向 ...

  3. 搭建HTTP Live Streaming直播系统

    最近,需要将苹果的HTTP Live Streaming系统搭建起来.完全没有头绪,故第一步就是学习. 一.学习资料 官网资料 1. http://developer.apple.com/resour ...

  4. 直播视频插件--sewise player

    直播视频插件 -- sewise player 2017-1-9 因为公司要开发一个关于购车直播的新项目,需要在页面引入直播视频,项目组之前都没有做过关于直播类型的项目,所以可以说是真的从各种资源中筛 ...

  5. 零基础如何一步一步开始搭建高性能直播平台?现以GitChat·架构来进行说明

    前言 现在直播已经成为移动互联网时代一个新的重要流量入口,从YY.斗鱼到花椒直播,直播已经成为人们分享交流的新方式,应用场景众多,主要分为: 金融类直播:金融直播可应用于实时解盘,在线专家讲座,专家在 ...

  6. 【阿里聚安全·安全周刊】阿里双11技术十二讲直播预约|AWS S3配置错误曝光NSA陆军机密文件

    关键词:阿里双11技术十二讲直播丨雪人计划丨亚马逊AWS S3配置错误丨2018威胁预测丨MacOS漏洞丨智能风控平台MTEE3丨黑客窃取<权利的游戏>剧本|Android 8.1   本 ...

  7. 直播-srs起步

    srs简介 https://github.com/ossrs/srs/wiki/v2_CN_Home     原料 CentOS Linux release 7.2.1511 (Core) ffmpe ...

  8. 极速搭建RTMP直播流服务器+webapp (vue) 简单实现直播效果

    在尝试使用webRTC实现webapp直播失败后,转移思路开始另外寻找可行的解决方案.在网页上尝试使用webRTC实现视频的直播与看直播,在谷歌浏览器以及safari浏览器上测试是可行的.但是基于基座 ...

  9. 基于obs+nginx-rtmp-module搭建自己直播的系统

    前言 一句唠叨,工欲善其事,必先利其器,在程序员的工作里,搭建各种环境往往花费过多不必要的时间,这里建议搭建服务端环境时,尽量避开win.macos这种系统,个人比较推崇centos. 操作 下面以c ...

随机推荐

  1. 2020年全新web前端学习路线图,学完就业20K!

    第一阶段:HTML5+css 配套学习视频: 前端小白零基础入门HTML5+CSS3 第二阶段:移动web网页开发 移动web进阶教程 第三阶段:JavaScript网页编程 前端与移动开发基础入门到 ...

  2. (私人收藏)2019WER积木教育机器人赛(普及赛)解决方案-(全套)获取能源核心

    2019WER积木教育机器人赛(普及赛)解决方案-(全套)获取能源核心 含地图,解决程序,详细规则,搭建方案EV3;乐高;机器人比赛;能力风暴;WER https://pan.baidu.com/s/ ...

  3. String类、static关键字、Arrays类、 Math类的一些学习心得

    String类 java.lang.String 类代表字符串.Java程序中所有的字符串文字(例如"abc" )都可以被看作是实现此类的实例. 类 String 中包括用于检查各 ...

  4. JIT的Profile神器JITWatch

    简介 老是使用命令行工具在现代化社会好像已经跟不上节奏了,尤其是在做JIT分析时,使用LogCompilation输出的日志实在是太大了,让人望而生畏.有没有什么更加简便的方法来分析JIT日志呢?快来 ...

  5. 面试WEB前端如何才能通过?

    从事web前端工作七年时间,因为一直是非常热爱编程的,从小就有兴趣,大学就是学计算机的,技术应该比一般同龄的都要好一些,今天我想给大家讲述一下,目前想要做web前端开发,面试成功应该如何去学习,要具备 ...

  6. C++中cin>>a原理

    int a; vector<int>res; while(cin>>a){ res.push_back(a); } 给出这段代码 可以输入1 2  3 4 5并以回车结束,从而 ...

  7. day48 work

    1 navicat自己玩一玩 2 练习题一定要搞懂 照着我的思路一遍遍的看敲 3 熟悉pymysql的使用 4 sql注入产生的原因和解决方法 了解 5 思考:如何结合mysql实现用户的注册和登录功 ...

  8. DNP3协议解析 —— 利用Wireshark对报文逐字节进行解析详细解析Modbus所含功能码

    现在网上有很多类似的文章.其实这一篇也借鉴了很多其他博主的文章. 写这篇文章的重点是在于解析功能和报文.对Dnp3这个协议并不会做很多介绍. 那我们就开始吧 上图则为dnp3协议整体的报文模型(点击红 ...

  9. C#中Linq查询List与DataTable和Dictionary

    查询DataTable返回List List<string> listNation = dtNation.AsEnumerable().Select(d => d.Field< ...

  10. 阿里云centos7服务器nginx配置及常见问题解答

    前言: 本文参考了jackyzm的博客:https://www.cnblogs.com/jackyzm/p/9600738.html,进行了内容的更新,并请注意这里适用的版本是centos7的版本.并 ...