Как кодировать видео?

В данный момент идет активная разработка энкодера, но он все ещё находится в состоянии «бета»-версии. Работает медленно и не очень эффективно. Релизы новых версий выходят очень часто.

Что требуется?

Выберите один из методов:

  1. Скачайте исходники из официального репозитория и скомпилируйте энкодер x265.exe под свою систему.
  2. Скачайте одну из последних сборок x265.exe с нашего сайта.
  3. Используйте программу кодирования с графической оболочкой (см. конец страницы).

Использование энкодера x265 из командной строки

Энкодер берет на вход файлы в формате YUV или Y4M. Размер картинки (ширина и высота), а также частота кадров (FPS) должны быть заданы. Кодирование запускается с командной строки, по аналогии с x264. Кодировать можно с постоянным битрейтом (флаг —bitrate) или с постоянным качеством (флаг —crf). Пример для постоянного битрейта:

x265.exe input.yuv --input-res 1920x1080 --fps 50 --bitrate 14000 --input-depth 8 -o output.x265

Пример для постоянного качества:

x265.exe input.yuv --input-res 1920x1080 --fps 50 --crf 17 --input-depth 8 -o output.x265

На выходе будет файл в сыром формате x265: output.x265 Разработчики подготовили набор параметров для соотношений время/качество кодирования. Эти параметры задаются с помощью флага —preset. Полный список (от самого быстрого до самого медленного): ultrafast, faster, fast, medium, slow, veryslow, placebo. По умолчанию используется пресет ‘medium’. Пример для установки пресета:

x265.exe input.yuv --input-res 1920x1080 --fps 50 --crf 17 --input-depth 8 --preset veryslow -o output.x265

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

x265.exe input.y4m --q 17 --merange 64 --frames all --ref 4 --max-merge 3 --rect --hash 2 --me 3 --b 6 --b-adapt 1 --rd 2 --rc-lookahead 60 --input-depth 16 --tu-inter-depth=3 --tu-intra-depth=3 --no-tskip --no-tskip-fast --wpp --subme 2 --s 32 --F 6 --o video.hevc

Подробности можно посмотреть в документации здесь (PDF на английском) .

Графические оболочки для легкого кодирования

Baka Encoder

26 комментариев на “Как кодировать видео?

  1. Помогите пожалуйста! Выходит ошибка!!!( Опишите подробно все действия от А до Я и с пояснениями, т.к. я новичёк. буду очень признателен!!!Пишите на емайл.Очень прошу!

    • Скорее всего выводит ошибку, что нет фаликов типа msvcp120.dll или msvcr120.dll. Что бы всё работало надо для начала скачать Microsoft Visual C++ Redistributable Package. Другими словами, делай так:
      1) Смотришь битность системы — если есть на диске C: папка «Program Files (x86)» — значит у тебя 64, а если только одна «Program Files» — значит 32.
      2) Просто скачиваешь здесь http://softreview.ucoz.ru/load/10-1-0-196 версии 2013 (64 или 32-bit в соответствии с тем что выяснилось в пункте 1. ) и устанавливаешь.
      3) Качаешь саму прогу здесь http://x265.ru/ в разделе «Сборки x265 под Windows». Опять таки — выбор 64 или 32 делать надо в соответствии с пунктом 1
      4) Пользоваться, благодарить авторов, и т.д. и т.п.

  2. У меня на XP даже X32 версии 0.7 пишут «x265.exe не является приложением win32»,
    что я делаю не так. Вышеуказанный пакет стоит.

  3. Сборщикам нужно было при компиляции Platform Toolset v120_xp указывать, а не просто v120 . По-умолчнию VS2013 не собирает для XP.

          • при закидывании видео в программу, в «статусе» пищется :ошибка.
            x265.ru/wp-content/uploads/2015/01/Baka-Encoder1.png
            В «статусе» вместо: ожидание, готово, обработка. Отображается надпись: ошибка.

          • А видео в каком формате? На вход принимаются не все форматы. В описании программы об этом написано.

          • открывал через программу, она видит тока формат .avi.
            как перевести видео дорожку в формате YUV или Y4M?

          • — не принимает формат: YUV или Y4M. Можете скинуть не большой отрезок видео для теста.
            — Почему в программе при нажатии на «добавить файл»: выбирая все поддерживаемые форматы — отображается только: .avi и .avs, (YUV и Y4M — не видит)?
            Можете скинуть не большой отрезок видео для теста.

          • формат: YUY2, YV12 без сжатия, HuffYUV — тоже не видит.

  4. Кодировать в x265 сразу из многих форматов (а не только из «.yuv») можно программами Handbrake или Avidemux. Но в них свои версии x265 встроены.
    Тем, кому нравится работать с командной строкой и кто не боится читать документацию, могу посоветовать установить AviSynth (позволяет писать .avs скрипты для открытия входного файла и его предварительной обработки) и avs4x265.exe позволяющую x265 работать с файлами .avs. И/или можно установить MeGUI в настройках которой нужно включить поддержку x265. После перезапуска она предложит скачать необходимые компоненты. После загрузки компонентов у неё в подкаталоге …\tools\x265\ будут avs4x265.exe и x265.exe (у меня была версия программы 1.8 которую можно заменить на одну из скачанных отсюда версий (2+). Также в MeGUI есть кнопка «One-Click» помогающая обойтись без ручного написания скриптов.
    Пример содержимого файла-скрипта 1.avs с отрезанием черных полей в верхней и нижней части кадра и с приведением размера к 960×540 пикселей:
    DirectShowSource(«C:\1\1.avi»)
    Crop(0,120,-0,-120)
    LanczosResize(960,540)
    Пример содержимого файла 1.bat для быстрого кодирования с пяти тысячного кадра по шести тысячный (при использовании ключа —ssim в конце кодирования можно будет увидеть объективную оценку качества кодирования в метрике SSIM (чем больше — тем лучше качество перекодирования)):
    «C:\1\avs4x265.exe» —x265-binary «C:\1\x265.exe» —preset ultrafast —tune ssim —seek 5000 —frames 1000 —ssim —output «C:\1\1 ultrafast.hevc» «C:\1\1.avs»

    • avi — это не формат, а контейнер, и да, другие контейнеры пока не поддерживаются, хотя в планах есть добавление поддержки mkv.
      Поддерживаемые форматы явно перечислены на странице программы:
      PCM аудио без сжатия, RGBA, RGB, RGB48, YUY2, YV12 без сжатия, HuffYUV, Lagarith (без null frames), UT Video, MJPG, Avisynth скрипты.

Добавить комментарий

Войти (Login): 

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*