Як я можу використовувати Avidemux для повторного стиснення відео H264 з подібною якістю?


2

У мене є безліч відео, знятих із мого телефону, і вони досить масивні, враховуючи їх довжину (наприклад, 3-х хвилинне відео при 1920 × 1080 перевищує 400 МБ).

Я гадаю, що це тому, що телефон надає перевагу ресурсу акумулятора та його якості за місце для зберігання, тому я вважаю, що міг би запустити їх через Avidemux, щоб перекодувати їх та зменшити їх розмір, не заважаючи занадто сильно їх якості. Я розумію, що деградація неминуча. Але так як є так багато місця для стиснення, я думаю , що це повинно бути можливим , щоб уникнути великі відчутною деградації.

Відео кодуються в H264 / AAC в контейнері MP4. Я можу просто скопіювати аудіо безпосередньо в Avidemux. Але як я можу вивести деякі приблизні значення для кодера H264, щоб підтримувати якість відео? Я не думаю, що формат H264 зберігає інформацію про вхідні параметри. Можна вибрати рівень якості, який повністю роздуває розмір файлу без посилення, а також можна вибрати рівень якості, який робить відео жахливим; чи є якийсь спосіб проаналізувати інформацію, щоб визначити "солодке місце", де розмір відео зменшується, не впливаючи на якість занадто сильно?

Я розумію, що в цьому питанні є певна ступінь суб'єктивності; що я вважав би "відчутною" деградацією? Однак, враховуючи, що кодери відео традиційно параметризовані перцептивними якостями, чи можна привести приблизний діапазон для деяких основних параметрів?

Відповіді:


3

Існує кілька інструментів командного рядка або GUI, які показують деякі спрощені параметри кодування відео H264, наприклад. ffmpegабо mediainfo:

$ mediainfo myvideo.mp4
[... look for the "Video" section ...]
Format profile                           : High@L4
Bit rate                                 : 17.0 Mbps

$ ffprobe -show_streams myvideo.mp4
[... look for a [STREAM] header followed by codec_type=video ...]
profile=High
level=40
bit_rate=16996359

Зверніть увагу на параметри profileта levelffmpeg). Не турбуйтеся про швидкість передачі бітів, вона насправді не говорить вам нічого, що розмір файлу не має. Я думаю, що вихідний показник levelв ffmpegs становить 10 × реальне значення (тобто 40означає рівень 4, 41означає 4.1 тощо).

Avidemux дозволяє використовувати спрощені налаштування, де ви можете встановити їх і залишити точніші параметри за замовчуванням Avidemux.

Скріншот Avidemux

Я зрозумів, що це відповідні налаштування:

  • Використовувати розширену конфігурацію не знімається.
  • Профіль високий.
  • Рівень IDC - 4.

Використання більш повільного попередньо встановленого значення підвищить якість у цих параметрах (до точки).

Ви також можете використовувати двопрохідне кодування для подальшого зменшення розміру файлу. Я не знаю хорошого способу передбачити розумний розмір файлу, але хороший середній бітрейт із двома проходами для 1920 × 1080 - це що-небудь від 6-8Mbps. Не націлюйте оригінальний розмір файлу або швидкість передачі файлів : ви просто отримаєте файл однакового розміру.

У моєму випадку просто кодування однократного пропуску на рівні 20 (за замовчуванням Avidemux) удвічі зменшило розмір файлу, а порівняння за допомогою Bino та Kinovea не показало (для мене) різниці, навіть на кадрах із розмитими зображеннями або з високим контрастом. Здійснення кодування двох пропускань зі швидкістю 7 Мбіт / с (саме так вийшов кодинг з одним проходом) знизило це до 40%.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.