#include "RecordVideoI.h"
|
#include <QtCore/QDateTime>
|
#include <basic/util/app/AppPreference.hpp>
|
|
RecordVideoI::RecordVideoI()
|
{
|
|
}
|
|
std::string RecordVideoI::recordVideo(const std::string &rtsp, Ice::Long ms, const Ice::Current &)
|
{
|
QString rtspUrl = QString::fromStdString(rtsp);
|
|
int ss = 1000;
|
int mi = ss * 60;
|
int hh = mi * 60;
|
|
long hour = ms / hh;
|
long minute = (ms - hour * hh) / mi;
|
long second = (ms - hour * hh - minute * mi) / ss;
|
|
QString strHour = QString("%1").arg(hour,2,10,QChar('0'));
|
QString strMinute = QString("%1").arg(minute,2,10,QChar('0'));
|
QString strSecond = QString("%1").arg(second,2,10,QChar('0'));
|
|
QString currentTime = QDateTime::currentDateTime().toString("yyyyMMdd_hh:mm:ss:zzz");
|
QString fileName = currentTime + ".mp4";
|
QString CmdTouch = QString("touch %1").arg(fileName);
|
QString CmdOrder = QString("LD_LIBRARY_PATH=/usr/local/cuda/lib64 ffmpeg -y -i %1 -vcodec copy -acodec copy -t %2:%3:%4 %5/%6 &")
|
.arg(rtspUrl).arg(strHour).arg(strMinute)
|
.arg(strSecond).arg(QString::fromStdString(appPref.getStringData("user.absolute.path")))
|
.arg(fileName);
|
|
system(CmdTouch.toLatin1().data());
|
system(CmdOrder.toLatin1().data());
|
|
return fileName.toStdString();
|
}
|