Функция поиска видео QML () возвращается на несколько секунд после поиска

Всякий раз, когда я пытаюсь использовать функцию seek(), она переходит на новую позицию, а затем возвращается к случайной точке. Желаемым поведением было бы просто перейти на новую позицию. У меня есть следующий тип видео qml.

Video {
    id: video
    focus: true
    MouseArea {
        anchors.fill: parent
        onClicked: {
            video.playbackState === MediaPlayer.PlayingState ? video.pause() : video.play()
            playButton.visible = false
        }
    }
}

Всякий раз, когда я пытаюсь промотать вперед на определенную величину (например, на 1 секунду), выполнив следующие действия, видео делает это, а затем возвращается примерно на 0,5 с.

RoundButton{
    Layout.fillWidth: true
    text: ">"
    onClicked: {
        video.seek(video.position + 1000)
    }
}

При приостановке видео переходит в нужное место. Как только видео воспроизводится снова, оно возвращается к той же, казалось бы, случайной точке, которая произошла примерно на 0,5 с раньше.

Если во время воспроизведения видео выполняется поиск новой позиции, это происходит мгновенно. Таким образом, видео переходит в нужное место, а затем возвращается обратно.

При первом воспроизведении видео я несколько раз получаю следующую ошибку.

W MapperHal: дескриптор буфера с недопустимыми битами использования 0x2000

Когда я останавливаю видео и начинаю воспроизводить его снова, я получаю следующую ошибку один раз.

W MediaPlayerNative: информация/предупреждение (3, 0)

Цель состоит в том, чтобы просто пропустить видео через заданные временные интервалы.


person Sam    schedule 27.08.2020    source источник
comment
Просто выстрел в синеву: из-за сжатия последовательные изображения сохраняются не сами по себе, а как отличие от предыдущего изображения. (Предполагая, что в последовательных изображениях есть только небольшие изменения, различия приводят к гораздо меньшим числам -> лучше сжимать.) перейти к определенному изображению. Вот почему полные кадры (неразностные изображения) вставляются периодически. Я предполагаю, что эффект, который вы видите, заключается в том, что он возвращается к последнему полному кадру перед вашим предполагаемым местоположением.   -  person Scheff's Cat    schedule 27.08.2020
comment
@Scheff Возврат к последнему полному кадру звучит как разумное предположение. Это бы хорошо объяснило поведение. Спасибо и за ссылки. Хотя они относятся к пользователям Mac, а я в настоящее время работаю на Windows 10, они дали мне несколько идей, которые я мог бы попробовать.   -  person Sam    schedule 27.08.2020