使用MacOS直播
参考链接: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
音频输入源了,这个输入源就只包含播放器的音效。
至此,完毕。