Как достать мета данные у видео файлов?

191
18 ноября 2018, 15:00

Не получается таким образом вывести когда был создан файл:

                QMediaPlayer *player = new QMediaPlayer(this);
                 player->setMedia(QUrl::fromLocalFile(model->index(i,1).data().toString()));
                    connect(player, SIGNAL(metaDataChanged()), SLOT(playerMetaDataChanged()));
                    QString GPSLatitudeVideo = "";
                    QString GPSLongitudeVideo = "";
                    QDateTime DateTimeOriginalVideo;
                    qDebug()<<model->index(i,1).data().toString()<<"+++";
                    qDebug()<< Q_FUNC_INFO << "player->isMetaDataAvailable()" << player->isMetaDataAvailable();
                    if (player->isMetaDataAvailable())
                    {
                      GPSLatitudeVideo = player->metaData(QMediaMetaData::GPSLatitude).toString();
                      GPSLongitudeVideo = player->metaData(QMediaMetaData::GPSLongitude).toString();
                      DateTimeOriginalVideo = player->metaData(QMediaMetaData::Date).toDateTime();
                      qDebug()<< Q_FUNC_INFO << DateTimeOriginalVideo.toString("yyyy-MM-dd hh:mm:ss.zzz");
                      qDebug()<< Q_FUNC_INFO << "+++"<<GPSLatitudeVideo<<GPSLongitudeVideo<<DateTimeOriginalVideo;
                    }
void MainWindow::playerMetaDataChanged()
{
    qDebug() << " ";
    qDebug() << "AvailableMetaData:";
    qDebug() << " ";
    QStringList metaData = player->availableMetaData();
    foreach (QString metaDataType, metaData) {
        qDebug() << "Type of metadata: " + metaDataType;
        qDebug() << player->metaData(metaDataType);
        qDebug() << "---------------";
    }
    qDebug() << " ";
}

Тут model->index(i,1).data().toString() - ссылка на файл. Как мне вывести QMediaMetaData::Date? Дату создания файла.

Мета данные у файла ffmpeg :

Хотя функция playerMetaDataChanged выводит

AvailableMetaData:
"Type of metadata: AudioBitRate"
QVariant(uint, 253632)
---------------
"Type of metadata: AudioCodec"
QVariant(QString, "MPEG AAC Audio")
---------------
"Type of metadata: ChannelCount"
QVariant(uint, 2)
---------------
"Type of metadata: Duration"
QVariant(qlonglong, 12961)
---------------
"Type of metadata: PixelAspectRatio"
QVariant(QSize, QSize(1, 1))
---------------
"Type of metadata: Resolution"
QVariant(QSize, QSize(3840, 2160))
---------------
"Type of metadata: SampleRate"
QVariant(uint, 48000)
---------------
"Type of metadata: VideoBitRate"
QVariant(uint, 61624760)
---------------
"Type of metadata: VideoCodec"
QVariant(QString, "H.264 Video")
---------------
"Type of metadata: VideoFrameRate"
QVariant(double, 25)
---------------

Тут нет даты создания.

READ ALSO
Serialization в java

Serialization в java

Создал 2 метода:

294
Как организовать конвертацию моделей?

Как организовать конвертацию моделей?

Например для вьюхи может быть не нужны все поля модели и для неё будет лучше использовать специальную обрезанную модель

199
Проблема с CheckBox в Диалоговом окне

Проблема с CheckBox в Диалоговом окне

Я хочу сделать кастомное диалоговое окно, и вроде всё хорошо, но метод findViewById на CheckBox не работаетНе знаю в чём проблема и соответственно, как...

227
Обращение к приватному методу извне

Обращение к приватному методу извне

Есть задача, в которой нужно поэкспериментировать с объектами типа CatМы создали 5 кошек и делаем с ними разные вещи

232