1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
#include "avconvutil.h" #include <QStringList> namespace avconfutil { QString time(float second) { int baseSecond = second; int formattedSecond = baseSecond % 60; int minute = (baseSecond / 60) % 60; int hour = (baseSecond / 60 / 60); float remains = second - baseSecond; if (remains > 0) { return QString("%1:%2:%3").arg( QString::number(hour), QString::number(minute), QString::number((float)formattedSecond + remains) ); } else { return QString("%1:%2:%3").arg( QString::number(hour), QString::number(minute), QString::number(formattedSecond) ); } } QString resolution(int width, int height) { return QString("%1x%2").arg(QString::number(width), QString::number(height)); } QStringList fastAccurateSeekArgs(float startSec, QString videoPath) { return QStringList() << // fast seek (before -i) "-ss" << avconfutil::time((int)startSec) << "-i" << videoPath << // accurate seek (after -i) "-ss" << avconfutil::time(startSec - (float)((int)startSec)); } } // namespace