memory heap
В Хьюстоне, штат Техас (США) строят первый двухэтажный дом методом печати на 3D-принтере. Источник: https://www.reuters.com/technology/3d-printing-reaches-new-heights-with-two-story-home-2023-01-12/ Обратите внимание, что часть печатающей головки, через…
Отдельная история о том, как мне удалось скачать видео с сайта
Дело в том, что сайт использует проигрыватель видео, который скачивает видео по частям в формате
В итоге выяснил, что части видео подгружаются по таким ссылкам:
- Команда
- Цикл
- Собственно
-
-
#bash #linux #hacks
reuters.com.Дело в том, что сайт использует проигрыватель видео, который скачивает видео по частям в формате
ts ("MPEG transport stream", также называемый "MPEG-TS") "на лету", и никаких официальных средств скачать видео нет. Пришлось открыть панель разработчика в браузере (Ctrl+Shift+i в Firefox) и посмотреть, какие файлы загружаются по сети.В итоге выяснил, что части видео подгружаются по таким ссылкам:
https://ajo.prod.reuters.tv/95011abd-c4fc-43bc-b87c-1ad3cb487d55/hls/OV207112012023RP1v1_5473245000_00001.tsПоскольку мы знаем теперь, в каком диапазоне идёт нумерация фрагментов, и видим также, что ссылка в остальном не меняется, то можем написать скрипт на Bash, который скачивает части видео через
...
https://ajo.prod.reuters.tv/95011abd-c4fc-43bc-b87c-1ad3cb487d55/hls/OV207112012023RP1v1_5473245000_00017.ts
wget, склеивает их в один файл и конвертирует в mp4 через ffmpeg:#!/bin/bashГде:
for num in $(seq -f %02g 1 17); do
wget "https://ajo.prod.reuters.tv/95011abd-c4fc-43bc-b87c-1ad3cb487d55/hls/OV207112012023RP1v1_5473245000_000${num}.ts"
done
cat *.ts > all.ts
ffmpeg -i all.ts -acodec copy -vcodec copy all.mp4
- Команда
seq -f %02g 1 17 генерирует последовательность чисел 01..17 с добавлением дополнительных нулей перед числом, если оно однозначное (благодаря формату %02g.- Цикл
for подставляет значения из диапазона чисел, как значение переменной num — эта переменная используется в цикле для подстановки номера фрагмента видео в ссылку для скачивания.- Собственно
wget скачивает видео по ссылке. ${num} — это как раз место подстановки номера видео.-
cat *.ts > all.ts склеивает фрагменты в один файл.-
ffmpeg конвертирует формат ts в mp4.#bash #linux #hacks
⚡2