Как работает загрузка потокового видео?


Ответы:


5

Есть как минимум два способа сделать это:

  1. Программное обеспечение перехватывает потоки загрузки и сохраняет любые обнаруженные видео (это наиболее вероятный сценарий)

  2. Программное обеспечение просто копирует его из кэша веб-браузера (хотя это и не невозможно, но это гораздо менее вероятно по двум причинам: 1. требует определенных знаний обо всех поддерживаемых веб-браузерах и, возможно, также определенных проигрывателях видео; и 2. не всех видео. хранятся на диске в полном объеме, так как это зависит от видеоплеера)

    Редактировать: Добавлены третья и четвертая возможности ...

  3. Программное обеспечение запрашивает видео, создавая тот же запрос на загрузку, что и модуль просмотра, а затем сохраняет данные по мере их получения (это отличается от первой возможности, которую я перечислил выше, и может потребовать некоторого обратного проектирования проигрыватели фильмов, написанные на Flash или какие-то сниффы пакетов, чтобы определить, как на самом деле был создан URI)

  4. Программное обеспечение заменяет обработчик по умолчанию для проигрывателей видео (или может заменить обработчик Flash Player и выступать в качестве временного обработчика на веб-сайтах, которые он распознает, таких как YouTube.com, Video.Google.com и т. Д., Но для веб-сайтов и Flash Анимационный контент, который он не распознает, просто передает работу предыдущему плагину Flash Player, чтобы создать более «прозрачный» эффект для пользователя)


Да, я знаю это, но я хотел получить более подробную информацию о первом способе. т.е. как именно программа идентифицирует видеопоток, как он перехватывает поток и т. д.
Ankit Soni

Я не уверен, как вы могли бы перехватить видеопоток без использования прокси-сервера, что, как я думаю, не делают эти загрузчики. Другой способ сделать это - использовать информацию со страницы, чтобы найти фактические видеофайлы и загрузить их напрямую. См. Raw.github.com/rg3/youtube-dl/2011.08.04/youtube-dl для получения дополнительной информации.
user55325

@ user55325: Точно так же, как это делает программное обеспечение для отслеживания пакетов.
Рэндольф Ричардсон

Разве это обычно не нужно подключать непосредственно к вашим сетевым драйверам? Конечно, это не так, как это делает YouTube; кажется, это было бы как-то излишне.
user55325

@ user55325: Ну, я описал « по крайней мере два пути » - я не совсем уверен, как «youtube-dl» (который, как я полагаю, является названием одного из этих приложений «захвата видео») получает видео, но в По крайней мере, теперь вы знаете о двух возможных методах. Подключение к сетевым драйверам, вероятно, не требуется, поскольку Windows, скорее всего, предоставляет высокоуровневый API, который является более общим и не требует специфических сетевых адаптеров.
Рэндольф Ричардсон

2

У YouTube есть уникальный URL для каждого видео. Некоторые сайты предлагают онлайн-скрипт, который конвертирует видео YouTube в MP4 или аналогичное расширение видеофайла. Этот сценарий обычно загружает видео на сервер FFMPEG, а затем преобразует его в MP4 или любой другой поддерживаемый формат и позволяет загружать это потоковое видео.


Что касается конвертации, вы имеете в виду бесплатное программное обеспечение ffmpeg, когда говорите ffmpeg server? Я не знаю, что у него есть опция сервера
barlop

Обычно видео хранится в виде файла .FLV, который может воспроизводиться на превосходном бесплатном VLC-плеере с открытым исходным кодом: videolan.org
Рэндольф Ричардсон,

@barlop, сервер использует скрипт для конвертации. Есть много бесплатных и платных скриптов, которые делают этот тип конвертации. Большинство из этих сценариев начинались как альтернативный сценарий клонирования для YouTube.
Рю

@Ryu Я никогда не пробовал это, просто сейчас немного читая, но я думаю, вы имеете в виду вещи, которые начинались как клон веб-сайта youtube, / сценарии веб-сайта для обмена видео, решения для видеохостинга и совместного использования, серверный flv конвертер, вот так Пакет youtube-clone.com Интересно. Я вижу, что ffmpeg включает потоковую передачу, так что, может быть, есть такая вещь, как сервер ffmpeg, как вы говорите, так что вроде смотрите, что вы получаете. Я не сталкивался с этим раньше.
Бароп

Драйвер WinCAP используется на серверах Windows и на рабочем столе для захвата потока. Вы можете в Google "URL snooper" узнать, как с помощью этого драйвера можно захватывать потоки на рабочем столе Windows. Аналогичным образом существуют серверы FFMPEG, которые готовы обрабатывать медиа-контент, такой как flv-файлы, java и медиа-файлы.
Рю

0

Существует инструмент под названием youtube-dl, который делает это, извлекая всю необходимую информацию о видеофайле и его местонахождении, а затем загружая его (либо через RTMPDump, либо напрямую) в соответствии со спецификацией пользователя (многие видео YouTube доступны в нескольких форматах. ).

Исходный код Python доступен и должен работать в Linux, Windows и Mac OS X (при условии, что установлен интерпретатор Python).

Я думаю, именно так работает большинство загрузчиков.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.