Фон
FFmpeg підтримує кодування HEVC / H.265 з 2014-2-12 з libx265. Тепер ви можете використовувати ffmpeg безпосередньо для кодування HEVC або використовувати інший кодер, а потім вручну відключити його в .mp4, .mov або .mkv за допомогою FFmpeg.
Доступні кодери
Поточними кодерами H.265 / HEVC є:
Тільки MulticoreWare і DivX пропонуються через час їх розробки та надійність.
Два x265-х
Одна плутанина полягає в тому, що є два незалежні проекти, названі "x265", один - студент китайського коледжу і практично мертвий, а інший - комерційна компанія під назвою MulticoreWare. Незважаючи на те, що перший почався перший, він зараз практично мертвий, а другий перебуває в активному розвитку і його схвалює VideoLAN (розробник x264).
Хронологічна підтримка кодування FFmpeg HEVC
- 2013-10-12 .mov додано підтримку
53f903b
.
- Додана підтримка кодування 2014-02-12 libx265
bb6b173
.
- 2014-03-09 Додано більш повну підтримку Matroska muxing для HEVC
38aee64
.
- 2014-03-09 Додано більш повну .mov та нову підтримку .mp4 muxing
9563e67
.
тл; д-р
У будь-якому разі, це повний набір поточних можливостей кодування HEVC у порядку моєї рекомендації:
Безпосередньо за допомогою MulticoreWare libx265 з FFmpeg. Це означає, що з останньою збіркою Zeranoe тепер ви можете це зробити:
ffmpeg -i INPUT -c:v libx265 -an -x265-params crf=25 OUT.mov
# With audio
ffmpeg -i INPUT -c:v libx265 -c:a copy -x265-params crf=25 OUT.mov
Примітка: FFmpeg будує новіші, ніж 2014-03-09, дозволяє вимкнути HEVC у файли .mp4 зараз (виконувати 9563e67):
ffmpeg -i INPUT -c:v libx265 -an -x265-params crf=25 OUT.mp4
Ви також можете вимкнути його в Matroska (.mkv):
ffmpeg -i INPUT -c:v libx265 -an -x265-params crf=25 OUT.mkv
Використання автономного MulticoreWare x265, а потім mux отриманого файлу за допомогою FFmpeg або MP4Box . Це буде працювати зі старими збірками FFmpeg, які не мають підтримки libx265.
# Decode input using FFmpeg and encode using x265 using pipe
ffmpeg -i INPUT -f yuv4mpegpipe -pix_fmt yuv420p - | \
x265 --y4m -o encoded.265 -
# Mux the resulting encoded .265 file into an .mp4 or .mov
# Using ffmpeg: only works with newer builds that support muxing HEVC
# Muxing to .mp4 supported since 03-09-2014
ffmpeg -i encoded.265 -c copy out.mp4
# With audio
ffmpeg -i encoded.265 -i INPUT -map 0 -map 1:a -c copy out.mp4
# Using MP4Box
MP4Box -add raw.265 out.mp4
# With audio
MP4Box -add {INPUT}#audio -add raw.265 out.mp4
Завдяки @Duvrai
Використовуючи DivX HEVC Encoder, а потім відключіть його.
Спосіб його використання аналогічний використанню автономного x265 (див. Вище).
Оновлення: FFmpeg має підтримку кодування HEVC, використовуючи MulticoreWare libx265 зараз.
Оновлення 2: Тепер FFmpeg має підтримку для відключення HEVC у mp4 AND mov.
crf=25
являє в прикладних