Merge pull request #536 from studycwq/support-android-12

升级scrcpy-server到最新1.21支持Android12
This commit is contained in:
Barry 2022-01-05 15:02:03 +08:00 committed by GitHub
commit 2bcb325539
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 24 additions and 24 deletions

View file

@ -13,7 +13,7 @@ on:
jobs:
build:
name: Build
runs-on: macos-latest
runs-on: macos-10.15
strategy:
matrix:
qt-ver: [5.15.1]

View file

@ -300,14 +300,14 @@ void Device::startServer()
// support wireless connect, example:
//m_server->start("192.168.0.174:5555", 27183, m_maxSize, m_bitRate, "");
// only one devices, serial can be null
// mark: crop input format: "width:height:x:y" or - for no crop, for example: "100:200:0:0"
// mark: crop input format: "width:height:x:y" or "" for no crop, for example: "100:200:0:0"
Server::ServerParams params;
params.serial = m_params.serial;
params.localPort = m_params.localPort;
params.maxSize = m_params.maxSize;
params.bitRate = m_params.bitRate;
params.maxFps = m_params.maxFps;
params.crop = "-";
params.crop = "";
params.control = true;
params.useReverse = m_params.useReverse;
params.lockVideoOrientation = m_params.lockVideoOrientation;

View file

@ -142,27 +142,27 @@ bool Server::execute()
args << "/"; // unused;
args << "com.genymobile.scrcpy.Server";
args << Config::getInstance().getServerVersion();
args << Config::getInstance().getLogLevel();
args << QString::number(m_params.maxSize);
args << QString::number(m_params.bitRate);
args << QString::number(m_params.maxFps);
args << QString::number(m_params.lockVideoOrientation);
args << (m_tunnelForward ? "true" : "false");
args << QString("log_level=%1").arg(Config::getInstance().getLogLevel());
args << QString("max_size=%1").arg(QString::number(m_params.maxSize));
args << QString("bit_rate=%1").arg(QString::number(m_params.bitRate));
args << QString("max_fps=%1").arg(QString::number(m_params.maxFps));
args << QString("lock_video_orientation=%1").arg(QString::number(m_params.lockVideoOrientation));
args << QString("tunnel_forward=%1").arg((m_tunnelForward ? "true" : "false"));
if (m_params.crop.isEmpty()) {
args << "-";
args << "crop=";
} else {
args << m_params.crop;
args << QString("crop=%1").arg(m_params.crop);
}
args << "true"; // always send frame meta (packet boundaries + timestamp)
args << (m_params.control ? "true" : "false");
args << "0"; // display id
args << "false"; // show touch
args << (m_params.stayAwake ? "true" : "false"); // stay awake
args << "send_frame_meta=true"; // always send frame meta (packet boundaries + timestamp)
args << QString("control=%1").arg((m_params.control ? "true" : "false"));
args << "display_id=0"; // display id
args << "show_touches=false"; // show touch
args << QString("stay_awake=%1").arg((m_params.stayAwake ? "true" : "false")); // stay awake
// code option
// https://github.com/Genymobile/scrcpy/commit/080a4ee3654a9b7e96c8ffe37474b5c21c02852a
// <https://d.android.com/reference/android/media/MediaFormat>
args << Config::getInstance().getCodecOptions();
args << Config::getInstance().getCodecName();
args << QString("codec_options=%1").arg(Config::getInstance().getCodecOptions());
args << QString("encoder_name=%1").arg(Config::getInstance().getCodecName());
#ifdef SERVER_DEBUGGER
qInfo("Server debugger waiting for a client on device port " SERVER_DEBUGGER_PORT "...");
@ -176,7 +176,7 @@ bool Server::execute()
#endif
// adb -s P7C0218510000537 shell CLASSPATH=/data/local/tmp/scrcpy-server app_process / com.genymobile.scrcpy.Server 0 8000000 false
// mark: crop input format: "width:height:x:y" or - for no crop, for example: "100:200:0:0"
// mark: crop input format: "width:height:x:y" or "" for no crop, for example: "100:200:0:0"
// 这条adb命令是阻塞运行的m_serverProcess进程不会退出了
m_serverProcess.execute(m_params.serial, args);
return true;

View file

@ -31,7 +31,7 @@ public:
quint16 maxSize = 720; // 视频分辨率
quint32 bitRate = 8000000; // 视频比特率
quint32 maxFps = 60; // 视频最大帧率
QString crop = "-"; // 视频裁剪
QString crop = ""; // 视频裁剪
bool control = true; // 安卓端是否接收键鼠控制
bool useReverse = true; // true:先使用adb reverse失败后自动使用adb forwardfalse:直接使用adb forward
int lockVideoOrientation = -1; // 是否锁定视频方向

View file

@ -15,7 +15,7 @@
#define COMMON_PUSHFILE_DEF "/sdcard/"
#define COMMON_SERVER_VERSION_KEY "ServerVersion"
#define COMMON_SERVER_VERSION_DEF "1.17"
#define COMMON_SERVER_VERSION_DEF "1.21"
#define COMMON_SERVER_PATH_KEY "ServerPath"
#define COMMON_SERVER_PATH_DEF "/data/local/tmp/scrcpy-server.jar"

View file

@ -10,7 +10,7 @@ RenderExpiredFrames=0
# 视频解码方式:-1 自动0 软解1 dx硬解2 opengl硬解
UseDesktopOpenGL=-1
# scrcpy-server的版本号不要修改
ServerVersion=1.17
ServerVersion=1.21
# scrcpy-server推送到安卓设备的路径
ServerPath=/data/local/tmp/scrcpy-server.jar
# 自定义adb路径例如D:/android/tools/adb.exe
@ -18,10 +18,10 @@ AdbPath=
# 编码选项 "-"表示默认
# 例如 CodecOptions="profile=1,level=2"
# 更多编码选项参考 https://d.android.com/reference/android/media/MediaFormat
CodecOptions="-"
CodecOptions=""
# 指定编码器名称必须是H.264编码器
# 例如 CodecName="OMX.qcom.video.encoder.avc"
CodecName="-"
CodecName="OMX.qcom.video.encoder.avc"
# Set the log level (debug, info, warn, error)
LogLevel=info

Binary file not shown.