Проблема с загрузкой файла

Я реализую похожий сценарий, такой как Youtube, для своего веб-сайта - загружаю видео и чтобы все люди могли его смотреть. Мой вопрос: я думаю, что нам нужно кодировать видео после загрузки, прежде чем другие люди смогут воспроизвести удаленно, но процесс кодирования идет очень медленно (я пробовал с помощью Microsoft Expression Encoder, а также mplayer, кодирование 20-минутного видео занимает около 10 минут). К моему удивлению, даже если мы загружаем очень большое видео на Youtube, кажется, что другие люди могли бы сразу выбрать и воспроизвести, похоже, что процесс кодирования занимает почти нулевое время.

У кого-нибудь есть идеи, пожалуйста? Как Youtube так быстро волшебным образом закодировал процесс? Или Youtube полностью пропускает процесс кодирования - но если пропустить процесс кодирования, как может Youtube гарантировать, что все загруженное видео воспроизводимо (то есть видео соответствует какому-либо параметру, например, битрейту, размеру изображения или чему-то еще)?

спасибо заранее, Джордж

4 ответа

Не забывайте, что YouTube принадлежит Google, поэтому может помочь 450 000 доступных серверов!

(слегка шутливый, признаюсь, ответ. И, очевидно, у YouTube не будет доступа ко всем этим. Но суть в том, что у них будет феноменальное количество ресурсов для этой проблемы)

Прежде чем делать что-либо еще, найдите лучший кодер. Есть много доступных кодеров. Некоторые с открытым исходным кодом, некоторые являются собственностью. У Apple есть очень, очень хорошие кодеры, которые быстрые, но дорогие.

Посмотрите на http://www.ffmpegx.com/ о состоянии дел в технологии кодировщика с открытым исходным кодом. Они объединяют разнообразный набор технологий.

Кроме того, аппаратный кодировщик, вероятно, используется YouTube.

И возможно ли воспроизведение во время кодирования, только если кодирование выполняется быстрее, чем его воспроизведение.

Как Youtube так быстро волшебным образом закодировал процесс?

Без каких-либо специальных знаний инсайдера я бы ожидал (1) нарезать входное видео на более короткие сегменты для отправки на несколько кодеров и (2) кодировать поток одновременно с загрузкой, а не ждать, пока вы загрузите весь файл для начала.

Или Youtube полностью пропустит процесс кодирования

Нет, все должно быть преобразовано в FLV для воспроизведения.

Другие вопросы по тегам