Pobieramy najnowszego Pythona 3.x ze strony https://www.python.org i instalujemy w katalogu c:\python3.
Ważne: Pod koniec instalacji klikamy opcję "Disable path length limit" (screen poniżej), żeby zezwolić systemowi przechowywać długie ścieżki w zmiennej PATH.
Po instalacji katalog z binarkami Pythona powinien być dodany do ścieżki.
Otwieramy okno konsoli (klawisze WIN+R, wpisujemy "cmd" i wciskamy Enter) i wydajemy komendę:
pip install youtube-dl
żeby zainstalować program youtube-dl. Jest to program do pobieraniu materiałów video z internetu.
Bardzo prawdopodobnie, że po wydaniu tej komendy program youtube-dl się nie zainstaluje ponieważ pip poinformuje że wyszła jego nowa wersja i trzeba go zaktualizować.
Wydajemy więc polecenie:
python.exe -m pip install --upgrade pip
Po tej operacji zarządca pakietów i bibliotek pythona pip się zaktualizuje. Wydajemy ponownie polecenie:
pip install youtube-dl
Bardzo prawdopodobnie program youtube-dl zainstalował się podczas instalacji Pythona i otrzymamy komunikat:youtube-dl --version
powinno wyświetlić wersję downloadera youtube-dl.
Pobieramy instalkę najnowszej wersji pakietu XAMPP ze strony https://www.apachefriends.org/pl/download.html (w chwili pisania tego poradnika jest to wersja: 8.1.10 / PHP 8.1.10 64 bit). Z tego pakietu jest nam potrzebny program php.exe działający w linii komend cmd. Na następnym screenie możemy wybrać składniki jakie chcemy zainstalować:
Możesz poodznaczać wszystkie jeśli nie wiesz do czego służy pełny pakiet XAMPP, gdyż instalacja PHP dokonywana jest domyślnie i nie da się jej odznaczyć. Ja na screenie mam je wszystkie zazanczone, gdyż korzystam na co dzień nie tylko z PHP. Ale na potrzeby tego poradnika PHP w zupełności wystarczy. Jako miejsce docelowe instalacji wybierz katalog C:\xampp. Wybierz język instalacji (domyślnie angielski), po czym rozpocznij instalację:
Na koniec odznacz opcję:
"Do you want to start Control Panel now?"
gdyż nie potrzebujemy uruchamiać panelu kontrolnego XAMPP-a.
Pozostało jeszcze dodać ścieżkę do PHP do ustawień systemowych, gdyż instalator tego nie zrobił. W tym celu otwórz menu Start (Windows 11) i kliknij przycisk "Ustawienia":
Następnie na liście kliknij opcję "Informacje":
W kolejnym okienku kliknij opcję "Zaawansowane ustawienia systemu":
W oknie dialogowym "Właściwości systemu", które się otworzy przejdź do zakładki "Zaawansowane" i kliknij tam przycisk "Zmienne środowiskowe...":
Na górnej liście zazancz zmienną Path i kliknij przycisk "Edytuj..." poniżej:
W kolejnym okienku wciśnij przycisk "Nowy" i dodaj ścieżkę "c:\xampp\php":
Kliknij przycisk "OK" we wszystkich otwartych okienkach dialogowych, żeby zmiany odniosły skutek. Jeśli teraz uruchmisz konsolę "Cmd", to polecenie:
php --version
powinno wyświeltić wersję zainstalowanego programu PHP.
Niezbędne programy do tworzenia plików mp4 pobierzesz ze strony: https://ffmpeg.org/download.html Tam kliknij dużą ikonę windowsa i kliknij opcję "Windows builds by BtbN". Z listy, która się pojawi pobierz plik ffmpeg-master-latest-win64-gpl.zip. Z pobranego archiwum rozpakuj pliki ffmpeg.exe, ffplay.exe, ffprobe.exe do katalogu c:\bin. Dodaj ten katalog do ścieżki w taki sam sposób jak to już opisałem w punkcie poprzednim dotyczącym dodawania ścieżki c:\xampp\php.
Tworzymy w katalogu, do którego będziemy pobierali materiały wideo skrypty:
dl.bat o zawartości:
youtube-dl -v --ignore-config -a "%1"
oraz convert2mp4.php o zawartości:
<?php
$files = scandir(".");
$base = "";
$counter = 0;
for ($i = 0; $i < count($files); $i++) {
$ext = pathinfo($files[$i], PATHINFO_EXTENSION);
if ($ext == 'm3u8') {
$base = str_replace(".$ext", "", pathinfo($files[$i], PATHINFO_BASENAME));
}
if ($ext == 'ts') {
$counter++;
}
}
for ($i = 0; $i < $counter; $i++) {
$fn = $base . $i . "-" . $base . $i . ".ts";
if (!is_file($fn)) {
echo "ERROR: $fn not exists\n";
exit(0);
}
echo "$fn\n";
$c = file_get_contents($fn);
file_put_contents("$base.ts", $c, FILE_APPEND);
}
system("ffmpeg -i $base.ts -acodec copy -vcodec copy $base.mp4");
if (is_file("$base.mp4")) {
for ($i = 0; $i < $counter; $i++) {
$fn = $base . $i . "-" . $base . $i . ".ts";
if (is_file($fn)) {
unlink($fn);
}
}
unlink("$base.ts");
unlink("$base.m3u8");
}
Uruchamiamy Firefoksa, wciskamy klawisz F12, żeby otworzyć panel deweloperski, przechodzimy na nim do zakładki "Sieć" i w polu wyszukiwania wpisujemy frazę "m3u8" a następnie przechodzimy do strony z kursem:
Na liście na dole zostaną wyświetlone odwołania do podanej frazy. Szukamy w nich wpisu odwołującego się do filmiku o najlepszej jakości. W tym celu najeżdżamy kursorem myszki na każdy wpis i patrzymy na zawartość wyświetlonego w dymku adresu lub klikamy go i patrzymy na link po prawej stronie. Bieżemy pod uwagę ten, który zawiera frazę "1920x1080":
Klikamy na tej pozycji i z menu kontekstowego wybieramy opcję: "Otwórz w nowej karcie" i w okienku "Zapisz jako", które się pojawi:
przechodzimy do katalogu z dwoma powyższymi skryptami i zapisujemy plik pod
domyślną nazwą. Ważne! nie zmieniamy jego nazwy bo inaczej skrypt tworzący plik mp4 nie utworzy go poprawnie.
Następnie otwieramy konsolę "Cmd", przechodzimy do katalogu z zapisanym plikiem i wydajemy polecenie (gdzie nazwa pliku po dl.bat powinna odpowiadać
twojej nazwie):
dl.bat aa0080ab0c89fc2e25fc3a77e1548856cef2.m3u8
Zostaną pobrane meteriały wideo w postaci wielu fragmentów w formacie *.ts. Teraz wydajemy polecenie:
php convert2mp4.php
Po tej operacji w katalogu powstanie wynikowy plik *.mp4 z materiałem wideo, któremu możemy nadać bardziej znaczącą nazwę
i skopiować do katalogu w którym trzymamy wynikowe lekcje.