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


26

Относится к What codecs/formats are appropriate for full motion video recording for youtube? Мне интересно, как я могу ожидать, что Youtube обработает мои видео. Я знаю, что у них есть довольно усердная обработка, которая создает несколько копий моей загрузки при разных разрешениях; 1080p, 720p и 480p и, по-видимому, мобильный, по крайней мере.

Какой кодек (ы) они используют? Как продюсер, у меня есть возможность загрузить файл как MP4; однако я отмечаю, что сторонний загрузчик (который очень теневой и дерьмовый) приносит файлы вниз как FLV. Я в основном задаюсь вопросом, будет ли мой кодек сохранен или перезаписан H.264 или что бы он ни использовал. Учитывая их удивительную совместимость между устройствами, я предполагаю, что они либо используют очень распространенный стандарт, либо несколько кодеков для каждого видео.

Каким кодеком я могу ожидать, что мои видео будут выводиться, и если это зависит от того, от чего это зависит? Должен ли я настроить собственную кодировку, чтобы «играть хорошо» с кодеком Youtube, или это имеет значение, качество? Я знаю, что на Youtube могу многое нарисовать, и это займет его, поэтому я в основном занимаюсь качеством видео.

  0

вот инструмент для просмотра доступных форматов для видео: http://www.h3xed.com/web-and-internet/youtube-audio-quality-bitrate-240p-360p-480p-720p-1080p 24 янв. 162016-01-24 13:41:42

5

Какой формат YT выводит их видео, зависит от различных факторов. Для большинства обычных видеороликов они используют потоки с кодировкой H264 для видео (AAC или MP3 для аудио) в виде файлов контейнеров MP4 и FLV.

Это только контейнеры, в которых хранятся кодированные видеоданные, хотя формат H264 не является гарантией FLV-файлов (или теоретически с файлами MP4), поскольку они также могут содержать Sorenson Spark, On2 VP6 и другие (особенно случай со старыми видео).

FLV используются, поскольку они гарантированно воспроизводятся с помощью Flash-плеера.

Это не совсем программное обеспечение для загрузки, чтобы определить формат - они просто загружают то, что доступно с помощью itag «внутреннего» URL-адреса видео (а не в браузере), чтобы определить параметры. Если они, возможно, конвертируют видео, это будет особенностью, но не связано с форматами YT.

Существуют также другие форматы, такие как 3GP, WEBM, а также для 3D-фильмов. Некоторые из них нацелены на телефоны и новый стандарт Html5 (который реализуется как-мы-говорящий), который может воспроизводить видео напрямую с помощью html (т. Е. Без flash-плеера).

Но вернемся к наиболее распространенным форматам: по качеству это не имеет большого значения. Если FLV содержит H264, вы можете воспроизвести его так же хорошо, как файл контейнера MP4 с файлом f.ex VideoLAN's VLC Player. Если FLV не содержит H264, и вы хотите, чтобы в качестве контейнера MP4, содержащего H264, вам нужно было его перекодировать, что означает, что вы потеряете качество.

Поскольку YT в настоящее время предпочитает H264, я бы предложил загрузить в этом формате (см. Их информацию о размерах и скоростях передачи, чтобы избежать перекодирования для лучшего разрешения).


29

Некоторые общие сведения о форматах, используемых:

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

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

К настоящему времени YouTube также поддерживает VP9 в WebM, но до сих пор только хром поддерживает этот кодек (по состоянию на 06/2015). С VP9 они также внедрили поддержку аудиокодека Opus (помимо AAC, который используется во всех других контейнерах).

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

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

Это зависит, если вы ограничены или обеспокоены скоростью выгрузки, используйте h.264 уровень 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 будет конвертировать аудио в формат ~ 24kbps (Mobile aka 3gp) ~ 64 кбит/с (240p), ~ 128 кбит/с (360p/480p) и ~ 192kbps (720p +) с использованием кодека AAC и Opus (только для WebM).

+3

Я согласен на этот ответ. Но есть практический предел: скорость загрузки. Сколько времени вы хотите загрузить? Целый уик-энд, ночь или пару часов до конца рабочего дня. Я сам поставил лимит на 2 ГБ на 10 минут видео, для чего мне нужно около 4 часов времени загрузки в моем случае. Но действительно ли это ограничивает качество? Мое видео объемом 2 ГБ имеет скорость передачи до 30 Мбит/с, и YouTube конвертирует ее в 3 Мбит/с. Кодировка без потерь увеличит время загрузки, но выход YouTube будет по-прежнему составлять 3 Мбит/с. Сообщите свои личные данные самостоятельно. 17 фев. 132013-02-17 14:11:23

  0

Уверен, поэтому я сделал это (надеюсь) совершенно ясно, что его теоретические и никоим образом не практические. H.264 рекомендуется практически для всех случаев. Единственная реальная практическая утилита для MJPEG, о которой я могу думать, - это когда цветовая обтекаемость происходит с первым кодированием h.264, который будет ухудшаться со вторым кодированием с YouTube. 17 фев. 132013-02-17 15:20:03

+1

Youtube поддерживает h.264 высокий профиль, поэтому вы должны использовать его всегда. Основной профиль для SD-контента - глупо. Оставляя 8x8dct, это всегда плохая идея. В x264 включение 8x8dct является наиболее эффективным компромиссом процессорного времени для лучшего качества на размер файла (например, скорость: искажение или RD). 15 янв. 152015-01-15 11:30:31

+2

H.264 будет выглядеть намного лучше с тем же битрейтом, что и MJPEG. Если вы хотите получить лучшее качество, просто включите биттрейт (или настройку качества в режиме постоянного качества вместо целевого битрейта). Вы можете пройти весь путь до без потерь h.264, если вы не возражаете загружать огромный файл. Вероятно, он будет меньше, чем j2k без потерь. Оба являются идеальным качеством, хотя, так как это означает, что без потерь. 15 янв. 152015-01-15 11:33:48

+1

Для аудио, IDK, если youtube поддерживает FLAC или нет. Если это так, это будет ваш выбор для без потерь. В противном случае да, высокий бит ААК с хорошим кодировщиком. ('-c: a libfdk-aac', а не по умолчанию' faac' или встроенные 'aac' кодеры в ffmpeg.) 15 янв. 152015-01-15 11:35:33


0

Код кодировки: Lavf57.25.100.

Это одна из немногих конфликтующих Страницы, содержит более, чем информация некоторые другие: https://support.google.com/youtube/answer/6039860?hl=en


0

Ваш вопрос «Как YouTube закодировать мои загрузки и какой кодек следует использовать для загрузки?».

Копаем глубже в ваш вопрос. Я вижу: «Должен ли я настроить свою собственную кодировку на« хорошо играть »с кодеком Youtube, или это важно, по качеству? Я знаю, что могу нарисовать почти что угодно на Youtube, и это будет возьмите его, поэтому я в основном интересуюсь качеством видео ».

Ответ на вопрос: YouTube использует Lavf57.25.100 для кодирования новых видеороликов, в то время как видеоролики в течение нескольких лет были закодированы с проприетарным кодировщиком (который не имеет «Lavf57.25.100», встроенного в свой ID, но вместо этого имеет следующее предложение: «Файл IsoMedia, созданный Google, 5-11-2011»). Старые видео не были перекодированы при изменении Алгоритма.

Допустимо использовать различные кодеки, рекомендуемые YouTube H.264 - см. Здесь: https://support.google.com/youtube/answer/1722171?hl=en.

По какой-то причине вы решили не спрашивать о контейнере (что не то же самое, что и кодек). Вы также предполагаете, что 1080P будет доступен и не спрашивает о самой важной вещи - Битрейт (за которым следует разрешение).

Если вы загружаете видео разрешение 1080P при 60FPS, то максимальное разрешение доступно 720P (при 60 FPS на мобильном устройстве, способном к 1080P), загрузка видео 1080P при 29,97 FPS позволяет просматривать 1080P на мобильном устройстве.

Важным является битрейт и разрешение, если «качество» - ваша цель. Вы не можете масштабировать или использовать без потерь, чтобы обмануть, так как YouTube запускает «Тест сжатия», чтобы определить, насколько они могут раздавить ваше видео с минимальной деградацией - загрузите mush, и он будет сильно сжат, загрузите высокое разрешение и высокий уровень битрейта, а затем YouTube будет отступать от дробления и обеспечить гораздо лучший обзор.

См. https://support.google.com/youtube/answer/1722171?hl=en.

Обратите внимание, что разные Резолюции и «Ожидания Качества». Для 4K видео с низкими ожиданиями вы можете загружать видео с битрейтом 35-45 Мбит/с, но если вы являетесь «Продюсером», а качество - это ваша цель, вам нужна как более высокая частота кадров, так и использование не менее 66-85 Мбит/с для Битрейт камеры (прежде чем сжимать его очень осторожно).

Если вы оцениваете видео низкого разрешения и используете несжатый кодек, надеясь получить лучшее качество, вы будете пойманы (и уменьшены до уровня).

Запись с использованием камеры качества продукции, высокой скорости кадров и битрейта Видео очень мягко сжата (Ffmpeg Q = < 10), чтобы получить наилучшие результаты - «Кодек» (ваши слова) не является единственным определяющим фактором (хотя я советуем против старого).

Ffmpeg поддерживает .MP4 Контейнеры и кодек H.264, поэтому используйте их.

Люди часто жалуются на то, что YouTube разрушает их видео, проблема в том, что они не загружали достаточно высокое качество, прежде всего, чтобы «отключить коммутатор» и заставить компрессор YouTube мягко шагать по вашей загрузке. Возможны видеоролики с превосходным качеством изображения. Применяется правило GIGO.