v3.6.t3
-fixed some more issues with the increment naming.
This commit is contained in:
parent
d9cdd30877
commit
7ba06ab92b
|
@ -32,7 +32,7 @@
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
|
||||||
#define APP_VERSION "3.6.t2"
|
#define APP_VERSION "3.6.t3"
|
||||||
#define APP_NAME "JustMotion"
|
#define APP_NAME "JustMotion"
|
||||||
#define APP_TARGET "jmotion"
|
#define APP_TARGET "jmotion"
|
||||||
#define DATETIME_FMT "yyyyMMddhhmmss"
|
#define DATETIME_FMT "yyyyMMddhhmmss"
|
||||||
|
|
|
@ -51,13 +51,15 @@ void DetectLoop::reset()
|
||||||
|
|
||||||
void DetectLoop::preExec()
|
void DetectLoop::preExec()
|
||||||
{
|
{
|
||||||
vidAPath = shared->buffPath + "/live/" + QString::number(shared->seed - 2).leftJustified(21, '0') + shared->streamExt;
|
vidAPath = shared->buffPath + "/live/" + QString::number(shared->seed - 1).rightJustified(20, '0') + shared->streamExt;
|
||||||
vidBPath = shared->buffPath + "/live/" + QString::number(shared->seed - 1).leftJustified(21, '0') + shared->streamExt;
|
vidBPath = shared->buffPath + "/live/" + QString::number(shared->seed - 2).rightJustified(20, '0') + shared->streamExt;
|
||||||
|
|
||||||
eTimer.start();
|
eTimer.start();
|
||||||
|
|
||||||
if (QFileInfo::exists(vidAPath) && QFileInfo::exists(vidBPath))
|
if (QFileInfo::exists(vidAPath) && QFileInfo::exists(vidBPath))
|
||||||
{
|
{
|
||||||
|
shared->seed += 1;
|
||||||
|
|
||||||
exec();
|
exec();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,9 +15,10 @@
|
||||||
RecordLoop::RecordLoop(shared_t *sharedRes, QThread *thr, QObject *parent) : QProcess(parent)
|
RecordLoop::RecordLoop(shared_t *sharedRes, QThread *thr, QObject *parent) : QProcess(parent)
|
||||||
{
|
{
|
||||||
checkTimer = 0;
|
checkTimer = 0;
|
||||||
|
seedtimer = 0;
|
||||||
shared = sharedRes;
|
shared = sharedRes;
|
||||||
|
|
||||||
sharedRes->seed = 0;
|
sharedRes->seed = 3;
|
||||||
|
|
||||||
connect(thr, &QThread::started, this, &RecordLoop::init);
|
connect(thr, &QThread::started, this, &RecordLoop::init);
|
||||||
connect(thr, &QThread::finished, this, &RecordLoop::deleteLater);
|
connect(thr, &QThread::finished, this, &RecordLoop::deleteLater);
|
||||||
|
@ -38,11 +39,14 @@ RecordLoop::~RecordLoop()
|
||||||
void RecordLoop::init()
|
void RecordLoop::init()
|
||||||
{
|
{
|
||||||
checkTimer = new QTimer(this);
|
checkTimer = new QTimer(this);
|
||||||
|
seedtimer = new QTimer(this);
|
||||||
|
|
||||||
connect(checkTimer, &QTimer::timeout, this, &RecordLoop::restart);
|
connect(checkTimer, &QTimer::timeout, this, &RecordLoop::restart);
|
||||||
|
connect(seedtimer, &QTimer::timeout, this, &RecordLoop::checkSeed);
|
||||||
|
|
||||||
checkTimer->setSingleShot(true);
|
checkTimer->setSingleShot(true);
|
||||||
checkTimer->setInterval(3000);
|
checkTimer->setInterval(3000);
|
||||||
|
seedtimer->setInterval(1000);
|
||||||
|
|
||||||
setupBuffDir(shared->buffPath);
|
setupBuffDir(shared->buffPath);
|
||||||
restart();
|
restart();
|
||||||
|
@ -57,28 +61,34 @@ QString RecordLoop::camCmdFromConf()
|
||||||
ret += "-rtsp_transport udp ";
|
ret += "-rtsp_transport udp ";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (shared->seed == 18446744073709551615ULL)
|
|
||||||
{
|
|
||||||
setupBuffDir(shared->buffPath, true);
|
|
||||||
|
|
||||||
shared->seed = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (shared->vidCodec != "copy")
|
if (shared->vidCodec != "copy")
|
||||||
{
|
{
|
||||||
ret += "-vf fps=" + QString::number(shared->recFps) + ",scale=" + shared->recScale + " ";
|
ret += "-vf fps=" + QString::number(shared->recFps) + ",scale=" + shared->recScale + " ";
|
||||||
}
|
}
|
||||||
|
|
||||||
shared->seed += 1;
|
|
||||||
|
|
||||||
ret += "-vcodec " + shared->vidCodec + " ";
|
ret += "-vcodec " + shared->vidCodec + " ";
|
||||||
ret += "-acodec " + shared->audCodec + " ";
|
ret += "-acodec " + shared->audCodec + " ";
|
||||||
ret += "-reset_timestamps 1 -sc_threshold 0 -g 2 -force_key_frames 'expr:gte(t, n_forced * 2)' -segment_time 2 -f segment ";
|
ret += "-reset_timestamps 1 -sc_threshold 0 -g 2 -force_key_frames 'expr:gte(t, n_forced * 2)' -segment_time 2 -f segment ";
|
||||||
ret += shared->buffPath + "/live/" + QString::number(shared->seed).leftJustified(21, '0') + shared->streamExt;
|
ret += shared->buffPath + "/live/%020d" + shared->streamExt;
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void RecordLoop::checkSeed()
|
||||||
|
{
|
||||||
|
if (shared->seed >= 10000000000000000000ULL)
|
||||||
|
{
|
||||||
|
terminate();
|
||||||
|
waitForFinished();
|
||||||
|
|
||||||
|
setupBuffDir(shared->buffPath, true);
|
||||||
|
|
||||||
|
shared->seed = 3;
|
||||||
|
|
||||||
|
restart();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
QString RecordLoop::statusLine()
|
QString RecordLoop::statusLine()
|
||||||
{
|
{
|
||||||
if (state() == QProcess::Running)
|
if (state() == QProcess::Running)
|
||||||
|
|
|
@ -22,13 +22,16 @@ class RecordLoop : public QProcess
|
||||||
private slots:
|
private slots:
|
||||||
|
|
||||||
void init();
|
void init();
|
||||||
|
void checkSeed();
|
||||||
void resetTime();
|
void resetTime();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
shared_t *shared;
|
shared_t *shared;
|
||||||
|
QTimer *seedtimer;
|
||||||
QTimer *checkTimer;
|
QTimer *checkTimer;
|
||||||
|
|
||||||
|
quint64 getLatestSeed();
|
||||||
QString camCmdFromConf();
|
QString camCmdFromConf();
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
|
|
Loading…
Reference in New Issue
Block a user