Перейти к содержимому

Как достать m3u8 ссылку с любого сайта

  • автор:

Скачиваем видео в формате m3u8

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

Анализ

Первое что пришло мне в голову это записать видео с экрана, например через QuickTime, но в таком случае нужно все их просмотреть а это по времени достаточно долго и этот вариант мне не понравился.

Следующим шагом было исследовать html код страницы, и там я нашел интересную ссылку:

демо

Далее я попробовал подставить эту ссылку в адресную строку браузера и в результате скачался файл master.m3u8 следующего содержания:

#EXTM3U #EXT-X-STREAM-INF:BANDWIDTH=768000,CODECS="mp4a.40.2, avc1.640028",RESOLUTION=640x360 https://vh-04.getcourse.ru/player/89cc32eeb182080b719abfc7f106aaaf/5b7008b4e8fab9852419a5c00e4aa618/media/360.m3u8?sid=sid&host=vh-04&cdn=1&cdn-second=0&integros-s3=1&akamai-defence=0&v=2:0:1:1 #EXT-X-STREAM-INF:BANDWIDTH=1024000,CODECS="mp4a.40.2, avc1.640028",RESOLUTION=853x480 https://vh-04.getcourse.ru/player/89cc32eeb182080b719abfc7f106aaaf/5b7008b4e8fab9852419a5c00e4aa618/media/480.m3u8?sid=sid&host=vh-04&cdn=1&cdn-second=0&integros-s3=1&akamai-defence=0&v=2:0:1:1 #EXT-X-STREAM-INF:BANDWIDTH=2560000,CODECS="mp4a.40.2, avc1.640028",RESOLUTION=1280x720 https://vh-04.getcourse.ru/player/89cc32eeb182080b719abfc7f106aaaf/5b7008b4e8fab9852419a5c00e4aa618/media/720.m3u8?sid=sid&host=vh-04&cdn=1&cdn-second=0&integros-s3=1&akamai-defence=0&v=2:0:1:1 #EXT-X-STREAM-INF:BANDWIDTH=4096000,CODECS="mp4a.40.2, avc1.640028",RESOLUTION=1920x1080 https://vh-04.getcourse.ru/player/89cc32eeb182080b719abfc7f106aaaf/5b7008b4e8fab9852419a5c00e4aa618/media/1080.m3u8?sid=sid&host=vh-04&cdn=1&cdn-second=0&integros-s3=1&akamai-defence=0&v=2:0:1:1 

Как можно увидеть этот файл содержит еще набор ссылок, и судя по их названию они обозначают разрешение видео, которое загружается.

Я решил посмотреть что из себя представляет файл 720.m3u8, для этого я его скачал, перейдя по соответствующей ссылке:

#EXTM3U #EXT-X-TARGETDURATION:11 #EXT-X-ALLOW-CACHE:YES #EXT-X-VERSION:3 #EXT-X-MEDIA-SEQUENCE:0 #EXT-X-PLAYLIST-TYPE:VOD #EXTINF:9.160000, https://getcourse-cdn-a1a5df3e.cdn.integros.com/ch/89cc32eeb182080b719abfc7f106aaaf/5b7008b4e8fab9852419a5c00e4aa618/720/0.ts?sid=sid&host=vh-04 #EXTINF:10.080000, https://getcourse-cdn-a1a5df3e.cdn.integros.com/ch/89cc32eeb182080b719abfc7f106aaaf/5b7008b4e8fab9852419a5c00e4aa618/720/1.ts?sid=sid&host=vh-04 #EXTINF:10.080000, https://getcourse-cdn-a1a5df3e.cdn.integros.com/ch/89cc32eeb182080b719abfc7f106aaaf/5b7008b4e8fab9852419a5c00e4aa618/720/2.ts?sid=sid&host=vh-04 #EXTINF:10.080000, . #EXTINF:8.800000, https://getcourse-cdn-a1a5df3e.cdn.integros.com/ch/89cc32eeb182080b719abfc7f106aaaf/5b7008b4e8fab9852419a5c00e4aa618/720/119.ts?sid=sid&host=vh-04 #EXT-X-ENDLIST 

Если присмотреться внимательней то можно увидеть что все ссылки содержат *.ts, после того как я их скачал, оказалось что это как раз куски данного урока.

После небольшого поиска что-же такое m3u8 файл, я выяснил, что это формат для хранения плейлистов.

Теперь был вопрос как же его сохранить локально.

Сохранение видео из m3u8

Первое что я нашел в Интернете предлагало это сделать через VLC. Для этого нужно зайти в Файл -> Конвертировать/Передавать , после чего можно увидеть следующее окно:

демо

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

Альтернативное сохранение

После того как таким способом я сохранил пару видео, я начал думать как оптимизировать процесс. Тут меня посетила мысль, что можно просто попробовать скачать все эти маленькие файлы и объединить их в один.

Для этого я написал небольшую утилитку на Go, для обработки файла *.m3u8 и объединения всех маленьких кусков из него в один файл.

Алгоритм работы ее достаточно прост: сначала я перехожу по заданной ссылке на m3u8, затем построчно обхожу его и если строка содержит URL кусочка, я скачиваю его и результат сразу пишу в выходной файл.

Код который это делает следующий:

 // received file from server resp, err := http.Get(inputUrl) if err != nil < log.Fatal("Download error: ", err) >defer resp.Body.Close() // create output file f, err := os.Create(outputFile) if err != nil < log.Fatal("Download error: ", err) >defer f.Close() // read server response line by line scanner := bufio.NewScanner(resp.Body) i := 0 for scanner.Scan() < l := scanner.Text() // if line contains url address if strings.HasPrefix(l, "http") < // download file part part, err := downloadFilePart(l) if err != nil < log.Fatal("Download part error: ", err) >// write part to output file if _, err = f.Write(part); err != nil < log.Fatal("Write part to output file: ", err) >log.Printf("Download part %d\n", i) i++ > > if err := scanner.Err(); err != nil

Функция downloadFilePart отвечает именно за скачивание файла и вывод его в байтовый массив:

func downloadFilePart(url string) ([]byte, error) < result := make([]byte, 0) resp, err := http.Get(url) if err != nil < return result, err >if result, err = ioutil.ReadAll(resp.Body); err != nil < return result, err >return result, err > 

Такой метод полностью себя оправдал и оказался самый быстрый.

Заключение

В конечном счете я не только скачал все нужные лекции, но еще и создал утилиту для скачки и сохранения *.m3u8 файлов.

Для пользователей Winodws готовую сборку можно взять тут.

Ссылки

Как достать m3u8 ссылку с любого сайта: пошаговая инструкция

Как достать m3u8 ссылку с любого сайта: пошаговая инструкция

В этой статье расскажем вам, как вручную находить m3u8 и m3u ссылки и как их копировать с любого сайта. Звучит запутанно, но уже через 5 минут вы сможете составлять свой IPTV плейлист!

Как найти M3U8 ссылки?

Нам понадобится браузер, поисковая система и подключение к интернету.

  • Откройте Яндекс или Гугл и найдите онлайн-трансляцию нужного телеканала. Например, по запросу «Моя планета онлайн прямой эфир».
  • Перейдите на любой сайт с корректно работающим плеером.

Видео, которое транслируется в плеере, и есть m3u / m3u8 / ts ссылка. Процесс поиска занял полминуты. Такое можно повторить с другими каналами.

Как достать M3U8 ссылку с сайта?

  • Кликните правой кнопкой мыши по плееру (если нельзя, то просто на пустое место). Откройте раздел Исследовать элемент.
  • В зависимости от браузера, справа или снизу откроется специальная страница «для разработчиков». Перейдите во вкладку Network и включите показ только XHR.
  • Теперь найдите ссылку, которая заканчивается на .m3u8. Она должна быть одна, но может повторяться хоть сто раз.

После .m3u8 может стоять / или ? и десяток букв после них. Просто скопируйте ссылку и удалите все лишние символы.

Как достать m3u8 ссылку с любого сайта: пошаговая инструкция

Как получить m3u8 ссылки с любого сайта: пошаговое руководство

В этой статье я покажу вам, как найти m3u8 и m3u ссылки вручную и как скопировать их с любого сайта.

Звучит запутанно, но уже через 5 минут вы сможете составить свой собственный список воспроизведения IPTV.

Как найти M3U8 ссылки?

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

  • Откройте Яндекс или Google и найдите в Интернете нужный вам телеканал. Например, выполните поиск «My Planet Online Live».

Как получить m3u8 ссылки с любого сайта: пошаговое руководство

  • Зайдите на любой сайт, где есть работающий плеер.

Как получить m3u8 ссылки с любого сайта: пошаговое руководство

Видео, транслируемое в плеере, представляет собой ссылки m3u / m3u8 / ts. Процесс поиска занял полминуты. Это можно повторить и на других каналах.

Как достать M3U8 ссылку с сайта?

  • Щелкните правой кнопкой мыши на проигрывателе (если не можете, щелкните на пустом месте). Откройте проект «Explore», как показано на скриншоте.

Как получить m3u8 ссылки с любого сайта: пошаговое руководство

  • В зависимости от вашего браузера справа или снизу откроется специальная страница «Для разработчиков». Перейдите на вкладку Сеть и включите отображение только XHR.

Как получить m3u8 ссылки с любого сайта: пошаговое руководство

  • Теперь найдите ссылку, заканчивающуюся на .m3u8. Это должна быть одна ссылка, но она может повторяться сто раз.

За ним может следовать / или ? , и дюжина или около того писем, которые следуют за ним. Просто скопируйте ссылку и удалите все лишние символы.

Как получить m3u8 ссылки с любого сайта: пошаговое руководство

  • Щелкните правой кнопкой мыши на нужном адресе → скопируйте адрес ссылки.

Как получить m3u8 ссылки с любого сайта: пошаговое руководство

  • Вставьте ссылку в m3u-файл и заставьте его правильно сформироваться. Как это сделать, я описываю в этой статье.

Как получить m3u8 ссылки с любого сайта: пошаговое руководство

  • Откройте только что созданный плейлист в вашем IPTV-плеере и наслаждайтесь просмотром!

Как вытащить видео с сайта?

У данного сайта на бэкграунде играет видео.
Как его вытащить и сохранить себе на компьютер?

  • Вопрос задан более трёх лет назад
  • 431699 просмотров

1 комментарий

Сложный 1 комментарий

Daria13131 @Daria13131

Добрый вечер! Раньше скачивала по вашему способу видео с Геткурс, сейчас снова пыталась, но никак не получается. Уже перепробовала миллион способов и все никак(
И код в видео немного другой стал, мб как то поменяли все и теперь данным способом нельзя так пользоваться? Кто сталкивался с таким, помогите пожалуйста, оч нужно скачать курсы, пока доступ к ним еще есть(

Решения вопроса 2

TravelExpert

Travel Expert @TravelExpert
LifeHacker

Если видео с youtube — очень просто!
1.Если оно встроено в сайт — запускаем его, затем щелкаем на значок youtube и нас перебросит на youtube.
2.Затем переходим в адресную строку youtube.com/. и дописываем перед этим «ss», таким образом получиться адрес вида ssyoutube.com/. — вот туда и переходим и скачиваем.

Так же есть программы, которые скачивают, если указать им ссылку на видео на youtube или другом популярном сервисе. Например, Download Master(westbyte).

Если видео не с ютуба, то в большинстве случаев его тоже просто скачать.
Для этого в браузерах, например, таких как Firefox, Opera(старая) есть плагины обнаруживающие видео и качающие их.
В Chrome же, всё еще проще:
1.На странице видео нажмите правую клавишу в любом месте страницы и выберите в конце списка «Просмотреть код» или Ctrl+Shift+i. Видео не запускаем!
2. Переходим во вкладку Network, запускаем видео на странице и прописываем фильтр — обычно это mp4, flv, webm или же вместо фильтра тыкаем на Media. prntscr.com/cz9fba
3. В списке находим нужный файл, правой кнопкой мышки — Copy — Copy link.
4. Вставляем ссылку в любой менеджер закачки, тот же Download Master например.
Либо: открываем в браузере — откроется плеер, также правой кнопкой — Сохранить видео как.
Менеджер закачек предпочтительнее, т.к. позволяет качать в несколько потоков, поддерживает докачку, можно поставить на паузу и т.д.
Например, некоторые сайты, выдают ссылку на видео на определенный IP и на ограниченное время. Тогда, если вдруг сменится IP(интернет ребутнется) или если большой объем и не успеете скачать или еще что, то нужно будет так же получить новую ссылку и в свойствах закачки указать новую ссылку-источник.

Ответ написан более трёх лет назад
Нравится 7 5 комментариев
SixthHouseCult @SixthHouseCult

все эти советы бесполезны! в 99% случаев видео резаное потоковое, когда заходишь в network, media ничего не отображается в media, и m3u тоже нет там

timursarsembayev @timursarsembayev

SixthHouseCult, три года назад это работало, а сейчас видео в ВК потоковое. Тут принцип действия остается прежним, просто детали различаются.

Vitalii Bryl @shuffler_agr0s

5f10766e95c5e120825179.png

А если видео делится на сегменты, как в таком случае вытащить видео?
Сайт защищен, только по доступу возможен просмотр.

pton

Vitalii Bryl, Посмотрите тут
только расширение возьмите это. Другие которые я попробовал требовали оплаты либо не грузили сегментированное видео.

Отличный мануал. Спасибо, работает, если смекалку подключить. А то до этого не понимал, как работают сегменты, как их забирать и склеивать. На базе этого уже пишу себе скрипт на пайтоне. Там кто то ниже предлагал расширения для браузеров. Вы что, собираетесь руками каждый видосик выкачивать? Крэйзи )))

Nahlebnik1983 @Nahlebnik1983
вытащить из кода страницы.
https://youtu.be/3y6TkKaQXss
https://youtu.be/D7QmfCrtBmY
Ответ написан более трёх лет назад
Нравится 2 1 комментарий
nickname01 @nickname01 Автор вопроса

Эти слова стоит искать во всех случаях, когда нужно вытащить видео с сайта или такое сработает не всегда?

Ответы на вопрос 4
timursarsembayev @timursarsembayev

ОТВЕТ 2020 ГОДА

Решение для Linux (у меня Linux Mint):
1. Откройте страницу с видео роликом, видео не включайте
2. Открываете инспектор, вкладку Network
3. Включаете воспроизведение видео
4. В инспекторе в строке поиска вбиваете m3u8 и находите данный файл плейлиста (он обычно только один)
5. Скачиваете плейлист файл с расширением m3u8
6. Отдельно сохраните ссылку на m3u8, она будет примерно такой:

https://cs9-4v4.vkuservideo.net/video/hls/p2/3ebb0cd8afd8/index-f3-v1-a1.m3u8?extra=hkhc5u2Cz0VxVRI1gf8Zw_p-K1zG5eCCK_-AKvw8v0tBNO4CmLZSO8j5PKdHBSebK_Ph_sY7PqEDwFNzHJt-eXnOKPj1QRZD0ahfqy24z6ZIdGKqvRnHuE-PhoocuvBqMpKPAI46LFv4juflt6hO6mO4Elc

Отсюда нужно вычленить название самого файла и параметры после него, останется только это:

https://cs9-4v4.vkuservideo.net/video/hls/p2/3ebb0cd8afd8/

(у вас ссылка будет отличаться, это просто пример)
7. Откройте скачанный файл m3u8 в редакторе, например, Sublime Text
8. Откройте поиск по содержимому файла, включите режим регулярных выражений (regular expression), от строки поиска слева это кнопка .* или кликните по строке поиска и нажмите Alt+R
9. Введите в строку поиска #EXT.* и нажмите на кнопку Найти всё (Find All) и нажмите Backspace
10. Скопируйте полученный урл из 6 шага
11. Введите в строку поиска символ ^ (на англ.раскладке клавиатуры нажмите Shift+6) и нажмите Найти всё (Find All)
12. Вставьте скопированный урл (нажмите Ctrl+V) и сохраните изменения в файле
13. Откройте uGet (если не установлено, то установите его), перейдите в File -> Batch Downloads -> Text file import и выберите файл плейлиста m3u8, начнется скачивание отдельных файлов формата .ts в вашу домашнюю папку /home/username где username это имя вашей учетной записи
14. По окончании скачивания снова откройте файл плейлист в редакторе Sublime Text
15. В строку поиска вставьте скопированный урл из 6 шага и нажмите Найти всё (Find All), нажмите Backspace и сразу же напишите file ‘ ( слово file, пробел и одинарная кавычка ‘ )
16. В строку поиска введите ?extra.* ( если у вас включен режим регулярок, то введите \?extra.* ), нажмите клавишу Backspace, а затем клавишу ‘ (одинарная кавычка)
17. В итоге вы получите файл со списком что-то вроде этого:
file ‘seg-1-f3-v1-a1.ts’
file ‘seg-2-f3-v1-a1.ts’
file ‘seg-3-f3-v1-a1.ts’
и так далее.
18. Переименуйте файл плейлиста и измените его расширение, например так:
dwl_local.txt
19. Переместите файл dwl_local.txt в домашнюю папку /home/username куда были скачаны все файлы .ts
20. Откройте терминал в домашней папке и введите в нём следующее:
ffmpeg -f concat -i dwn_local.txt -c copy output.ts
или скопируйте эту строку и вставьте в терминал путем Shift+Ctrl+V
где dwn_local.txt это название файла со списком файлов
output.ts это название конечного файла

Если по каким-то причинам у вас не установлен ffmpeg, то установите его через терминал:
sudo apt install ffmpeg

Решение для Windows:
Всё то же самое, что и для Linux с 1 по 12 шаги
13. Нужен Download Master, также импортируйте файл плейлиста со ссылками, возможно нужно будет его переименовать сразу и поменять расширение, например, на dwn_local.txt
Дальше шаги с 14 по 18 повторите как в инструкции для Linux
19. Переместите файл dwn_local.txt в папку с загруженными файлами, возможно это папка Downloads (Загрузки)
20. Откройте командную строку Windows (найдите её в меню Start или Пуск) или нажмите клавиши Win+R и введите cmd, затем клавишу Enter
В командной строке введите следующее:
ffmpeg -f concat -i dwn_local.txt -c copy output.ts
где dwn_local.txt это список файлов
output.ts это конечный объединенный файл

Таким образом вы получаете объединенный файл .ts из нескольких фрагментов .ts
Сконвертировать в другие форматы можно при помощи VLC плеера или других программ
Файл .ts можно загружать себе на YouTube канал без конвертаций

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *