-
-
Save a-sync/14b30f8476dd2323cee0920fb98b0272 to your computer and use it in GitHub Desktop.
@if (@a==@b) @end /* | |
@echo off & setlocal | |
title m3-downloader.bat @ https://gist.github.com/a-sync | |
if "%~1"=="/?" goto usage | |
if %0 == "%~0" ( | |
set /p INPUT="ID/URL: " | |
) else ( | |
set "INPUT=%~1" | |
) | |
if "%INPUT%"=="" goto usage | |
if /i "%INPUT:~0,5%"=="https" if /i "%INPUT:~6,21%"=="//nemzetiarchivum.hu/" goto valid | |
if /i "%INPUT:~0,3%"=="M3-" goto valid | |
if /i "%INPUT:~0,6%"=="RADIO-" goto valid | |
goto invalid | |
:valid | |
where /q yt-dlp | |
if ERRORLEVEL 1 ( | |
powershell -Command "(New-Object Net.WebClient).DownloadFile('https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp.exe', '%~dp0\yt-dlp.exe')" | |
) | |
where /q ffmpeg | |
if ERRORLEVEL 1 goto dlffmpeg | |
where /q ffprobe | |
if ERRORLEVEL 1 goto dlffmpeg | |
goto main | |
:dlffmpeg | |
where /q 7za | |
if ERRORLEVEL 1 ( | |
powershell -Command "(New-Object Net.WebClient).DownloadFile('https://a-sync.github.io/7z-extra/7za.exe', '%~dp0\7za.exe')" | |
) | |
powershell -Command "(New-Object Net.WebClient).DownloadFile('https://www.gyan.dev/ffmpeg/builds/ffmpeg-release-essentials.7z', '%~dp0\ffmpeg-release-essentials.7z')" | |
7za e -y -r ffmpeg-release-essentials.7z ffmpeg.exe ffprobe.exe | |
del ffmpeg-release-essentials.7z 7za.exe 2>nul | |
:main | |
rem echo "%INPUT%"; | |
for /f "tokens=1,2,3 delims=|" %%I in ('cscript /nologo /e:jscript "%~f0" "%INPUT%"') do ( | |
rem echo "%%I" | |
rem echo "%%J" | |
rem echo "%%K" | |
if not exist "%%K.srt" ( | |
powershell -Command "$wc=New-Object Net.WebClient;$wc.Encoding=[System.Text.Encoding]::UTF8;$wc.DownloadString('https://nemzetiarchivum.hu/subtitle/%%J.srt') | Out-File -Encoding utf8 '%cd%\%%J.srt'" | |
for %%F in ("%cd%\%%J.srt") do ( | |
if %%~zF lss 6 ( del %%F ) else ( ren %%F "%%K.srt" ) | |
) | |
) | |
rem yt-dlp --user-agent "" -o "%%K.mp4" "%%I" | |
yt-dlp -f - --user-agent "" -o "%%K.mp4" "%%I" | |
) | |
goto :EOF | |
:invalid | |
echo Ervenytelen ID/URL | |
echo | |
:usage | |
echo Hasznalat: %~nx0 ID/URL | |
echo pl.: %~nx0 M3-59950991739999859 | |
echo %~nx0 RADIO-851168 | |
echo %~nx0 "https://nemzetiarchivum.hu/*" | |
if %0 == "%~0" pause | |
goto :EOF | |
JScript */ | |
var ID = WSH.Arguments(0); | |
var UA = String('\x4D\x6F\x7A\x69\x6C\x6C\x61\x2F\x35\x2E\x30\x20\x28\x53\x4D\x41\x52\x54\x2D\x54\x56\x3B\x20\x4C\x69\x6E\x75\x78\x3B\x20\x54\x69\x7A\x65\x6E\x20\x32\x2E\x33\x29\x20\x41\x70\x70\x6C\x65\x57\x65\x62\x6B\x69\x74\x2F\x35\x33\x38\x2E\x31\x20\x28\x4B\x48\x54\x4D\x4C\x2C\x20\x6C\x69\x6B\x65\x20\x47\x65\x63\x6B\x6F\x29\x20\x53\x61\x6D\x73\x75\x6E\x67\x42\x72\x6F\x77\x73\x65\x72\x2F\x31\x2E\x30\x20\x54\x56\x20\x53\x61\x66\x61\x72\x69\x2F\x35\x33\x38\x2E\x31'); | |
var x = new ActiveXObject('Microsoft.XMLHTTP'); | |
var TITLE = ''; | |
if (ID.indexOf('http') === 0) { | |
x.open('GET',String(ID),true); | |
x.setRequestHeader('User-Agent',UA); | |
x.send(''); | |
while (x.readyState!=4) {WSH.Sleep(50)}; | |
if (x.responseText.indexOf('var ACTIVE = "') !== -1) { | |
ID = x.responseText.split('var ACTIVE = "')[1].split('"')[0]; | |
} else { | |
ID = x.responseText.split("id: '")[1].split("'")[0]; | |
} | |
if (x.responseText.indexOf('<h1 class="active-title">') !== -1) { | |
TITLE = x.responseText.split('<h1 class="active-title">')[1].split('</h1>')[0]; | |
} | |
if (x.responseText.indexOf('<h6 class="active-subtitle hidden">') !== -1) { | |
TITLE += ' - '+x.responseText.split('<h6 class="active-subtitle hidden">')[1].split('</h6>')[0]; | |
} | |
} | |
var htmlfile = WSH.CreateObject('htmlfile'), JSON; | |
htmlfile.write('<meta http-equiv="x-ua-compatible" content="IE=9" />'); | |
htmlfile.close(JSON = htmlfile.parentWindow.JSON); | |
if (!TITLE && ID.toLowerCase().indexOf('m3-') === 0){ | |
x.open('GET',String('\x68\x74\x74\x70\x73\x3A\x2F\x2F\x6E\x65\x6D\x7A\x65\x74\x69\x61\x72\x63\x68\x69\x76\x75\x6D\x2E\x68\x75\x2F\x6D\x33\x2F\x69\x74\x65\x6D\x3F\x69\x64\x3D')+ID,true); | |
x.setRequestHeader('User-Agent',UA); | |
x.send(''); | |
while (x.readyState!=4) {WSH.Sleep(50)}; | |
var info = JSON.parse(x.responseText); | |
TITLE = info.title+(info.subtitle?' - '+info.subtitle:''); | |
} | |
TITLE = TITLE.replace(/\\|\/|\:|\*|\?|\"|\<|\>|\|/gi, '_'); | |
if (!TITLE) TITLE = ID; | |
x.open('GET',String('\x68\x74\x74\x70\x73\x3A\x2F\x2F\x6E\x65\x6D\x7A\x65\x74\x69\x61\x72\x63\x68\x69\x76\x75\x6D\x2E\x68\x75\x2F\x6D\x33\x2F\x73\x74\x72\x65\x61\x6D\x3F\x6E\x6F\x5F\x6C\x62\x3D\x31\x26\x74\x61\x72\x67\x65\x74\x3D')+ID,true); | |
x.setRequestHeader('User-Agent',UA); | |
x.send(''); | |
while (x.readyState!=4) {WSH.Sleep(50)}; | |
var res = JSON.parse(x.responseText); | |
WSH.Echo(res.url+'|'+ID+'|'+TITLE); |
@mojorisin577 nem windows-on vagy? vagy mi az akadálya, hogy nem tudod a m3-downloader.bat-ot használni? 🤨 yt_dlp python csomagot még nem használtam, csak ezért nem is próbálnám, nézd meg mivel lehet a user agent-et megadni és üresre próbáld beállítani. 🤷♂️
Windows 10 igen. De már sikerült az m3-downloader.bat-al letölteni. Nagyon köszi a válaszodat, megy minden flottul! :)
@Medwyn80 letöltöd zip csomagfájlt és kicsomagolod belőle az m3-downloader.bat fájlt. Az m3-downloader.bat fájlt elindítod, és megadod a videó azonosítót (pl.: M3-A8808080126). Enter. Többit megoldja a script. Letöltés után az m3-downloader.bat fájl mellett lesz a videó és a felirat fájl ha van hozzá. Sok sikert.
@mente081
Ezen ne múljon, bár annak az oldalnak a címe máshol is fellelhető (ráadásul itt is fel lett tüntetve már az első hozzászólásom előtt). Arról nem beszélve, hogy ennyi erővel ezt az egész oldalt törölni kellene.
@Medwyn80
Nézd, az óvatosság nem árt, a másutt föltüntetett is csak az ahhoz járul hozzá, hogy ellehetetlenítsék. Mert pl. még pár hónapja többet tudott az a bizonyos oldal, aztán az mtva-nál valamit mókoltak és azt már nem tudja. Gondolhatod, hogy folyamatosan azon fáradoznak, hogy NE lehessen letölteni ezeket a régi műsorokat. Más ezzel a témával foglalkozó fórum(ok)on a tagok az ilyen "kényes" bejegyzéseket rögtön törlik és kérik a hozzászólót, hogy privát üzenetet küldjön.
Igen, tudom, hogy többet tudott. Konkrétan nézni is lehetett a műsorokat. Egyébként a jogi részét illetően szerintem árnyaltabb a kép.
De milyen "kényes bejegyzésre" gondolsz? Itt konkrétan az összes bejegyzés ezzel a témával kapcsolatos, és évek óta fent vannak.
@a-sync
Kedves Mester!
Ránéznél ezekre: M3-59910998659999359, M3-8773899A8A0999595 ?
Többek közt ezek a linkek is okt. 29-én kerültek föl. Az ennél régebbiek működnek (mármint letölthetőek), az újabbak nem.
Szerintem megint variáltak valamit. Lehet, hogy DRM-mel védett lett?
Megtennéd, hogy megnézed, mi lehet a probléma?
Előre is köszönöm!
Ahogy mondod, valamit változtattak és már nem tölthető le a drm nélküli playlist. Szerintem ezzel ez az alkalmazás befejezte a szolgálatot. Továbbiakhoz itt találhattok segítséget: https://prohardver.hu/tema/video_stream_letoltese_mivel/friss.html
sok sikert!
@mente081 töltsd le a .bat fájl legfrissebb verzióját
