Closed Invictaz closed 4 years ago
@Reino17 De extractor werkt niet. Er is ook geen verbose mode dus ik kan niet testen wat er aan de hand is en zien waarop het fout loopt.
Als je trouwens "een kijkje achter de schermen" wilt, dan kun je @ECHO off
in commentaar veranderen, rem @ECHO off
, of zelfs helemaal verwijderen.
Laten we de discussie hier blijven voeren i.p.v. als commentaar bij de commits.
Dat is het hem nou juist, ik wilde de volledige versie. Niet de preview ;-)
Die is niet beschikbaar (zonder te betalen, denk ik).
En JA, xidel.exe is versie 0.99 en staat ook in SysWow64
Minimale vereiste versie is 0.9.8, dus dat zit wel goed.
C:\Users\Invictaz\Downloads\Software\Batchgemist\xivid-master-23-7-2020\xivid-mast er>SET json={^"name^": ^"Jean Elan - If U Feel^"^, ^"date^": ^"08-07-2020^"^, ^" duration^": ^"00:02:59^"^, ^"formats^": []}
Hier zit het probleem. De "formats"-array blijft op de een of andere manier leeg.
Zou je de volgende xidel
-commando's (dezelfde als in mijn notities) uit willen voeren en de output daarvan hier posten?
xidel -s "https://soundcloud.com/jean-elan/if-u-feel" -e "substring(substring-after(unparsed-text(//script[@crossorigin][last()]/@src),'client_id:'),2,32)"
xidel -s "https://soundcloud.com/jean-elan/if-u-feel" -e "let $cid:=substring(substring-after(unparsed-text(//script[@crossorigin][last()]/@src),'client_id:'),2,32) return json(//script/extract(.,'(\[\{.+)\)',1)[.])()[.//media]/(.//transcodings)()/concat(url,'?client_id=',$cid)"
xidel -s "https://soundcloud.com/jean-elan/if-u-feel" -e "let $cid:=substring(substring-after(unparsed-text(//script[@crossorigin][last()]/@src),'client_id:'),2,32) return json(//script/extract(.,'(\[\{.+)\)',1)[.])()[.//media]/(.//transcodings)()/json(concat(url,'?client_id=',$cid))/url"
Sowieso raar dat je zelf niet het issue kunt heropenen als je de starter bent, anders had ik dat uiteraard gedaan. En ik wilde geen nieuwe starten...
Maar denk je dat of weet je dat van het gehele betaalde nummer? Want voor zover ik het kan zien is de betaalde versie ook gewoon een HLS, maar haalt hij de gratis snippet eerst op. Ik ben niet extreem handig met Google Chrome console maar ik zie wel dat er via de api-v2 e.e.a. wordt opgehaald.
Ik ben er al achter waarom het niet werkte. Ik had een VPN aan staan op een land buiten Europa. Als je dan dat liedje bezoekt staat er
Daarmee is de kous nog niet af, want de VPN uitzetten is maar een workaround. Er zijn dus nummers die zijn geo-blocked en in ideale situatie (o.a. met FFMPEG --proxy) kun je deze geoblock omzeilen. Ik denk dat je bij bepaalde sites daar wel ervaring mee hebt? Het is namelijk vrij ondoenlijk om precies van elk nummer te weten te komen welke landen het beschikbaar is. Gewoon meteen de geoblok eraf is veel handiger lijkt mij.
Youtube-dl heeft dit ook in hun code opgenomen bij diverse extractors.
xivid.bat https://soundcloud.com/jean-elan/if-u-feel
https://cf-hls-media.sndcdn.com/playlist/0/30/wcUtVX8LSIKx.128.mp3/playlist.m3u8?[...]
Maar denk je dat of weet je dat van het gehele betaalde nummer?
Zoals ik al zei denk ik dat ja. Volgens mij kun je met youtube-dl
en accountgegevens zo'n audiostream wel binnenhalen, maar ik wil daar (voor alsnog) niet aan.
Ik had een VPN aan staan op een land buiten Europa. [...] Ik denk dat je bij bepaalde sites daar [geo-blocking] wel ervaring mee hebt?
Voor door xivid
ondersteunde websites nog niet nee. Maar jij woont dus helemaal niet in NL?
Youtube-dl heeft dit [geo-block er af halen] ook in hun code opgenomen bij diverse extractors.
Als jij hiervoor een geschikte en werkende fix weet voor xivid
, dan houd ik me aanbevolen.
Dan kan deze "issue" wél weer gesloten worden, denk ik?
[edit] Ik bedenk me net dat xidel
natuurlijk ook een --proxy=<string>
optie heeft. Daar zou je eens mee kunnen experimenteren. [/edit]
Ik gebruik een VPN vanwege veiligheid / blokkeren van trackers en ads. Hoe zou ik die --proxy dan moeten gebruiken in een xivid commando? Want ik kan xidel niet vanuit xivid aansturen. Dan zou ik los die json links moeten opvragen ofzo?
Ondanks dat ik geen ervaring heb met VPN's was ik wel in de veronderstelling dat met het gebruik van een VPN / VPN-software je gehele internetverbinding via die VPN loopt en je dus niet nog eens een keer afzonderlijk programma's hoeft te configureren. Of klopt dat niet?
Voor xivid
zou je die optie in 'xivid.bat' aan XIDEL_OPTIONS
toe kunnen voegen:
SET "XIDEL_OPTIONS=--silent --module=xivid.xqm --json-mode=deprecated --proxy=<ip:port>"
Is dat hetzelfde voor xivid.sh want ik gebruik die voornamelijk op dit moment? Mijn laptop aanzetten met dit warme weer dan wordt het nog heter namelijk in dat hok waar ik zit.
Betreffende VPN: Uhm afzonderlijke programma's moeten wel ingesteld worden welke verbinding ze gebruiken. Bijvoorbeeld: je hebt een Windows applicatie die je altijd over je ethernet laat lopen. Terwijl je VPN op je Wifi zit. Als het goed is moet dat kunnen. Een VPN is volgens mij geen totale take-over. Ik moet dat nog verder nakijken.
Op Android is het wel een complete take-over. Alles gaat over die pijp naar buiten. Of je nou op 4G zit of Wifi. Omdat die setting niet aan te passen is voor zover ik weet. Je kunt met IPTABLES op Android wel heel veel routeren maar daar ben ik nog niet aan begonnen. Eigenlijk is een Android telefoon ook niks meer dan een Linux pc met een schermpje.
Voor 'xivid.sh' zou dat moeten zijn:
export XIDEL_OPTIONS="--silent --module=xivid.xqm --json-mode=deprecated --proxy=<ip:port>"
Ik kijk hier op een later moment nog eens naar. -- proxy enz is niet nodig bij een VPN
Website
https://soundcloud.com/laidbackluke/laidback-luke-dj-set-live-at
Geeft (dit is een mp3 file)
https://cf-media.sndcdn.com/gF2U20J9lZfU?Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiKjovL2NmLW1lZGlhLnNuZGNkbi5jb20vZ0YyVTIwSjlsWmZVIiwiQ29uZGl0aW9uIjp7IkRhdGVMZXNzVGhhbiI6eyJBV1M6RXBvY2hUaW1lIjoxNTk0NjQyNjAxfX19XX0_&Signature=PxqBfPTvrnM-C-snnMgyF~Z1aXHlDKgFJOKvfBlQ5pVTPgw7eNu08T7IbBSv4oBS58Stqr~bwHMbyGSUn~Bx53eoNfr56slky96qDBjIuTlIDp6C--kCnCxQsd74Wes5bU0CIUHIH81l29uf-EO09dRbkW4McTZj9NgO26f1mwURyGtLeJeF8fM6IccdSynm2x05uG9gqnhfbgyHVXvGwsB~S0E27d2OYjHbYl4VdPfwXPcScJneIjFSxGawY-8A-Ik4JC88WOaqqmbTVhAKfQ9-AKiWdOaHfQIyFZyJe6a3SeNuX7onTPVo73o52BO5-OdQDC8-uPAcf8azA3Am5Q__&Key-Pair-Id=APKAI6TU7MMXM5DG6EPQ
Gek genoeg zijn deze urls maar kort geldig, want 10 minuten na het posten werkt hij al niet meer (error forbidden)
De m3u8 zou ook handig zijn maar weet niet of dat haalbaar is. De MP3 is eigenlijk het beste
Soundcloud.py (van Youtube-dl) is recent nog bijgewerkt https://github.com/ytdl-org/youtube-dl/blob/d1b27220959921c8c96bfd92c946edb52c78c39b/youtube_dl/extractor/soundcloud.py
Maar:
https://github.com/ytdl-org/youtube-dl/issues/23244
https://github.com/flyingrub/scdl
Deze zou nog moeten werken maar heeft wel veel openstaande issues, aangezien Soundcloud blijkbaar ook OPUS heeft naast Mp3. En mensen vragen allerlei extra functies zoals proxy enzo wat ik allemaal niet nodig heb.
Het issue is schijnbaar nog niet gefixed daar, maar hij doet het wel