Как скачать потоковое видео с любого сайта на компьютер?
Я не любитель скачивать какие-либо видеоролики из Интернета, когда их можно без проблем посмотреть в режиме «онлайн» на сайте-источнике. Но в этот Новый год мне все же пришлось прибегнуть к скачиванию именного видеопоздравления Деда Мороза от отечественного сервиса Mail.ru.
Видео для детей получились красочными и интересными, за что отдельное спасибо сервису, но вся проблема в том, что там, где я хотел показать это видео – не было доступа к глобальной сети Интернет. Вариант здесь был только один – это скачивание необходимого медиафайла.
Поскольку видеосообщение генерировалось на основе тех данных, что я указывал о ребенке, то скачать полное видео не представлялось возможным, так как на сайте куча маленьких частичек воспроизводились последовательно, создавая при этом картину цельного видеосообщения.
Что такое потоковое видео (Streaming Video)?
Если отбросить все умные термины, то можно сказать, что потоковое видео – это технология, которая позволяет смотреть то или иное видео в режиме реального времени (онлайн). Сюда можно отнести различные онлайн трансляции телепередач и кино, стримы (stream) на YouTube и прочих подобных сервисах.
Как скачать потоковое видео с любого сайта на свой компьютер?
Видеопоздравление, которое мне было необходимо скачать, тоже является потоковым, и как я упоминал ранее – простая его загрузка не была возможной.
Поискав некоторую информацию в Интернете на этот счет, я узнал, что плеер «VLC Media Player» для Windows как раз позволяет в несколько шагов скачивать подобные видео. Мне, к сожалению, этот способ не подошел, так как по итогу я получил искаженное (зависающее) видео. Поэтому я не буду делать акцент на этой программе как о способе скачки потокового видео на ваш компьютер, а расскажу о другом рабочем способе, который помог решить мне поставленную задачу.
Представляю вашему вниманию «Xtreme Download Manager» – программу, позволяющую увеличить скорость загрузки видеофайлов и умеющую сохранять потоковые видео с популярных сервисов на вашем компьютере, в числе которых YouTube, Vimeo, Dailymotion, Google Video и десятки тысяч других.
Xtreme Download Manager легко встраивается во все известные браузеры, что, в свою очередь, дает возможность простого скачивания понравившегося видео.
На сколько мне известно, программа помимо операционной системы Windows поддерживает Linux обоих разрядностей и Mac OS X.
Внушающая доверие программа, согласитесь? За что ее автору тоже отдельное спасибо.
Чтобы начать скачивать потоковые видео на ваш компьютер, сделайте следующее.
1. Скачайте программу и установите ее на ваш компьютер. Официальные релизы для всех поддерживаемых операционных систем находятся здесь. В конце статьи я приложил актуальную (на момент написания статьи) версию программы для Windows.
2. После успешной установки запустите программу. В верхнем меню нажмите «Инструменты», а в выпадающем списке выберите «Отслеживание в браузере».
Если у вас интерфейс программы на английском языке – то переключить его на русский вы можете через верхнее меню «Tools», пункт «Language».
После изменения языка обязательно перезапустите программу для применения изменений.
3. В появившемся окне вы ищете тот браузер, которым пользуетесь чаще всего, и жмете под ним кнопку «Установить дополнение».

После чего переходите по предложенной ссылке и просто устанавливаете дополнение для своего браузера.
В программе обязательно должна быть включена функция «Отслеживание в браузере»:

А дальше все просто – идете на любой видеохостинг, включаете видео, и на экране вашего компьютера (сбоку) появится кнопка «DOWNLOAD VIDEO».

Нажмите на нее, и перед вами откроется список всех файлов, которые доступны для скачивания.

Жмете на название, в появившемся окне вводите желаемое название файла и то место, куда оно сохранится.

Вот и все. Просто, не так ли?
Приложение позволяет скачивать не только видеофайлы, но и музыку, например, из социальной сети «ВКонтакте».
Отдача файлов на скачивание в браузере
С появлением атрибута download у ссылок, появилась возможность указать браузеру что файл в href=»» нужно сохранить на диске.
Пример использования
В атрибуте можно указать имя файла, которое будет использоваться при сохранении.
Сохранение файла jQuery
Если нужно запустить скачивание файла по кнопке, поможет jQuery. По событию onclick у кнопки, создается, но не выводится ссылка с атрибутом download , далее по ней происходит программный клик.
$('.download').on('click', function()< var link = document.createElement('a'); link.setAttribute('href', '/download.png'); link.setAttribute('download', 'download.png'); link.click(); return false; >);
Сохранение файла AJAX
Также можно получить файл через AJAX и отдать его на скачивание. Это удобно если файл генерируется PHP-скриптом на лету с переданными ему GET/POST параметрами.
После выполнения запроса в бинарном режиме, создается ссылка с атрибутом download и данными в формате blob.
$('.download').on('click', function()< $.ajax(< url: '/download.png', dataType: 'binary', xhrFields: < 'responseType': 'blob' >, success: function(data, status, xhr) < var blob = new Blob([data], ); var link = document.createElement('a'); link.href = window.URL.createObjectURL(blob); link.download = 'download.png'; link.click(); > >); >);
Как скачать потоковое видео xhr с сайта, где нужно логиниться, чтобы его посмотреть?
как скачать потоковое видео xhr с сайта, где нужно логиниться, чтобы его посмотреть?
- Вопрос задан более трёх лет назад
- 11553 просмотра
Комментировать
Решения вопроса 0
Ответы на вопрос 3

finishhim.ru
Ответ написан более трёх лет назад
victorinamina @victorinamina
А если будут паузы обусловленные задержками при скачивании?
Получим файл с красивым таким значком типа песочных часов или что там
victorinamina: А что, триммеры видео уже отменили? Вырезать эти паузы — не проблема. Или вы хотите, чтобы для вашего удобства был инструмент, нарушающий лицензию сервиса и подносящий всё на блюдечке?
victorinamina @victorinamina
Moskus: вручную вырезать — не круто.
victorinamina @victorinamina
Или вы хотите, чтобы для вашего удобства был инструмент, нарушающий лицензию сервиса и подносящий всё на блюдечке?
Кто сказал, что нарушающий лицензию. Это здесь вообще параллельная функция.
Ведь можно и бесплатные видео качать.
Мне доводилось писать малюсенький скрипт, скачивающий и слепляющий xhr для интересующих меня пары десятков видео.
Я знаю как это в общем-то не сложно.
Потому и обращаю внимание, что вы предлагаете крайне неподходящий инструмент.
В главе:
Как скачать защищенное видео с Геткурса
Getcourse — популярная платформа для вебинаров, тренингов, онлайн-курсов и пр. Часто хочется иметь запись урока, чтобы посмотреть его без интернета. Здесь на помощь придет хакерская смекалка и VLC media player.
Подробная инструкция по скачиванию видео с getcourse.
Откройте страницу с уроком, еоторый вы хотите скачать и запустите воспроизведение видео. Правой кнопкой мышки щелкните по свободному месту на странице и выберите в меню пункт «Посмотреть код (Ctrl+Shift+I)», Откроется вот такое окно:
Перейдите на вкладку Network.
В строке поиска напишите .m3, нажмите Enter и обновите страницу.
Выберите качество видеоролика.
Выделите правой кнопкой мышки строку с нужным качеством.
Скопируйте адрес.
Затем откройте VLC media player и в Меню выберите пункт Конвертировать/сохранить. Откройте вкладку Сеть, вставьте скопированный сетевой адрес, удалите в нем всё после символов m3u8, и нажмите Конвертировать/сохранить.
Важно — адрес должен заканчиваться символами m3u8
В следующем окне:
Выберите Профиль, как на картинке внизу.
Перейдите в настройки (значок гаечного ключа), и поставьте галочки:
Видеокодек — Сохранять исходную видеодорожку.
Аудиокодек — Сохранять исходную аудиодорожку.
Нажмите Обзор для выбора названия и места сохранения файла, и кликните Начать.
Если в скачанном файле звук и видео не сопадают, выберите профиль H.264 + MP3 (TS)
Начнется скачивание файла. Время скачивания зависит от длины видео, но все равно происходит быстрее, чем воспроизведение. Когда синяя полоска дойдет до конца и исчезнет — поздравляю, вы скачали защищенное видео с геткурса.
Совет — для контроля скачивания в разделе Вид установите отображение Поверх всех окон, уменьшите размер окна плеера, и перенесите его в ту часть экрана, где он не будет мешать.
Как скачивать видео с других сайтов
С помощью VLC media player можно скачивать видеофайлы и с других сайтов. Проблема — найти и вытащить нужную ссылку. Она может выглядеть по разному. Для примера — вот так выглядит ссылка на сайте Киного.
На сайте webinar.ru ссылка для скачивания выглядит вот так:
How to download streaming video from xhr

I’d like to download a video from a site that uses flowplayer. When I inspect the element, I get something like: So we can say this video is streamed via xhr. Is there a way to get full video from these files? I tried Flash Player Downloader and it downloads the file in .mp4 but it’s broken and can’t repair it via some tools.
asked Jan 12, 2018 at 20:22
7,164 6 6 gold badges 43 43 silver badges 65 65 bronze badges
some news about this?? I have similar issue 🙁
Jan 5, 2019 at 14:39
2 Answers 2
I don’t have a real answer but I, too, tried to download such a fragmented stream. It’s a pain. What helped me the answer to this: https://superuser.com/questions/1204497/download-all-m4s-files-of-a-mpeg-dash-stream
The idea is to get the stream’s URL from the initial file IS.mp4. All subsequent parts numbered 000000.m4s, 000001.m4s, 000002.m4s, . share the same location as IS.mp4
Generating the download links for all the parts, downloading and merging them, can be easily scripted, as shown in the linked post:
echo "IS.mp4" >"links.txt" seq -f "%06g.m4s" 0 394 >>"links.txt" wget -i "links.txt" -O "audio.mp4" -B "http://80.188.78.212/aa/ffc8a55fe6f203b0bffecb73efacb69b/1494953435522/eda9c6f7b1e3de68db8e3e5dc0d14fc7/dna-61924494877285694-pc/1002-1502/"
You have to download all parts, including IS.mp4 and then merge them to one file. Sometimes you’ll also need to download the audio track in such way, too. After you have the video and audio track, combine them in one container.
answered Jan 26, 2018 at 14:15
fleetingbytes fleetingbytes
2,672 5 5 gold badges 16 16 silver badges 30 30 bronze badges
How did you solve this in the end? You said the answer from SuperUser helped, but what was the final solution? How did you access the .xhr files from the TAB / session?
Sep 3, 2020 at 21:05
In the browser I used the «Inspect Element» from the context menu and then I went to the Network-Monitor tab and selected XHR as filter type.
Sep 4, 2020 at 9:00
well, i have a semi-manual solution that surely works with smaller video files:
- open the video page in firefox (mine is 75.0). do not start the playout.
- open the network panel (F12).
- refresh the video page. scroll down to the player and start the playout.
- wait for the video to end. do not touch your browser’s controls in the meantime.
- click on the «HAR» button in the top-right corner of the network panel.
- save the whole network dump as a HAR file.
1 minute video is about 10 MB of JSON-encoded text. now, you should write a script that decodes and concatenates the response bytes ranges (HTTP 206) from the saved network dump. sample PHP code:
// for demonstration purposes only // no checks // at all // $har = $argv[1]; // HAR input file // $nam = $argv[2]; // video name from URL // $out = $argv[3]; // MP4 output file // $text = file_get_contents($har); $json = json_decode($text); $map = array(); // range map // foreach ($json->log->entries as $e) < if (!is_object($e) OR !property_exists($e, 'request') OR !property_exists($e, 'response')) < continue; >if ($e->request->method != 'GET') < continue; >if (strpos($e->request->url, $nam) === false) < continue; >if ($e->response->status != 206) < continue; >if ($e->response->content->encoding != 'base64') < continue; >foreach ($e->response->headers as $h) < if ($h->name == 'content-range' AND 0 < preg_match('/^bytes ([0-9]+)-([0-9]+)\\/([0-9]+)$/', $h->value, $match)) < $map[$match[1]] = array( 'in' =>$match[1], 'out' => $match[2], 'text' => $e->response->content->text, ); break; > > // foreach // > // foreach // file_put_contents($out, ''); ksort($map); $err = 0; $j = -1; foreach ($map as $k => $v) < $i = $j + 1; $j = $v['out']; $part = base64_decode($v['text']); file_put_contents($out, $part, FILE_APPEND); >// foreach //
i have just successfully saved some short videos. their durations vary between 4 and 8 minutes. the output file is an mp4 stream, so i transcoded it to mkv:
ffmpeg -i har2bin.mp4 -c copy -y har2bin.mkv
now, you can play the mkv file with vlc player.
