18

Я использую mpc-hc для воспроизведения видео на Win7 x64. При настройках по умолчанию (# 1) воспроизведение видео великолепно в большинстве случаев. Но для кадров панорамирования воспроизведение не гладкое. Я пошагово просматривал видео по кадрам и обнаружил, что движение панорамирования плавное (например, каждый кадр смещается по горизонтали на 10 пикселей), поэтому проблема заключается в том, как видео с частотой 23,976 кадр / с интерполируется до 60 Гц.

Похоже, что дрожание вызвано «2:3», где кадры воспроизводятся неравномерно, например:

frame 1, 1, 2, 2, 2, 3, 3, 4, 4, 4, etc (# 2)

Использование "оптимальных настроек рендерера" (# 3) вместо значения по умолчанию отключает тему Aero и вызывает разрыв.

Установка моего ЖК-дисплея на 50 Гц, возможно, немного улучшила дрожание (но я не могу точно сказать). Мой дисплей не поддерживает 24 Гц или 48 Гц, и их принудительное использование на панели управления Nvidia дает размытый экран.

Я пробовал другие видеоплееры (VLC и KMPlayer), фильтр ReClock Directshow, видеофайлы из разных источников (# 4), включение / выключение DXVA и компьютер с другим GPU, но дрожание при воспроизведении схоже , Никто из них не решил проблему.

Можно ли плавно воспроизводить видео со скоростью 23,976 или 24 кадра в секунду на дисплее с частотой 60 Гц?

Я думаю, что видеоплеер может сделать видео более плавным, выполняя линейную интерполяцию, например:

1. 100% frame 1
2. 60% frame 1 + 40% frame 2
3. 20% frame 1 + 80% frame 2
4. 80% frame 2 + 20% frame 3
5. 40% frame 2 + 60% frame 3
6. 100% frame 3
7. 60% frame 3 + 40% frame 4
.. etc

Может ли какой-нибудь существующий видеоплеер сделать это?

Примечания:
(# 1) Видео рендерер: EVR Custom Pres.
(# 2) Этот пример конвертирует видео с частотой 24 к / с в 30 к / с
(# 3) Вид> Настройки рендерера> Сброс> Сброс до оптимальных настроек рендерера
(# 4) У меня есть все файлы mkv H.264, но я не думаю, что формат файла / кодировка имеют значение.

8 ответов8

13

Ознакомьтесь с проектом SmoothVideo:

SVP позволяет вам смотреть любое видео на вашем ПК с файловой интерполяцией (как вы можете смотреть его на высококачественных телевизорах и проекторах). Он увеличивает частоту кадров, генерируя промежуточные кадры анимации между существующими, создавая очень плавное, плавное и четкое движение. Эта технология давно известна ("TrimensionDNM", "Motion Plus", "Motionflow" и другие), но теперь она доступна бесплатно для пользователей ПК с простым графическим интерфейсом и парой щелчков мыши.

3

Я не знаю плеера, который может делать это на лету, но вы можете конвертировать любое видео со скоростью 24/25 кадров в секунду в хорошее видео со скоростью 60 кадров в секунду, перекодировав видео с интерфреймированием.

Вот очень хороший пошаговый учебник, чтобы сделать это. Включает образцы видео до / после. http://www.spirton.com/convert-videos-to-60fps/

2

Ваша идея сделать воспроизведение видео более плавным с помощью линейной интерполяции - это просто смешанный метод преобразования частоты кадров (или Blend FRC). MediaPlayer.NET (MPDN) использует эту технику и называет ее "Fluid Motion". MadVR называет это « плавным движением».

Этот метод FRC является самым основным из того, что использует SVP. Тем не менее, и MPDN, и madVR имеют возможность определять фактическую частоту обновления дисплея с очень высокой точностью. Хотя маловероятно, что вы заметите пропущенный / повторяющийся кадр на частоте 60 Гц, SVP все еще страдает от (хотя и незначительного) несоответствия скорости ввода / вывода (например, 60,001 Гц + отклонение эталонной тактовой частоты против 60FPS). Использование SVP также намного более интенсивно использует GPU, чем смешанный FRC игрока, который стоит лишь небольшую часть времени рендеринга.

Если вы можете разогнать свой дисплей, скоростной тюнер MPDN дает вам альтернативу смешиванию FRC и, как правило, считается лучшим вариантом. Смешивание FRC может вызвать размытие / ореолы, поэтому его следует рассматривать как последнее средство. Для получения дополнительной информации см. Вики-тюнер MPDN на GitHub .

Отказ от ответственности: я автор MPDN.

1

Я часто играю видео 24fps в VLC на 60-Гц дисплее, и оно плавно отображается с помощью аппаратного ускорения рендерера по умолчанию с аппаратным ускорением nVidia, кажется, не трясется (не уверен, какой метод он использует).

0

Вы должны попробовать mpv с опцией --interpolation , предпочтительно через GUI, такой как SMPlayer. Это делает что-то очень похожее на то, что вы описываете.

Установите SMPlayer и в настройках сделайте следующее:

  • Под General-> Video выберите "Драйвер вывода": "Определено пользователем" и введите opengl-hq
  • Под Advanced-> MPlayer/mpv поместите следующее в Options: --interpolation --video-sync=display-vdrop --tscale=oversample

Видео теперь должно воспроизводиться почти так же плавно, как на собственном дисплее с частотой 24 Гц, но без какого-либо "эффекта мыльной оперы".

Вот (возможно, устаревшее) техническое объяснение того, что делает эта опция (раздел "smoothmotion").

0

Для всех, кто использует монитор с частотой 60 Гц: в качестве первого шага убедитесь, что ваш монитор не поддерживает 23,976 Гц, 24 Гц, 47 952 Гц или 48 Гц, используя панель управления графического процессора (NVIDIA, AMD или Intel). Вероятно, он не будет указан в списке, поэтому потребуется создать собственное разрешение и протестировать его.

ОП говорит, что он сделал это, поэтому нам нужна некоторая форма интерполяции кадров. Самый безболезненный способ сделать это в настоящее время - использовать опцию плавного движения madVR.

Чтобы использовать madVR, установите MPC-HC и madVR, выберите madVR в качестве средства визуализации в параметрах MPC-HC. Если все идет хорошо, в MPC-HC вы сможете нажать CTRL-J и увидеть это:

Здесь подчеркнута красным то, что важно, работает на частоте 60 Гц, но с плавным движением. Это не будет идеально, но в основном это лучшее, на что вы можете надеяться, пытаясь уместить 24 кадра в 60 циклах обновления.

0

Кто-то еще упомянул проект Smooth Video. Это может потенциально помочь, но иногда сглаживание движения делает что-то, предназначенное для более низкой частоты кадров, плохим, потому что видео 24fps имеет размытие движения, встроенное в отдельные кадры. Сглаживание движения делает видео, снятое на цифровом экране, лучше.

Видеопроигрыватель MPV имеет встроенную сглаживание движения или внутрикадровую интерполяцию. Вам стоит это увидеть.

-1

Вы пытались отключить "Пропустить кадры" в настройках VLC?

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .