Я заметил, что размер файла WebM составляет 8 МБ, а MP4 и OGG - около 1-2 МБ. Это нормально? И почему файлы webm такие большие?
Если вы выберете "высококачественные" параметры, кодер будет тратить на видео больше битов в секунду (или на кадр). В этом нет ничего необычного, возможно, вы просто использовали "неправильные" настройки.
На самом деле, WebM не сжимает так, как это обычно делает H.264, но должно быть равно (или немного лучше) видео Theora.*
Обратите внимание, что когда вы перекодируете файл, который уже закодирован, вы выбрасываете еще больше информации, сжимая ее снова. Поэтому неплохо сделать выходной файл равным по размеру или даже больше входного, чтобы не сжимать его слишком сильно - вплоть до того момента, когда вы действительно увидите, что видео выглядит значительно хуже.
При этом попробуйте настроить параметры качества или битрейта, чтобы полученное видео по-прежнему выглядело нормально.
Стоит ли попробовать другую программу-конвертер? Если так, что бы вы порекомендовали?
libvpx
- это оригинальный кодер для WebM от Google (или ранее On2, который разработал дизайн кодека). Я предполагаю, что VLC использует те же библиотеки в фоновом режиме, так что вы не найдете "лучшего" кодера.
Вероятно, у вас будет более новая или аналогичная версия в комплекте с FFmpeg, когда она скомпилирована --enable-libvpx
. Посмотрите мой пост в блоге о том, что вы можете сделать с FFmpeg. Для WebM вы можете использовать кодек libvpx
. Но в зависимости от того, что вы можете установить с VLC, это совершенно необязательно.
* обратите внимание, что OGG и MP4 являются контейнерами. Фактический кодек, используемый в OGG, обычно "Theora", а для MP4 - «h.264» или «MPEG-4 Part II». См .: Что такое кодек (например, DivX?) И чем он отличается от формата файла (например, MPG)?