mirror of
https://github.com/barry-ran/QtScrcpy.git
synced 2025-04-20 11:35:56 +00:00
feat: sync scrcpy
This commit is contained in:
parent
6cf0bf75ab
commit
c957bfc798
4 changed files with 12 additions and 7 deletions
|
@ -197,7 +197,6 @@ void Device::startServer()
|
|||
//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"
|
||||
// sendFrameMeta for recorder mp4
|
||||
Server::ServerParams params;
|
||||
params.serial = m_params.serial;
|
||||
params.localPort = m_params.localPort;
|
||||
|
@ -205,7 +204,6 @@ void Device::startServer()
|
|||
params.bitRate = m_params.bitRate;
|
||||
params.maxFps = m_params.maxFps;
|
||||
params.crop = "-";
|
||||
params.sendFrameMeta = m_recorder ? true : false;
|
||||
params.control = true;
|
||||
params.useReverse = m_params.useReverse;
|
||||
m_server->start(params);
|
||||
|
|
|
@ -105,12 +105,23 @@ void Recorder::close()
|
|||
bool Recorder::write(AVPacket *packet)
|
||||
{
|
||||
if (!m_headerWritten) {
|
||||
if (packet->pts != AV_NOPTS_VALUE) {
|
||||
qCritical("The first packet is not a config packet");
|
||||
return false;
|
||||
}
|
||||
bool ok = recorderWriteHeader(packet);
|
||||
if (!ok) {
|
||||
return false;
|
||||
}
|
||||
m_headerWritten = true;
|
||||
return true;
|
||||
}
|
||||
|
||||
if (packet->pts == AV_NOPTS_VALUE) {
|
||||
// ignore config packets
|
||||
return true;
|
||||
}
|
||||
|
||||
recorderRescalePacket(packet);
|
||||
return av_write_frame(m_formatCtx, packet) >= 0;
|
||||
}
|
||||
|
@ -154,9 +165,6 @@ bool Recorder::recorderWriteHeader(const AVPacket* packet)
|
|||
int ret = avformat_write_header(m_formatCtx, NULL);
|
||||
if (ret < 0) {
|
||||
qCritical("Failed to write header recorder file");
|
||||
free(extradata);
|
||||
avio_close(m_formatCtx->pb);
|
||||
avformat_free_context(m_formatCtx);
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
|
|
|
@ -142,7 +142,7 @@ bool Server::execute()
|
|||
} else {
|
||||
args << m_params.crop;
|
||||
}
|
||||
args << (m_params.sendFrameMeta ? "true" : "false");
|
||||
args << "true"; // always send frame meta (packet boundaries + timestamp)
|
||||
args << (m_params.control ? "true" : "false");
|
||||
|
||||
// adb -s P7C0218510000537 shell CLASSPATH=/data/local/tmp/scrcpy-server.jar app_process / com.genymobile.scrcpy.Server 0 8000000 false
|
||||
|
|
|
@ -29,7 +29,6 @@ public:
|
|||
quint32 bitRate = 8000000; // 视频比特率
|
||||
quint32 maxFps = 60; // 视频最大帧率
|
||||
QString crop = "-"; // 视频裁剪
|
||||
bool sendFrameMeta = false; // 是否发送mp4帧数据
|
||||
bool control = true; // 安卓端是否接收键鼠控制
|
||||
bool useReverse = true; // true:先使用adb reverse,失败后自动使用adb forward;false:直接使用adb forward
|
||||
};
|
||||
|
|
Loading…
Add table
Reference in a new issue