Некоторая общая информация об используемых форматах:
YouTube использует 4 формата контейнера и 4 разных кодека. От популярности видео зависит, какие кодеки используются для вашего видео (см. Ниже, почему). Как правило, каждое загруженное вами видео будет закодировано в формате h.264 и будет мультиплексировано в контейнеры .flv и .mp4. Это стандарт, и это будет происходить для каждого видео. Хотя .flv будет использоваться только для разрешений ниже 720p. Это означает, что в контейнере .flv будут только 360p и 480p. Хотя каждое видео ниже 720p также будет иметь версию mp4. Для 240p YouTube также использует 3gp, который является довольно старым кодеком (основанным на MPEG-4 Part 2 (не путать с MPEG4 Part 10 или h.264)), предназначенным для мобильных устройств (задолго до эры смартфонов), он приходит в контейнер .3gpp.
Другой используемый кодек - это VP8, который поставляется в формате контейнера WebM. WebM - это формат, разработанный Google и задуманный как стандартный видеокодек для HTML5, поддержка которого в настоящее время довольно хороша в большинстве современных браузеров. WebM был представлен в HTML5-версии YouTube. YouTube только кодирует некоторые видео в WebM после того, как они были загружены, и в основном это только популярные видео (по тем видео, которые я видел, закодированные в WebM), поэтому нет уверенности, что ваше видео будет присутствовать в WebM. Хотя ситуация меняется с ростом поддержки WebM.
К настоящему времени YouTube также поддерживает VP9 в WebM, но пока только Chrome поддерживает этот кодек (по состоянию на 06/2015). В VP9 они также представили поддержку аудиокодека Opus (кроме AAC, который используется во всех других контейнерах).
Что касается вашего связанного вопроса (может быть, они должны быть объединены?)
Какой кодек / контейнер вы должны использовать для загрузки?
Это зависит, если вы ограничены / обеспокоены скоростью загрузки, тогда используйте h.264 Level 3.1 / 4.1 с основным профилем для SD или High Profile для HD. YouTube прекрасно это воспримет и будет выглядеть хорошо после того, как закодирован серверами YouTube. Я бы обычно рекомендовал битрейт ~ 4-5 Мбит / с для материала 720p и ~ 8-9 Мбит / с для 1080p. Для 4k идти на ~ 15 Мбит / с. Обычно это хороший баланс между размером и качеством. Если вы хотите лучшего качества, переходите на более высокий битрейт, а если хотите меньшее видео, переходите на более низкий битрейт.
Но имейте в виду, что YouTube ВСЕГДА будет кодировать ваше видео после его загрузки, независимо от того, какой кодек и настройки вы используете. Поэтому, если вы хотите получить теоретически лучшее качество для своих загрузок, выберите кодек без потерь для загрузки или, по крайней мере, визуально без потерь. Посмотрите на YouTube как на конечный результат в формате доставки / потребителя, а загрузка на YouTube - последний шаг в производстве, и в процессе производства вы хотите остаться без потерь. Но, пожалуйста, обратите внимание, что это всего лишь теоретическая вещь, практически я бы сказал, что это действительно не имеет значения, поскольку мы говорим о YouTube, а не о телевизионном вещании или кино.
Но если вы действительно хотите сделать это «идеальным» способом, используйте производственный кодек, а не потребительский кодек, такой как h.264. MJPEG будет хорошим кодеком для этого, YouTube определенно поддерживает его в контейнере .avi или .mov. MJPEG - это кодек с потерями, но визуальное качество будет таким же, как и у источника (если вы выбрали достаточно высокое значение качества, это практически JPEG в качестве видеокодека). Переход на настоящий кодек без потерь, по моему мнению, был бы пустой тратой дискового пространства и пропускной способности.
Но если вы хотите загрузить свое видео по-настоящему без потерь и не беспокоиться о времени загрузки, я рекомендую использовать стандартный кодек QuickTime, поскольку они почти все должны поддерживаться YouTube (обратите внимание, что не все из них без потерь, h264 также стандартный кодек QuickTime). Хотя YouTube не сообщает, какие кодеки QuickTime поддерживаются, к сожалению. Я думаю, анимация или JPEG2000 должны работать. Оба кодека могут быть на 100% без потерь.
Что касается частоты кадров, если вы можете выбрать, то используйте 25FPS (сейчас YouTube также поддерживает видео 50 и 60FPS, а значит, и 30FPS) во время записи / анимации, YouTube больше всего нравится (частота кадров, используемая для каждого видео), но если ваши кадры уже поступают с другой частотой кадров, то придерживайтесь этого и не интерполируйте вверх или вниз. YouTube будет обрабатывать конверсию для вас и обычно делает это лучше, чем ваш кодировщик. Им приходится иметь дело со всеми видами фреймов каждый день, и они решили эту (на самом деле очень сложную) проблему очень хорошо.
Аудио:
Для аудио используйте PCM, если вы хотите сохранить звук без потерь, но опять же, это просто теоретическое улучшение качества. AAC обычно выполняет ту же работу по качеству (субъективно) и будет меньше. Я рекомендую битрейт как минимум 192 кбит / с для AAC. Влияние на размер, как правило, не так велико, как у видео кодека, поэтому вы можете просто использовать скорость 320 кбит / с. YouTube преобразует аудио в ~ 24 Кбит / с (Mobile aka 3gp) ~ 64 Кбит / с (240p), ~ 128 Кбит / с (360p / 480p) и ~ 192 Кбит / с (720p +) с использованием кодеков AAC и Opus (только WebM).