使用adb screenrecord命令通过USB将Android投屏到PC

使用adb screenrecord命令通过USB将Android投屏到PC

环境搭建好后,运行下面命令就可投屏

adb exec-out "while true;do screenrecord --bit-rate=16m --output-format=h264 --size 720x1080 - ;done" | mpv --fps=60 --framedrop=no -

试用了下,的确能一直投屏下去,就是到达系统限制的 180s 后,画面会卡一下(可能会掉帧),然后就恢复正常。虽然有点缺陷,但也很不错了!


跟大佬研究了下,发现用 adb screen­record 效果是最好的,再把传输的录像改成 h264 码流,提高流畅度和稳定性。画面比之前说过的 scr­cpy,vysor 要流畅很多,延迟也很低,大概 100~200ms 左右。就是不能鼠标键盘控制( 用来录 mv 效果非常棒!!

来说一下怎么实现这个

1.配置ffmpeg

下载适合自己系统的 ffmpeg 下载好后解压到任意一个地方,这里选择的 c 盘

imageimage

添加环境变量

imageimage

直接用小娜搜索环境变量就能打开

imageimage

点击 path,选择你刚刚解压 ffm­peg 路径下的 bin 文件夹,确定重启即可食用

imageimage

命令提示符内输入命令 ffm­peg,有一大串东西出来就即表示安装成功


2.配置adb环境

  • 下载适合自己系统的adb 跟上面配置ffmpeg一样,照着做就好了。命令提示符内输入命令adb,有一大串东西出来就即表示安装成功。

3.选择合适的播放器,这里测试mpv效果最好

mpv 也是用配置 ffm­peg 环境的方法,命令提示符内输入命令 mpv,有一大串东西出来就即表示安装成功。


最后

imageimage

最后 usb 连接手机,电脑上打开 cmd 命令行,输入以下命令,等待几秒即可。

adb exec-out screenrecord --bit-rate=16m --output-format=h264 --size 1920x1080 - | mpv --fps=60 --framedrop=no -
命令 描述
–size 可以改成自己喜欢的分辨率
–bit-rate 可以改成合适的码率以提高清晰度
–fps=60 能更改fps帧数

缺点: 只能投屏,不能鼠标键盘控制安卓。 安卓系统本身有限制,默认只能录屏 180 秒 (有能力可以去修改一下 screen­record 的限制。。), 刚好足够时间录一段 mv…

声音方面

至于声音方面,之前有说过可以用公对公音频线实时输出安卓声音,但总是会有电流声。。很影响体验。 现在发现用蓝牙也可以把声音传到 PC 上,声音要更加清晰。但蓝牙延迟比较大。

发表回复

众人寻妹千百次 蓦然回首 妹子却在网站论坛中

上路论坛 上路资源