美文网首页
跨平台adb屏幕共享应用 scrcpy

跨平台adb屏幕共享应用 scrcpy

作者: O无为学长O | 来源:发表于2023-09-26 14:52 被阅读0次

scrcpy 是一个可以让 adb 设备投屏到电脑端的应用,它支持 windows / linux / macos 平台。

github 地址:https://github.com/Genymobile/scrcpy/tree/master

windows 平台使用非常简单,只需要下载之后解压出来就可以了,都不需要安装。
linux / macos 则需要在终端安装,命令简单,但下载的东西很多,比较耗费时间。

1,连接设备

scrcpy 功能很强大,使用很简单。
如果只有一台 adb 设备连接到电脑,单纯的投屏共享,只需要执行

scrcpy

如果有多台设备,则可以根据参数来选择:

# 通过设备序列号连接
scrcpy --serial=0123456789abcdef
scrcpy -s 0123456789abcdef   # 短格式

# 通过 IP 方式 连接
scrcpy --serial=192.168.1.1:5555

# 只有一台 USB 方式连接的设备时
scrcpy --select-usb
scrcpy -d # 短格式

# 只有一台 tcp/ip 方式连接(比如wifi连接)的设备时
scrcpy --select-tcpip
scrcpy -e #短格式

# 有多台 tcp/ip 方式连接的设备时
scrcpy --tcpip=192.168.1.1:5555
scrcpy --tcpip=192.168.1.1        # 默认端口为 5555

更多连接方式:https://github.com/Genymobile/scrcpy/blob/master/doc/connection.md

2,画面设置

分辨率
默认以设备的分辨率投屏,可以通过参数限制最大尺寸

# 会自动匹配宽高尺寸中的较大值,并等比计算另一个值
# 如下设置,原始 1920×1080 的设备将以 1024×576 投屏。
scrcpy --max-size=1024
scrcpy -m 1024   # 短格式

修改视频比特率,默认为 8 Mbps:

scrcpy --video-bit-rate=2M
scrcpy --video-bit-rate=2000000  # 数值表示
scrcpy -b 2M                     # 短格式

帧率

# 最大帧率
scrcpy --max-fps=15

#输出帧率到控制台
scrcpy --print-fps

编码
有三种编码格式可以选择:

scrcpy --video-codec=h264  # 默认值
scrcpy --video-codec=h265
scrcpy --video-codec=av1

# 列出所有支持的编码
scrcpy --list-encoders

# 容错处理,当默认编码出错时尝试另一种编码
scrcpy --video-codec=h264 --video-encoder='OMX.qcom.video.encoder.avc'

H265 质量相对更好,H264 延迟相对更低。AV1 目前并不常见。

画面裁切
画面按设备的自然方向裁切(手机为竖屏,平板为横屏)

scrcpy --crop=1224:1440:0:0   # 从 1224x1440 分辨率的 0,0 点开始裁切

如果指定了 --max-size 参数,会先裁切,再调整尺寸。

屏幕选择
如果设备有多个屏幕,比如折叠手机的内外屏,可以选择投屏的屏幕。
注意:该参数只支持 安卓 10 以上设备

# 投屏第一个屏幕的内容
scrcpy --display=1

# 查看屏幕列表
scrcpy --list-displays

更多画面设置:https://github.com/Genymobile/scrcpy/blob/master/doc/video.md

3,音频控制

*注意:* 只有 安卓 11及以上设备才支持音频,11 需要屏幕亮屏解锁状态,12以上连接成功即可

禁止音频

scrcpy --no-audio

只有音频

scrcpy --no-video

# 设置音频缓冲大小 (没有画面,不用担心音话不同步问题)
scrcpy --no-video --audio-buffer=200

音频来源
默认为设备的内置音频,可以设置为麦克风

scrcpy --audio-source=mic

也可以将设备当作录音机,将录制结果保存

# file.opus 为音频路径和文件名
scrcpy --audio-source=mic --no-video --no-playback --record=file.opus

编码

scrcpy --audio-codec=opus  # 默认值
scrcpy --audio-codec=aac  # 设备没有 Opus 编码器可以选择这个
scrcpy --audio-codec=raw # 未压缩的 PCM 16 位 LE

# 查看所有支持列表
scrcpy --list-encoders

# 指定编码器
scrcpy --audio-codec=opus --audio-encoder='c2.android.opus.encoder'

比特率
默认音频比特率为 128Kbps

scrcpy --audio-bit-rate=64K
scrcpy --audio-bit-rate=64000  # equivalent

此参数不适用于 RAW 音频编解码器 ( --audio-codec=raw)。

更多音频设置:https://github.com/Genymobile/scrcpy/blob/master/doc/audio.md

4,屏幕与声音录制

scrcpy --record=file.mkv
scrcpy -r file.mp4  # 短格式

# 仅录屏
scrcpy --no-audio --record=file.mp4

# 仅录音
scrcpy --no-video --record=file.opus
scrcpy --no-video --audio-codec=aac --record=file.aac

# .m4a/.mp4 和 .mka/.mkv 都支持 opus 和 aac 音频编码

scrcpy 会根据文件名后缀自动选择编码格式,也可以自己指定

# 注意这时 --record 后面的文件名不需要后缀
scrcpy --record=file --record-format=mkv

只录制,不投屏

scrcpy --no-playback --record=file.mp4
scrcpy -Nr file.mkv
# 使用 Ctrl+C 停止录制

# 录制音频和视频,但只投屏画面不投屏声音
scrcpy --record=file.mkv --no-audio-playback

录制时长

scrcpy --record=file.mkv --time-limit=20  # 单位为秒

如果不指定 record 参数,则同时限制录制和投屏

# 录制和投屏都只有 20 秒
scrcpy --time-limit=20

5,更多设置

禁止休眠

scrcpy --stay-awake
scrcpy -w # 短格式

*注意:只在使用 usb 方式连接时有效*

息屏

scrcpy --turn-screen-off
scrcpy -S   # 短格式

息屏与防休眠可以一起使用

scrcpy --turn-screen-off --stay-awake
scrcpy -Sw   # 短格式

相关文章

  • 解放双手,在PC端进行Android真机调试

    scrcpy简介(拼写是scrcpy,非Python爬虫框架Scrapy) 简单地来说,scrcpy就是通过adb...

  • 安卓神器 - scrcpy

    scrcpy是安卓上一个开源的投屏工具,把手机端屏幕实时投到pc上,pc端可以是跨平台的,windows、Linu...

  • 网络文件共享

    1 存储方式 2 文件共享服务 应用层 ftp 可以实现跨平台内核级 nfs 不能实现跨平台window linu...

  • linux下的android投屏软件

    android下的投屏软件scrcpy的使用。 scrcpy 直接投屏,但手机的屏幕仍亮着。 scrcpy -S ...

  • scrcpy--电脑手机投屏

    使用要求 安卓设备版本5.0以上安卓设备要打开adb调试模式scrcpy官网地址 Windows安装 scrcpy...

  • 为什么要学习跨平台? Flutter 跨平台框架应用实战

    为什么要学习跨平台? Flutter 跨平台框架应用实战为什么要学习跨平台? Flutter 跨平台框架应用实战

  • Android实用快捷键

    adb 查看屏幕尺寸/densityadb shell wm size/density 查看应用启动时间adb s...

  • 2018-09-06

    浅谈应用跨平台开发 名词解释 跨平台 什么是跨平台?——Techopedia A cross-platform c...

  • Android端屏幕采集原理

    手机端实时屏幕共享在视频会议、手游直播等场景下应用有广泛应用。屏幕采集则是整个实时屏幕共享流程的第一步,下面简单介...

  • android远程屏幕-scrcpy

    scrcpy是一个开源的远程屏幕显示和控制的软件。同类软件还有visor。 特点: 轻量化:原生显示 高帧率:30...

网友评论

      本文标题:跨平台adb屏幕共享应用 scrcpy

      本文链接:https://www.haomeiwen.com/subject/bgkhbdtx.html