Scrcpy,安卓投屏工具,手机和电脑都有声音,投屏到电脑直播用 您所在的位置:网站首页 笔记本投屏之后没有声音 Scrcpy,安卓投屏工具,手机和电脑都有声音,投屏到电脑直播用

Scrcpy,安卓投屏工具,手机和电脑都有声音,投屏到电脑直播用

2024-07-13 10:33| 来源: 网络整理| 查看: 265

鼓捣了一下安卓投屏,把手机画面和声音同步到电脑上,并且要都有声音。原本直播手机原神我是用B站直播姬自带的扫码投屏的,但是那个太简陋也不能设置任何参数,直播姬投屏之后如果在手机里面录屏,投屏就会失效,所以它好像是通过录制来实现的投屏,也就是说会消耗手机性能 。

如果不用直播姬,要用OBS来直播还想投屏,就没法像那样投屏了,所以就去研究了下投屏。

一开始尝试使用adb和scrcpy来无线投屏,配置了下环境,解决了一些问题,能用了。下了个OBS试了试可以捕捉到投屏的窗口,看起来不错,设置个20mbps清晰度,跟手机画面看起来无异。

不过这样还是有缺点,就是投屏要么只有手机有声音,要么手机没声音电脑有声音,这时候如果给手机插上耳机,只有耳机有声音了。无线投屏目测有0.2秒左右的延迟,可以接受,跟一些不支持低延迟协议的蓝牙耳机差不多了,但是玩激烈的对战游戏肯定还是不行,有线USB投屏几乎没延迟但是我没法给手机充电了。

后来用一个带GUI的scrcpy【QtScrcpy】,里面可以自动调用sndcpy,这个东西是同步声音的,设置其他的参数也方便。有类似需求的可以参考参考我上面这些。

这样一来手机有声音,电脑有声音,手机还能正常录制,手机插上耳机后,电脑和耳机都有声音。

不过偶尔在一段声音的开始和结束可能有点“嘭”的杂音,操作被投屏电脑的时候更容易出现,这应该是由于声音延迟太小,看了下相关文档,低延迟的代价就是缓冲区(buffer)很小,没有缓冲会导致音频失真,所以如果对音质不满意,只能想办法增加延迟之类的了。

Qtscrcpy的链接 https://github.com/barry-ran/QtScrcpy/releases ,访问可能有点慢,进去之后下载64位的那个压缩包,如果使用有问题那就得去搜索了解一下adb、scrcpy的概念了

最终我的方案

我不知道QtScrcpy默认的sndcpy是什么参数,也不知道在哪改,对它这个音质不满意,最终还是放弃了qtscrcpy。我只是为了方便投屏到电脑直播,所以给投屏到电脑上的音画增加一些延迟来保证质量对我没有影响,我只看自己的手机。(有的人是为了方便投屏到电脑上在公司摸鱼玩手机,但是是通过看电脑的方式,他们就只需要电脑有声音。)

于是我试着自己手动执行sndcpy.bat(要先安装vlc播放器),把sndcpy.bat里的vlc命令 --network-caching=0的0改成100,给一点缓冲,这样复制过来的音频没有杂音,但是声音相比scrcpy的画面延迟了很多,所以在执行scrcpy的时候给画面也增加延迟即可。除此之外,还注释掉了sndcpy.bat里多余的每次都安装sndcpy.apk和等待的部分,前者容易报错后者浪费时间。

scrcpy -b 8m --no-audio --display-buffer=320 -n -f ::设置码率8mpbs,投屏和直播推流都要不停地传输,带宽压力太大直播画面会慢动作 ::静音,画面缓冲320ms,禁用交互,全屏显示

然后再执行sndcpy.bat ,这样就音画同步了

补充无线连接adb的命令

在scrcpy之前要先连接好设备,一般通过usb连接手机电脑然后再操作,但是这样不是真无线连接,这样首次连接需要usb。

真无线连接需要用到无线调试,打开手机开发者选项,无线调试,点【使配对码配对设备】查看配对所需的ip和端口

注意:无线调试的端口投屏可能不稳定

adb pair 192.168.31.225:42803 ::输入手机上弹出的ip和端口,然后会让你输入6位配对码,输入后就连接好了,电脑的adb版本太旧可能不支持这个,去更新一下。 adb connect 192.168.31.225:39689 ::连接无线调试页面中给的端口,如果adb devices查看设备列表能看到刚刚输入的连接,然后就可以投屏了

PS:本来这是个动态的,写着写着发现怎么变成博客性质的东西了,索性直接发专栏好了。

PSPS:后来发现USB有线投屏就够用,供电似乎是5v1a的,居然够用,能支撑手机玩864p原神最高画质不掉电。USB连接稳定性取决于供电和线的质量,小米原装普通快充线就总是断。所以直接耳机插电脑,手机USB连电脑,声音有很轻微延迟但是够玩原神了。

更高配直播可以用六七十块的ms2130方案采集卡,操作是看手机屏幕所以不需要环出功能接另外一个显示器,采集卡直接把音视频作为视频源传输到电脑,但是手机用采集卡需要手机支持有线视频传输,小米手机祖传USB2.0而且均不支持有线视频输出,只有最近几款USB3.x的新产品支持,在小米商城客服机器人可以查询。

上面这两个都是我踩过的坑

2024.1.30

说下一些经验

手机开着sndcpy把音频转发到电脑上的同时录制会导致我用screen recorder录制的时候声音有可能会丢帧,导致音轨有断层,有些播放器播放的效果就是画面也跟着局部快进,有的是声音出现断层画面无快进,这是音视频解码的问题了,感兴趣自己去查资料学习。

电脑或者手机有一个比较卡的话,音频或者视频其中一个连接有时候会自己断开,scrcpy+sndcpy的话,声音有时候会变得比画面延迟,可能还是因为性能问题吧。qtscrcpy是作者用c++重构过的scrcpy,好像性能更好,还这个有个优点就是绝对不会音画不同步,但是无法设置投屏和声音的延迟,导致音频会破音。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有