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

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 Filter , видеофайлы из разных источников (# 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) Все файлы, которые у меня есть, представляют собой файлы M.2V H.264, но я не Не думаю, что формат файла / кодировка имеет значение.

netvope
источник
3
Это звучит знакомо - я заметил это почти на любом видео, которое я играю, в некоторой степени. Когда я спрашиваю других, они всегда говорят, что это выглядит гладко для них ...
октябрь
Часть этой обработки является обязанностью вашей видеокарты, а некоторые графические процессоры работают намного лучше, чем другие. Это часть стандартных видео-тестов, которые Anandtech.com использует для проверки видеокарт в контексте использования HTPC. Не ответ, я знаю, но полезная информация, я надеюсь. Ознакомьтесь с «Перестрелкой дискретного HTPC GPU» от Anandtech с акцентом на стр. 6 ( anandtech.com/show/4380/discrete-htpc-gpus-shootout/6 ). Я закончил тем, что купил Radeon HD 6570 из-за этого обзора, и он делает фантастическую работу - не идеально, но в среднем лучше, чем все остальное.
злые ложки

Ответы:

13

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

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

shthed
источник
У вас есть личный опыт работы с SmoothVideo, вы можете добавить это к вопросу! Вы как-то связаны с SmoothVideo? Мы будем признательны за полное раскрытие информации, если вы. Счастливого СУИНГА!
BloodPhilia
Я собирался написать о SVP :-) Я нашел это около двух месяцев назад. В зависимости от видео параметры по умолчанию могут вызывать множество артефактов. С некоторыми изменениями (в основном это делает его менее агрессивным в определении движения), он отлично работает для меня!
netvope
3

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

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

Stephane
источник
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, похоже, не судит (не уверен, какой метод он использует).

Матье Картье
источник
Спасибо за попытку, но включение ускорения графического процессора VLC на моей GeForce 9300 не улучшит мое впечатление.
netvope
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 циклах обновления.

Asik
источник
0

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

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

Роберт Хедли
источник
0

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

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

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

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

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

user697683
источник
-1

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

Hello71
источник
3
пропуск кадров делает видео более
резким