Какой кодек, чтобы избежать Recompression в YouTube и Vimeo

12227
firephil

Какой кодек использовать для сжатия видео, которое youtube и vimeo не сжимают? чтобы избежать потери качества рекомпрессии

@Chris позвольте мне сделать это более конкретным (я опубликовал общий вопрос, чтобы другие могли извлечь выгоду). Я использую Sony Vegas и кодек Sony AVC / mvc @ 1920x1080 30 кадр / с с кодировкой CABAC @ 12mbit, но youtube повторно сжимает видео, и когда я выбираю его для просмотра в том же разрешении (1080p), видео становится более размытым. Я попробую webM и посмотрю, что произойдет, я еще не загрузил на vimeo то же видео @ 1080p

[edit] Существует ли верхний предел пропускной способности (т. е. 15 Мбит) для YouTube и Vimeo?

5

1 ответ на вопрос

6
Christian Woerz

На avp.stackexchange.com есть отличный ответ для YouTube-кодеков и не только

Немного общей информации об используемых форматах: YouTube использует 4 контейнерных формата и 3 различных кодека. От популярности видео зависит, какие кодеки используются для вашего видео (см. Ниже, почему). Как правило, каждое загруженное вами видео будет закодировано в формате h.264 и будет мультиплексировано в контейнеры .flv и .mp4. Это стандарт, и это будет происходить для каждого видео. Хотя .flv будет использоваться только для разрешений ниже 720p. Это означает, что в контейнере .flv будут только 360p и 480p. Хотя каждое видео ниже 720p также будет иметь версию mp4 для самого высокого доступного разрешения, либо 360p, либо 480p. Для 240p YouTube использует 3gp, который является довольно старым кодеком, предназначенным для мобильных устройств (задолго до эры смартфонов), он также поставляется в формате .3gp.

Другой используемый кодек - это VP8, который поставляется в формате контейнера WebM. WebM - это формат, разработанный Google и задуманный как стандартный видеокодек для HTML5, хотя его поддержка не очень велика. Даже на YouTube очень мало видео кодируется в WebM, WebM был представлен в HTML5-версии YouTube. YouTube только кодирует некоторые видео в WebM после их загрузки, и в основном это только популярные видео (по тем видео, которые я видел в кодировке WebM), поэтому нет уверенности, что ваше видео будет присутствовать в WebM.

Что касается вашего связанного вопроса (может быть, они должны быть объединены?)

Какой кодек / контейнер вы должны использовать для загрузки?

Это зависит, если вы ограничены / обеспокоены скоростью загрузки, тогда используйте h.264 Level 3.1 / 4.1 с Основным профилем для SD или Высоким профилем для HD и аудио AAC. YouTube прекрасно это воспримет и будет выглядеть хорошо после того, как закодирован серверами YouTube. Но имейте в виду, что YouTube ВСЕГДА будет кодировать ваше видео после его загрузки, независимо от того, какой кодек и настройки вы используете. Поэтому, если вы хотите получить теоретически лучшее качество для своих загрузок, выберите кодек без потерь для загрузки или, по крайней мере, визуально без потерь. Посмотрите на YouTube как на конечный результат в формате доставки / потребителя, а загрузка на YouTube - последний шаг в производстве, и во время производства вы хотите остаться без потерь. Но, пожалуйста, обратите внимание, что это всего лишь теоретическая вещь, на практике я бы сказал, что на самом деле это не так.

Но если вы действительно хотите сделать это «идеальным» способом, используйте производственный кодек, а не потребительский кодек, такой как h.264. MJPEG был бы хорошим кодеком для этого, YouTube определенно поддерживает это в контейнере .avi или .mov. MJPEG - это кодек с потерями, но визуальное качество будет таким же, как и у источника (если вы выбрали достаточно высокое качество, это практически JPEG в качестве видеокодека). Переход на настоящий кодек без потерь, по моему мнению, был бы пустой тратой дискового пространства и пропускной способности.

Но если вы хотите загрузить видео без потерь и не беспокоиться о времени загрузки, я рекомендую использовать стандартный кодек QuickTime, поскольку они почти все должны поддерживаться YouTube (обратите внимание, что не все из них без потерь, h264 также стандартный кодек QuickTime). Хотя YouTube не сообщает, какие кодеки QuickTime поддерживаются, к сожалению. Анимация или JPEG2000 должны работать, я думаю. Оба кодека могут быть на 100% без потерь.

Для аудио используйте PCM, если вы хотите сохранить аудио без потерь, но опять же, это просто теоретическое улучшение качества. AAC будет выполнять ту же работу по качеству и будет меньше. Я рекомендую битрейт не менее 192 кбит / с для AAC. YouTube преобразует это в ~ 24 Кбит / с (Mobile aka 3gp) ~ 64 Кбит / с (240p), ~ 128 Кбит / с (360p / 480p) и ~ 192 Кбит / с (720p +).

Что касается частоты кадров, если вы можете выбрать, а затем использовать 25FPS во время записи / анимации, YouTube нравится это больше всего (частота кадров, используемая для каждого видео), но если ваши кадры уже поступают с другой частотой кадров, то придерживайтесь этого и не t интерполировать вверх или вниз до 25 кадров в секунду. YouTube будет обрабатывать конверсию для вас и обычно делает это лучше, чем ваш кодировщик. Они должны иметь дело со всеми видами фреймов каждый день и действительно очень хорошо решили эту (на самом деле очень сложную) проблему.

Для Vimeo вы должны взглянуть на Vimeo-рекомендации. Вы должны использовать H.264-кодек. Потому что тогда им не нужно его распаковывать

Методические рекомендации:

Кодек: H.264

Кодек - это формат, в котором будет закодировано ваше видео. Vimeo принимает большинство основных видеокодеков, но для достижения наилучших результатов мы рекомендуем использовать H.264. Если вы загружаете видео высокой четкости (HD), выберите параметр Высокий профиль H.264 вместо основного профиля. Расширенные настройки H.264. Чтобы сделать загрузку более плавной, при необходимости выберите следующие расширенные настройки.

  • Закрытая Республиканская партия
  • CABAC (чтобы уменьшить размер файла)
ответ неполон, а как насчет vimeo? firephil 11 лет назад 0
@firephil, спасибо за ввод. Я добавил vimeo-информацию. Christian Woerz 11 лет назад 1