#include "RecordVideoI.h" #include #include 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(); }