проблема с загрузкой файла - PullRequest
2 голосов
/ 04 апреля 2009

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

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

спасибо заранее, George

Ответы [ 4 ]

3 голосов
/ 04 апреля 2009

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

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

1 голос
/ 04 апреля 2009

Как Youtube так магически закодировал процесс?

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

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

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

1 голос
/ 04 апреля 2009

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

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

1 голос
/ 04 апреля 2009

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

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

...