Зауважте, що для цього завжди слід використовувати останню версію ffmpeg , і бажано скласти її самостійно . Це дає вам доступ до найсвіжіших libx265 та libfdk-aac для кодування аудіо.
Крім того, економія швидкості передачі даних буде досить драматичною, якщо ви перейдете від DVD-10 ~ 10 Мбіт / с до приблизно 1–2 Мбіт / с для відео H.264 та 0,5–1 Мбіт / с для відео H.265. Зміна якості на наступних етапах може вплинути на бітрейт, але все-таки зменшення даних має бути суттєвим.
H.264
Для контролю якості / швидкості потрібно використовувати режим CRF в libx264, а не постійний бітрейт. Використання CRF забезпечує збереження середньої якості, незалежно від оригінальної роздільної здатності відео чи його складності. Постійний бітрейт дуже корисний, лише якщо вас обмежує середовище передачі (наприклад, швидкість жорсткого диска, пропускна здатність в Інтернеті).
Вибір значення CRF - складна частина. Це вимагає, щоб ви подивилися на вихід. За замовчуванням для libx264 (23) пропонується досить хороший компроміс між розміром та якістю. Але з огляду на те, що ваш вихідний джерело вже стиснений (і не дуже гарної якості порівняно з Blu-ray), ви можете змінити CRF на трохи нижче, наприклад, 20. Це збільшить необхідний бітрейт приблизно на третину .
Виберіть попередньо встановлене налаштування відповідно до того, як довго ви хочете чекати. slow
здається, тут хороша цінність.
ffmpeg -i input \
-c:v libx264 -crf 20 -pix_fmt yuv420p \
-x264-params keyint=240:min-keyint=20 \
-preset:v slow -profile:v baseline -level 3.0 \
-c:a libfdk_aac -vbr 4 \
output.mp4
Вбудований кодер AAC ffmpeg може використовуватися, якщо libfdk-aac недоступний. Використовуйте -c:a aac -strict experimental -b:a 128k
замість -c:a libfdk_aac -vbr 4
.
H.265
Дослідження свідчать, що використання HEVC призведе до економії до 74% бітрейту в порівнянні з H.264. Це ґрунтується на даних суб'єктивного перегляду послідовностей Ultra-HD. Звичайно, це залежить від часової складності вихідного вмісту, а кількість збережених даних не буде настільки високим для послідовностей, що важко кодують. У будь-якому випадку можна сміливо сказати, що 50% зменшення даних є абсолютно можливим.
CRF за замовчуванням для libx265 дорівнює 28. Використовуючи той самий вихідний вміст, це призводить до приблизно половини бітрейта порівняно з libx264 у CRF 23. Це незалежно від фактичного бітрейта, тобто якщо версія H.264 займає 1,5 Мбіт / с, тоді H.265 використовуватиме близько 750 кбіт / с, але це 750 кбіт / с проти 350 кБ / с для іншої послідовності. Я запустив це в декількох послідовностях при роздільній здатності DVD-PAL і не зміг визначити різницю в якості.
ffmpeg -i input \
-c:v libx265 -pix_fmt yuv420p \
-x265-params crf=28:keyint=240:min-keyint=20 \
-preset:v slow \
-c:a libfdk_aac -vbr 4 \
output.mp4
Для отримання додаткової інформації тут відповідні ресурси: