fpska – делаем 60fps видео

Содержание

Как это работает
Установка
fpska – для новичков
fpska – для продвинутых
Видеоинструкция

Технология 60fps (60 кадров в секунду) позволяет улучшить восприятие видео. Хотя нет, не так, лучше сказать, что видео с частотой 60 кадров в секунду смотрится совершенно по другому. А уж лучше или хуже – это зрителю решать 🙂 Движения кажутся плавными без подергиваний. Особенно сильно эффект от перевода видео в 60fps наблюдается на сценах с панорамированием, когда камеру ведут, чтобы охватить, как можно больше сцены или на видео снятого с короткой выдержкой, когда весь видеоролик превращается в быстрое, мерцающее слайд-шоу (при короткой выдержке нет смаза, поэтому переход от кадра к кадру идет не плавно). Тут сразу следует оговориться про терминлогию. Почему 60fps, а не 50fps? Проще говоря, когда видео стало широко входить в массы было 2 типа частоты кадров: 25 кадров в секунду (25fps) и 30 кадров в секунду (30fps). В Европе и в Росси были распространены 25, в США – 30.



25/30 fps

А теперь, когда появилось мощное оборудование, экраны телевизоров перестали мазать люминофором с обратной стороны (шутка), появились 50fps и 60fps. То есть 25fps перешло в 50fps, а 30fps в 60fps. Для простоты мы будем придерживаться термина 60fps, подразумевая что есть видео 50fps. Сейчас наблюдается тенденция ухода в сторону 60fps. Многие современные видеокамеры могут записывать видео в формате 1080p, 60fps, что уж говорить про профессиональные. Но что делать тем у кого в архиве видео снятое на старый-добрый 25/30fps? Им как быть? Можно все оставить, как есть и не переводить в 60fps. Но если уж захочется, то можно и попробовать 🙂

Как это работает

Существует много технологий перевода видео в формат 60fps. Можно сказать, перевод видео в формат с удвоенной частотой кадров. Но все они сводятся к одному и тому же, нужно между соседними кадрами “втиснуть” еще один. Вопрос в том, откуда этот кадр взять? И вот тут начинается самое интересное. Кто-то предложил в качестве этого кадра взять предыдущий и просто показать его 2 раза. А кто-то предложил этот кадр выстроить заново, взяв за основу предыдущий и последующий кадры старого видео, что оказалось, вобщем-то нетривиальной задачей. А кто-то предложил полукадры интерлейсного видео достроить до полного кадра и тем самым удвоить частоту. Многое что предалагали.

Fpska не показывает видео с удвоенной частотой кадров. Она создает новое видео с удвоенной частотой кадров на основе оригинального.



fpska не показывает, а “перерабатывает” видео из одного формата в другой

Конвертацию нужно сделать только один раз, а дальше можно залить на Youtube, загрузить в телефон и так далее. Конвертация заточена под максимальное качество. Для разных типов видео можно подобрать такие параметры создания промежуточных кадров, чтобы процесс пошел быстрее. Но так как заранее не известно какой тип движения будет в кадре, то все настройки выкручены на Max. Можно сказать, что “из пушки по воробьям”, зато не надо каждый раз думать про подбор параметров.

Fpska понимает самые распространенные форматы/контейнеры avi, mkv, mp4, mov, 3gp, flv.
Mts, m2v – не подходят.

Пример удвоения частоты для видео с 24 кадрами в секунду (воспроизведите видео один раз, чтобы оно полностью поместилось в память, а затем нажмите Play еще раз, чтобы сравнить 24fps и 48fps):
24fps

48fps

Еще примеры

24fps

48fps

30fps

60fps

24fps

48fps

[collapse]

Для перевода видео в 60fps мы будем вставлять промежуточный кадр между двумя соседними. Для этого воспользуемся широко известной библиотекой от команды SVP-Team. В завимости от требуемого качества процесс расчета промежуточного кадра может быть очень трудоемким с точки зрения затрачиваемого процессорного времени и памяти. Fpska настроена на максимальное качество поэтому процесс конвертирования может занимать очень много времени. Поэтому если у вас 30-50 минутное видео то лучше оставить скрипт на ночь к утру все будет готово.

Пример восстановленного кадра

Кадр 1

Восстановленый кадр

Кадр 2

Тут всего лишь демонстрируется, что “синтетический” кадр был полностью воссоздан по предыдущим и последующим кадрам и фактически не сильно от них отличается, а это самое главное для алгоритма расчета промежуточного кадра.

[collapse]

Удваивать частоту лучше для progressiv видео. Честно говоря непонятно имеет ли смысл удваивать частоту для interlaced video. Поэтому, если планируете удваивать частоту для видео со старой VHS камеры или запись с телеэфира, то сначала избавьтесь от “гребенки”.

Установка

  1. Скачиваем архив fpska.zip и распаковываем его:


    Разархивироанная fpska

    НЕ ИСПОЛЬЗУЙТЕ РУССКИХ БУКВ В НАЗВАНИЯХ ДИРЕКТОРИЙ И ФАЙЛОВ!
  2. Устанавливаем Avisynth из архива distr\AviSynth_260.exe (устанавливаем, как обычное приложение, следуем инструкциям инсталлятора, настройки не меняем, соглашаеимся с тем, что предложат):


  3. Копируем dll’ку distr\avisynth.dll в папку (это многопоточная версия Avisynth библиотеки, специально собранная для работы сплагином svpflow):
    c:\Windows\SysWOW64\ (в случае Windows 64)
    c:\Windows\System32 (в случае Windows 32)
    

    Это нужно для того, чтобы можно было запустить процесс конвертирования в параллельном режиме.



  4. Скачиваем библиотеку svpflow (http://www.svp-team.com/files/gpl/svpflow-4.0.0.128.zip):



    распаковываем архив, файлы svpflow-4.0.0.128\lib-windows\avisynth\x32\svpflow1.dll и svpflow2.dll копируем в папку fpska\svpflow. Внимание, берем именно 32-битные файлы.



    Если svpflow1.dll и svpflow2.dll не будут скопированы в папку fpska\svpflow, то при запуске конвертирования будет сообщение об ошибке:

    "---------------------------"
    Net biblioteki svpflow1.dll
    svpflow\readme.txt - instruktsiya po ustanovke
    "---------------------------"
    

fpska – для новичков


Некоторые из читателей могут сказать: “Хватит! Давай запустим наконец то, не хочется вникать во все эту премудрости!” и будут абсолютно правы. Изначально fpska проектировалась, как скрипт в один клик, все в одном флаконе, чтобы максимально упростить действия по установке и запуску. Чтобы не вникать во все эти кодеки, видеоформаты, настройки кодирования, параметры рассчета промежуточных кадров и так далее. Нажал, кнопку и пошел пить чай (или еще какой-нибудь напиток).
Итак, мы уже установили fpsk’у. Теперь сразу можно запустить конвертирование видео в формт 50/60fps, для этого просто перетащите мышкой видеофайл на скрипт fpska.bat в проводнике:



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



Как только появится надпись:



значит конвертация завершилась успешно и 60fps видео можно забрать из папки, в которую была установлена fpsk’а:



Результат конвертации находится в файле 60fps_video_and_audio.mp4

fpska – для продвинутых


Навыки работы с командной строкой дают больше преимуществ при работе с fpsk’ой, чем работа из проводника в быстром старте.
Методика работы в этом случае выглядит следующим образом.

    1. Запускаем любимый file manager (например, Far) и преходим в папку с установленной fpsk’ой.
    2. Копируем в эту папку видеоролик, который надо перевести в 60fps.
    3. Запускаем конвертирование:
       

      fpska.bat <файл с видео> <режим> <число процессоров>
      

      режим: “fast”, “slow”:
      fast – проверка установки и настроек,
      slow – чистовое конвертирование

      число процессоров: – тесты показали, что при использовании 6-и процессоров увеличение скорости ковертирования равно 4. То есть эффективность распараллеливания не такая высокая, как хотелось бы. Тем не менее, выгоднее задействовать, как можно больше процессоров в системе.

      Со скриптом поставляется тестовый видеоролик video.mov, запуск перекодирования будет выглядеть так:

      Hi-Quality (высокое качество)

      fpska.bat video.mov slow 2
      

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

      Low-Quality (низкое качество)

      fpska.bat video.mov fast 2
      

      Этот режим используется для проверки установки всего пакета.

      После того, как процесс кодирования закончится в текущей папке появится файл 60fps.mkv – это и будет результирующее видео.

      Важно убедиться, что антивирусное программа не блокирует скрипты и не запускает их в отдельной “песочнице”. Я долго разбирался со скриптом, который запускал процесс кодирования, но результирующего файла не появлялось в рабочей папке. Все дело было в Comodo Firewall, который запускал fpsk’у в изолированном пространстве.

Для некоторых может оказаться преимуществом, что fpska работает из командной строки и не требует графического интерфейса. Не составит никакого труда написать скрипт для пакетного конвертирования большой группы файлов.

Видеоинструкция


Записал видюшку о том, как устанавливать fpsk’у на чистую (из коробки) Windows 10.

Почитать еще

  • Алексей

    Не работает, просто открывается командная строка и резко закрывается.

  • Алексей

    Винда 32 битная

  • voran

    По всей видимости не скопировался avisynth.dll в папку System32. Я поправил документацию. Теперь там понятно, что и куда копировать для Windows 32 и для Windows 64.