Portál AbcLinuxu, 9. května 2025 19:37

Dotaz: Skript pro resolvnuti youtube videii z urcenych kanalu. Python? MPD, music server.

21.4.2015 13:11 LOFAS
Skript pro resolvnuti youtube videii z urcenych kanalu. Python? MPD, music server.
Přečteno: 370×
Odpovědět | Admin
Ahoj, potreboval bych poradit, libil by se mi music server, ktery by umel prehravat playlisty z youtube, a mel by nejlepe frontend na androidu. Bohuzel nic takoveho momentalne neexistuje. Jsou zde nejake desktopove alternativy jako Atraci, nebo mps-youtube, coz je super, ale k nasazeni pouze jako desktopove aplikace. Jedine, co pripada v uvahu je Mopidy, ktere je zalozene na mpd a doplnek Mopidy-youtube, ktery umi resolvnout a prehrat video z youtube. Coz oto, umi prehrat i samotny playlist, ale pouze jako jednotny stream=nemuzu preskakovat a kontrolovat prehravani jednotlivych songu. Tak me napadlo, vytvorit skript, ktery by z uvedenych youtube kanalu pravidelne stahoval informace o nahranych videiich do souboru, a tak bych mel na strane aplikace kazdy den nove nahrana videa z ruznych kanalu.

mujvyslednyplaylist1.m3u <- muze reprezentovat jednotlivy kanal a vsechny jeho nahrane songy
 
#EXTM3U
#EXTINF:0,Kehlani - Til The Morning (Snakehips Remix) [3:18]
yt:http://www.youtube.com/watch?v=McfelHN2TvI 
#EXTINF:0,Towkio - Heaven Only Knows (ft. Chance The Rapper, Lido & Eryn Allen Kane) [3:44]
yt:http://www.youtube.com/watch?v=cg0XOi8AxJo
#EXTINF:0,Sola Rosa - Real Life (edleigh Remix) [3:44]
yt:http://www.youtube.com/watch?v=d_PofaX7wN8
Zkousel jsem pres youtube API resolvnout tyto 3 parametry, url, nazev, delku. Ale dost jsem se stim trapil, prisel jsem pak na youtube-dl, ktery umi stahovat youtube videa. Co je na tomhle super, ze projede cely kanal a stahne veskera videa od pocatku veku, cimz odpadne problem, ze API dokaze zobrazit pouze 50 polozek.
test@test-VirtualBox:~$ youtube-dl https://www.youtube.com/playlist?list=UUXIyz409s7bNWVcM-vjfdVA -e --get-id --get-duration      
Kehlani - Til The Morning (Snakehips Remix)
McfelHN2TvI
3:18
Towkio - Heaven Only Knows (ft. Chance The Rapper, Lido & Eryn Allen Kane)
cg0XOi8AxJo
3:44
Sola Rosa - Real Life (edleigh Remix)
d_PofaX7wN8
2:36
Bylo by fajn tento vystup zpracovat ve formatu uvedenem nahore do uvedeneho souboru a pri dalsi kontrole pak zacit/skoncit u posledniho pridaneho videa. Je tohle funkcni reseni? Nejaky python guru, ktery by stim pomohl? Diky
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

22.4.2015 11:09 NN
Rozbalit Rozbalit vše Re: Skript pro resolvnuti youtube videii z urcenych kanalu. Python? MPD, music server.
Odpovědět | | Sbalit | Link | Blokovat | Admin
To Youtube API neni v Pythonu uplne zle.. Obecne muzes napriklad vystup nacitat do pole a jednoduse ho cyklem zpracovat a vyparsovat do vysledneho souboru. V jinem cyklu nactes vsechny playlisty na ktere tuto funkci aplikujes.. S cim si konkretne nevis rady?(idealne s kusem kodu).
Josef Kufner avatar 22.4.2015 11:19 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Skript pro resolvnuti youtube videii z urcenych kanalu. Python? MPD, music server.
Odpovědět | | Sbalit | Link | Blokovat | Admin
Mám pocit, že youtube-dl umí i playlisty a asi by nebylo těžké ho přiohnout k tomu, aby URL videí jen vypsal namísto stahování. V manu vidím volbu --external-downloader, která by se na to možná dala zneužít.

Ale asi bych se spíš držel používání youtube-dl bez vlastního zpracovávání, neboť Youtube se občas změní a youtube-dl je udržovaný. Vzhledem k tomu, že to budeš tak jako tak stahovat, uvažoval bych spíš o přidání "aktualizačního" režimu do youtube-dl, tedy aby už stažená videa nestahoval z playlistu/kanálu znovu.
Hello world ! Segmentation fault (core dumped)
22.4.2015 14:29 LOFAS
Rozbalit Rozbalit vše Re: Skript pro resolvnuti youtube videii z urcenych kanalu. Python? MPD, music server.
Umí," youtube-dl https://www.youtube.com/playlist?list=UUXIyz409s7bNWVcM-vjfdVA -e --get-id --get-duration " je přímo playlist s vypsáním ID videa, což je nejschůdnější varianta, vzhledem k tomu, že je to jediná proměnná a string naokolo se nemění. URL umí vypsat jen v nežádoucim tvaru, viz níže.

test@test:~/TEST$ ./youtube-dl https://www.youtube.com/playlist?list=UUXIyz409s7bNWVcM-vjfdVA -e -g --get-duration
Flume - Left Alone feat. Chet Faker (Gravez x Ta-ku Re-Remix)
https://r5---sn-2gb7ln7s.googlevideo.com/videoplayback?sver=3&expire=1429727210&ratebypass=yes&mime=video%2Fmp4&requiressl=yes&id=o-AHLhOf3bmPNuIsAuSfXaLA6ceC3cgnm7tA19uOZ63iSy&sparams=dur%2Cid%2Cinitcwndbps%2Cip%2Cipbits%2Citag%2Cmime%2Cmm%2Cms%2Cmv%2Cpl%2Cratebypass%2Crequiressl%2Csource%2Cupn%2Cexpire&fexp=900720%2C907263%2C916650%2C934954%2C938028%2C9406985%2C9407115%2C9408347%2C947233%2C948124%2C948703%2C951703%2C952637%2C955204%2C957201%2C964752&ms=au&itag=22&initcwndbps=1121250&dur=204.846&mv=m&mt=1429705436&pl=19&mm=31&ip=62.141.0.124&key=yt5&ipbits=0&upn=UZZFXlT7SoY&source=youtube&signature=9AEBE951FB9F02C9B9048A1598579450E1EF547D.1512E21851C848EB300D903A4A5D10E5D57EBB59
3:25
Kehlani - Til The Morning (Snakehips Remix)
https://r5---sn-2gb7ln76.googlevideo.com/videoplayback?initcwndbps=1121250&expire=1429727211&mime=video%2Fmp4&itag=22&id=o-AP1pxiHkXdmbRsSGtt_9_HMijsAhFngQentAMcJJhMjs&ratebypass=yes&source=youtube&sver=3&upn=c0E61sXcG4A&mv=m&pl=19&mt=1429705436&ms=au&ipbits=0&signature=C00BA47C8F3D1F56F3E4F143003F2DA197CEC827.693851E7AA221F1EBC601E52DF46029A2CCCCFB5&ip=62.141.0.124&key=yt5&mm=31&fexp=900720%2C907263%2C916650%2C934954%2C938028%2C9406985%2C9407115%2C9408347%2C947233%2C948124%2C948703%2C951703%2C952637%2C955204%2C957201%2C964752&dur=197.810&sparams=dur%2Cid%2Cinitcwndbps%2Cip%2Cipbits%2Citag%2Cmime%2Cmm%2Cms%2Cmv%2Cpl%2Cratebypass%2Crequiressl%2Csource%2Cupn%2Cexpire&requiressl=yes
3:18

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.