How to encode video?

Currently encoder in active stage of development, but it’s still in “beta” stage. Releases of new versions are made very often.

Requirements

Choose one of methods:

  1. Download the source code from the official repository and compile encoder x265.exe for your operation system.
  2. Download one of the latest builds of x265.exe from our site.
  3. Use for encoding program with graphical user interface (see the end of the page).

Encoder usage in command line

Encoder takes on input files in the YUV or Y4M format. The width and height of frame and FPS must be set. Encoding is started using command line (by analogy to x264). Example:

x265.exe input.yuv –input-res 1920×1080 –fps 50 -o output.x265 –csv results.csv –no-rect –max-merge 3 –rd 0 –tu-intra-depth 2 –tu-inter-depth 1 –no-tskip –frame-threads 2

The output is a file in raw format x265: output.x265 Line with additional parameters providing higher quality:

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

The details can be found here (PDF in English).

GUI for easy encoding

Baka Encoder

59 thoughts on “How to encode video?

  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 – не видит)?
            Можете скинуть не большой отрезок видео для теста.

  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 скрипты.

  5. Хочу спросить на рутрекере писали что количество B кадров выше 3 снижает детализацию, это правда? Какое число B кадров лучше для советских мультфильмов? время кодирования значения не имеет.

    И ещё CUTree в x.265 это аналог MB-Tree x.264 или что-то новое и какое соответствие CRF между этими кодеками?

    • Б нужно или 8 или 9 или 10. Смотря какой лог. Ниже – снижает детализацию. Что в иксе, что в хевке.
      Кутри аналог дерева (MB-Tree) из икса, чуть измененное, на анимации юзать строго противопоказано, оно экономит на статике в угоду динамике, а в анимации куча статики. Црф я использую такие же, как и на иксе, иногда чуть сильнее. 15-17 диапазон для анимации.

      • А можно полную командную строку? А то перекодировал ролик ~4Mbps
        720p вроде как перебор по битрейту

        • И какой вообще типичный битрейт Мультфильма/Фильма?

          P.S. А по поводу дерева я кажется где-то читал что в X.265 оно работает на оборот по сравнению с X.264 (Или же про AQ ,но сильно сомневаюсь что про AQ)

          • cu-tree я отключал при кодировании
            малодинамичной анимации, но результат мне не понравился: всё сильно размазалось и битрейт увеличился. Вообщем, проверяйте сами на маленьких отрезках.
            Насчёт командной строки:
            В x264 есть –tune animation – для аниме и мультипликации:
            –ref (удваивает –ref если оно больше 1) –deblock 1:1 –psy-rd 0.4: –aq-strength 0.6 –bframes (стандартный –bframes + 2)

            Видел настройки BVzCoder Tuned Anime 720p, действительно помогающие для анимаций:
            –preset slower –tune psnr –crf 25 –limit-tu 0 –bframes 3 –ref 3 –rc-lookahead 60 –merange 60 –aq-mode 1 –aq-strength 0.6 –psy-rd 0.52 –psy-rdoq 0.00 –rd 6 –vbv-maxrate 1500 –vbv-bufsize 1500
            Я составил для себя примерно такие параметры:
            –keyint 1000 -F 1 –qcomp 0.80 –bframes 10 –ref 6 –deblock=1:1 –aq-mode 1 –aq-strength 0.6 –psy-rd 0.52 –psy-rdoq 0.00 –rd 6 –vbv-maxrate 1500 –vbv-bufsize 1500
            crf зависит от разрешения и исходника, не могу сказать универсальную величину.
            Кто-то ещё ставит “–keyint -1” – бесконечный GOP, но не рекомендую, так как перемотка будет очень медленной.
            Для плёночных (старых) мультиков следует добавлять –rc-lookahead 100
            При понижении разрешения использую строку в FFmpeg “-sws_flags lanczos+accurate_rnd” для резкости, но в случаи с плёночными мультиками она не нужна.

        • >~4Mbps
          720p вроде как перебор по битрейту
          Нет, если вам жалко битрейта, вам не жалко деталей в темных сценах, которых не будет из за недостатка битрейта.
          >А можно полную командную строку?

          avs2yuv64 -nstdr NCED3.avs -o – | x265-10bit-x64-v2.4-icc –ref 4 –bframes 9 –bframe-bias 0 –b-pyramid –b-adapt 2 –aq-mode 3 –qg-size 16 –no-rskip –aq-strength 0.85 –ctu 32 –deblock 1:-1 –min-cu-size 8 –max-tu-size 32 –tu-intra-depth 2 –tu-inter-depth 2 –rdpenalty 0 –me 2 –no-rect –no-amp –no-fast-intra –no-tskip-fast –no-tskip –max-merge 3 –temporal-mvp –no-strong-intra-smoothing –no-constrained-intra –no-open-gop –no-cutree –no-sao –no-sao-non-deblock –no-temporal-layers –wpp –subme 4 –qblur 0 –cplxblur 0 –crf-min 12 –crf-max 16 –crf 15 –qcomp 0.72 –b-pyramid –merange 48 –limit-refs 2 –keyint 240 –signhide –no-rd-refine –weightp –weightb –rd 4 –psy-rd 2 –rdoq-level 2 –limit-modes –psy-rdoq 2 –sar 1:1 –info –colorprim bt709 –transfer bt709 –colormatrix bt709 –output “NCED3.hevc” –csv-log-level 2 –csv “NCED3.txt” –y4m –

          • >cu-tree я отключал при кодировании
            малодинамичной анимации, но результат мне не понравился: всё сильно размазалось и битрейт увеличился. Вообщем, проверяйте сами на маленьких отрезках.
            Оно как и в x264 (хоть и работает чуть по другому) работает только во вред. Пока есть хоть какой то шум в исходнике, его нельзя использовать. На 10 бит ухдбд 4к можно будет попробовать, так как там не будет зерна и шума, который добавляют для предотвращения бандинга в 8 битных бд.

          • Странные у вас параметры:
            1.B-Adapt 2 не рекомендуется для анимации даёт артефакты.
            2. Разница между параметрами деблока не должна превышать 1(2??)

            По крайней мере я читал такие рекомендации для X.264.

          • И да будет ли выше качество если использовать
            —subme 7 —max-merge 5 –rd 6

  6. Hi, thanks for the software
    I’ve downloaded your latest build from your site, I’m using win10 and it always crashes when I launch the .exe
    Can you help me? just mail me.

    Thank You!

  7. >1.B-Adapt 2 не рекомендуется для анимации даёт артефакты.
    Это и
    >2. Разница между параметрами деблока не должна превышать 1(2??)
    это устаревшая инфа для старых версий x264.
    B-Adapt на максимум (2) когда б фрэймс значения высокие.
    Деблок оно на 1 давит не сильно блоки, на -1 порог позволяет не путать на большинстве аниме детали с блоками. На высоких битрейтах такие настройки оптимальны, высоких это более 2-3 мегабит.
    >И да будет ли выше качество если использовать
    —subme 7 —max-merge 5 —rd 6
    Качество будет чуть чуть лучше, а вот скорость много медленнее.

    • Только сейчас обратил внимание у вас первый —deblock 1:-1 а, потом —no-sao-non-deblock как я понял второй отменяет первый и да я обрабатываю советский мультфильм и на одну серию налагается шумок какие в этом случае будут параметры?

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

      • sao-deblock это адаптивный деблок, фишка hevc, очень любит мазать, а первое – деблок перенесенный из x264.
        Для зернистого сорца советую x264, hevc еще не может в такое, пытается экономить на битрейте и мажет шум.
        Если у вас стабильно все видео есть зерно (не зернистое изображение оно испортит), то можно вот так сделать в x264:
        –crf 17 –force-cfr –no-fast-pskip –no-mbtree –aq-mode 1 –aq-strength 0.6 –qcomp 0.9 –qpmax 50 –deblock -2:-2 –me umh –b-adapt 2 -b 12 -r 12 -w –mixed-refs –trellis 2 –b-pyramid normal –lookahead-threads 4 –direct spatial -A all -m 10 –merange 32 –psy-rd 1.2:0.0

        • Я нашёл на rutracker пресет и модифицировал его:
          –crf 23.5 –fps 29970/1000 –level-idc 5 –high-tier –vbv-bufsize 50000 –vbv-maxrate 50000 –qpstep 1 –preset placebo –ref 6 –aq-mode 3 –aq-strength 0.6 –aq-motion –limit-refs 3 –no-cutree –no-sao –no-deblock –merange 25 –max-merge 5 –ctu 32 –amp –b-intra –bframes 4 –b-adapt 2 –psy-rd 2.00 –psy-rdoq 3.00 –rdoq-level 2 –ipratio 1.10 –pbratio 1.00 –subme 7 –slow-firstpass –rc-lookahead 60 –lookahead-slices 0 –no-rskip –no-early-skip –no-fast-intra –no-strong-intra-smoothing

          для зерна использовать: –psy-rd 2.0 –psy-rdoq 3.0

          Оба для фильмов.

          закодировал им(первый вариант) вступительный ролик к игре Lost Planet(720p) и как на меня видео стало даже чётче чем в оригинале, может если что то подкрутить сгодится и здесь?

          • Для зернистого сорца советую x264, hevc еще не может в такое, пытается экономить на битрейте и мажет шум.
            На свой страх и риск короче, —psy-rd 2.0 в дефолте такое.
            —psy-rdoq 3.0 можно и выше, но это визуальное качество,если рассматривать скриншоты, то все одно будут небольшие косяки) Разве что 2.5 билд сейчас тестирую, оно уделывает икс по детализации фона на аниме с небольшим уровнем шума. Так что пробуйте, крутите, но 4135.76 kb/s, Avg QP:25.24 как то слишком сильно сжало, —crf 23.5 оч много для анимации. от 15 до 18 как на x264 такие значения в среднем.

  8. Вроде разобрался, но на засыпку ещё вопрос –rect –amp качество улучшат и какими ещё ключами можно улучшить качество?

    P.S. Спасибо за помощь.

    • На 2.4+14 —rect —amp немного улучшают качество не ключевых кадров, но на моём двухядерном процессоре увеличивают время кодирования вдвое.

      … но 4135.76 kb/s, Avg QP:25.24 как то слишком сильно сжало, —crf 23.5 оч много для анимации. от 15 до 18 как на x264 такие значения в среднем.

      Не лишнего ли битрейта будет? 4 499 Kbps это битрейт CG рендеренного мультфильма с горой динамики и спецэффектов в 1080p HEVC:
      http://hevc-club.ucoz.net/load/multfilmy_hevc/poslednjaja_fantazija_7_deti_prishestvija_final_fantasy_vii_advent_children_complete_2009_bdrip_1080p_hevc/2-1-0-602
      Он практически не отличим от x264 на ~10 000 Kbps, и качество там очень высокое. Аниме на anidl.org в 720p жмут до ~450 Kbps CRF 25 HEVC и ~900 Kbps CRF 24 в x264, качество достаточно хорошее, во всяком случае на их фоне кажется, что CRF~17 и более 4 000 kb/s не стоят разницы в качестве.

      • >Не лишнего ли битрейта будет? 4 499 Kbps это битрейт CG рендеренного мультфильма с горой динамики и спецэффектов в 1080p HEVC…
        Ну нет, то не рип, а пережатка, в которой качество на самом плачевном уровне, посмотрите хотя бы на скриншоты и увидите, что в темных местах изображение аж рассыпается на блоки от недостатка битрейта, а сами текстуры превратились в “лед” – шума нет вообще, так как нет битрейта. Убиты текстуры если по простому.
        Ставь crf 40, чо уж, разницы то нет.
        >Аниме на anidl.org в 720p жмут до ~450 Kbps CRF 25 HEVC и ~900 Kbps CRF 24 в x264, качество достаточно хорошее, во всяком случае на их фоне кажется, что CRF~17 и более 4 000 kb/s не стоят разницы в качестве.
        На этом можно закончить разговор)

        • Я не видел оригинала, но как на меня текстуры какие-то пластиковые даже лица, хотя помню в каком-то ролике(SD) детализация на лице была,с учётом разрешения(смотрел в своё время на 17′), выше.Какие-то “блочноподобные” артефакты заметить сложнее,но тоже есть.а вообще читал где-то что для X.264 (для X.265 делите на 2)
          720p 3-6mb/s
          1080p 8-15mb/s
          по скачанным рипам пришёл к выводу что для мультфильмов можно уменьшать ещё примерно вдвое, почему и написал что ~4mb/s должно было хватить 0.75-1.5mb/s 3 предел, судя по скринам кодек ещё неготов к “минимальным”для стандарта битрейтам.

          • почему и написал что ~4mb/s перебор, должно было хватить 0.75-1.5mb/s 3 предел,но судя по скринам по ссылке кодек ещё неготов к «минимальным» для стандарта битрейтам.

            P.S. Поправил ошибки если что.

          • Вообще где-то читал что 2X преимущество HEVC(стандарта) получается на плавных градиентах,а на высокодетализированном видео будет меньше.

  9. Про качество:
    —me можете в максимум крутнуть, но это + 10% качества и – 100% скорости)
    Настройки скинутые мной подобраны мной же для аниме\мультфильмов, сильнее не надо, только их крутить (чаще всего просто крф подбирать) или, если есть мощный, очень мощный пк, то можно все тупо в максимум поставить и пофиг на скорость.

  10. 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

    где в этих настройках указывается какой выбран пресет (fast, medium и т.д.)?

  11. Народ, кто вообще какой пресет выбирает и в каких случаях меняете? (т.е. faster, fast, medium, slow, veryslow, placebo)

  12. Друзья, у вас очень важная ошибка в описании

    “Разработчики подготовили набор параметров для соотношений время/качество кодирования.”

    Тогда как в официальной документации речь идет о СТЕПЕНИ СЖАТИЯ
    Presets:
    -p/–preset Trade off performance for compression efficiency. Default medium

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

  13. В режиме -QP и -CRF это действительно объём, но о каком объёме может идти речь в режиме –bitrate?Для него это качество!

  14. Сергей, а никто и не утверждает что это объем. В официальной документации это степень сжатия.
    Чтобы было понятнее что это такое, обратите внимание на этот же параметр в архиваторах, 7z каком нибудь. Качество там всегда 100% (сжатие без потерь), но степень сжатия может быть разная. В одном случае вообще не сжато практически, в другом случае архиватор пытается сжать максимально, затратив на это кучу времени. А что касается объема, он в случае максимального сжатия может быть почти такой же как и при среднем, пару процентов выиграете.
    Для этого же этот параметр и в кодеке – если есть у вас вагон времени и/или вычислительной мощности, вы можете потратить это сделав ролик на несколько процентов меньше, чем при среднем параметре. На качество видео это не влияет никак. В том числе, с параметром –bitrate.

  15. Скажите пожалуйста,как настроить XviD4PSP 8 при кодировании в X265 ?
    Дело в том,что видео получается немного замыленным в сравнении с исходником,как это можно исправить?

Leave a Reply

Войти (Login): 

Your email address will not be published. Required fields are marked *

*