Initial commit

This commit is contained in:
root 2018-09-27 12:18:03 +00:00
commit 90ae291395
18 changed files with 1126 additions and 0 deletions

80
docker-compose.yml Normal file
View File

@ -0,0 +1,80 @@
version: '2'
services:
main:
build: ./docker-liquidsoap
volumes:
- ./state/liquidsoap/config:/config
- ./state/liquidsoap/playlists:/playlists
- ./state/liquidsoap/data:/data
- /etc/localtime:/etc/localtime:ro
command: /bin/bash -xc 'env; liquidsoap -v --debug /config/main.liq'
environment:
- HARBOR_PASSWORD=MGT7aEqP
- LIVE_PASSWORD=fuckyoujoa
- BROADCAST_PORT_5001_TCP_ADDR=broadcast
- BROADCAST_PORT_5001_TCP_PORT=5001
links:
- icecast
ports:
- 8021:5001
- 8022:5002
- 127.0.0.1:5000:5000
restart: on-failure
broadcast:
build: ./docker-liquidsoap
volumes:
- ./state/liquidsoap/config:/config
- /etc/localtime:/etc/localtime:ro
command: /bin/bash -xc 'env; liquidsoap -v --debug /config/broadcast.liq'
environment:
- HARBOR_PASSWORD=MGT7aEqP
- ICECAST_PORT_8000_TCP_ADDR=icecast
- ICECAST_PORT_8000_TCP_PORT=8000
- ICECAST_SOURCE_PASSWORD=KUsFNWgh
links:
- icecast
restart: on-failure
icecast:
image: moul/icecast
volumes:
- /etc/localtime:/etc/localtime:ro
environment:
- ICECAST_SOURCE_PASSWORD=KUsFNWgh
- ICECAST_ADMIN_PASSWORD=admin
- ICECAST_PASSWORD=Bk3H7UM8
- ICECAST_RELAY_PASSWORD=hackme
labels:
- traefik.enable=true
- traefik.frontend.rule=Host:icecast.radio.dodsorf.as
- traefik.port=8000
- traefik.backend=icecast
- traefik.domain=dodsorf.as
- traefik.docker.network=reverse
networks:
- reverse
- default
web:
build: ./web
environment:
- MAIN_PORT_5000_TCP=tcp://main:5000
links:
- main
labels:
- traefik.enable=true
- traefik.frontend.rule=Host:radio.dodsorf.as
- traefik.port=80
- traefik.backend=webradio
- traefik.domain=dodsorf.as
- traefik.docker.network=reverse
networks:
- reverse
- default
networks:
reverse:
external:
name: reverse

1
docker-liquidsoap Submodule

@ -0,0 +1 @@
Subproject commit 73682cfcb241d1e9cfa16b51a98e2cbc424d2cbb

View File

@ -0,0 +1,6 @@
[Dolphin]
Timestamp=2018,9,5,23,22,33
Version=4
[Settings]
HiddenFilesShown=true

View File

@ -0,0 +1,32 @@
# CONFIGS
set("log.file", true)
set("log.stdout", true)
set("log.level", 4)
set("server.telnet", true)
set("server.telnet.port", 5000)
set("log.file.path", "/tmp/broadcast.log")
set("audio.converter.samplerate.libsamplerate.quality","best")
set("buffering.path","/tmp")
set("decoding.buffer_length",10.)
# FUNCTIONS
dodsorfas_out = output.icecast(description="Dodsorfas Radio", genre="Misc", url="https://radio.dodsorf.as/")
output_docker_env.icecast = dodsorfas_out(
host=getenv("ICECAST_PORT_8000_TCP_ADDR"),
port=int_of_string(getenv("ICECAST_PORT_8000_TCP_PORT")),
password=getenv("ICECAST_SOURCE_PASSWORD")
)
def outputs(encoder, ~mount, input)
output_docker_env.icecast(encoder, mount=mount, input)
end
input = mksafe(input.harbor("dodsorfas.main", port=5001, password=getenv("HARBOR_PASSWORD")))
# OUTPUTS
outputs(%mp3(bitrate=64), mount="/dodsorfas-radio-64.mp3", input)
outputs(%mp3(bitrate=128), mount="/dodsorfas-radio-128.mp3", input)
outputs(%mp3(bitrate=160), mount="/dodsorfas-radio-160.mp3", input)
outputs(%mp3(bitrate=192), mount="/dodsorfas-radio-192.mp3", input)
outputs(%vorbis, mount="/dodsorfas-radio.vorbis.ogg", input)
outputs(%opus, mount="/dodsorfas-radio.opus.ogg", input)

View File

@ -0,0 +1,57 @@
set("log.file",false)
set("log.stdout",true)
set("server.telnet",true)
set("server.telnet.port", 5000)
set("server.telnet.bind_addr", "0.0.0.0")
set("decoder.file_extensions.gstreamer",["wav", "webm"])
set("decoder.mime_types.gstreamer",["audio/x-wav", "audio/wav", "video/webm"])
def crossfade(a,b)
add(normalize=false,
[ sequence([ blank(duration=5.),
fade.initial(duration=5.,b) ]),
fade.final(duration=5.,a) ])
end
rad_io = input.http("http://relay0.r-a-d.io:80/main.mp3")
output.dummy(fallible=true, rad_io)
live = audio_to_stereo(
rewrite_metadata(
[
("title", "$(title) (LIVE - Dodsorfas Radio)"),
("comment", "http://www.radio.dodsorf.as")
],
stretch(
ratio=interactive.float("test", 1.00005),
input.harbor(
"dodsorfas.live",
id="dodsorfas.live",
port=5002,
password=getenv("LIVE_PASSWORD"),
user="source",
logfile="/tmp/harbor.log"
)
)
)
)
requests = audio_to_stereo(drop_video(request.queue(id="request")))
mix = blank()
mix = fallback(track_sensitive=false, transitions=[crossfade], [rad_io,mix])
mix = fallback(track_sensitive=false, transitions=[crossfade], [requests,mix])
mix = fallback(track_sensitive=false, transitions=[crossfade], [live, mix])
# OUTPUTS
output.icecast(
password=getenv("HARBOR_PASSWORD"),
host=getenv("BROADCAST_PORT_5001_TCP_ADDR"),
port=int_of_string(getenv("BROADCAST_PORT_5001_TCP_PORT")),
%wav,
mount="dodsorfas.main",
mix
)

View File

@ -0,0 +1,39 @@
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=Gd9OhYroLN0
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=YLHpvjrFpe0
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=YSC0zQnLIWQ
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=SHqo2FDJSU0
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=r00ikilDxW4
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=vjVkXlxsO8Q
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=Zcps2fJKuAI
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=aZkd91HXng4
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=yFFljFuGfmc
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=5qF_qbaWt3Q
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=3YxaaGgTQYM
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=Um8EEzl42PQ
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=ScNNfyq3d_w
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=5hDZbroaQDc
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=y9uSyICrtow
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=R7IJC6nMons
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=0nlJuwO0GDs
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=KOrXKiSy8ZY
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=jDyZj4msaoE

View File

@ -0,0 +1,58 @@
#EXTINF:420:Savant feat. Qwentalis - Starscream Forever (Original Mix)
ffmpeg2wav:youtube-dl:BkJtsNBL8Lc
#EXTINF:248:Zelda Medley- Lindsey Stirling
ffmpeg2wav:youtube-dl:b3KUyPKbR7Q
#EXTINF:295:Ed Sheeran - I See Fire (Music Video)
ffmpeg2wav:youtube-dl:2fngvQS_PmQ
#EXTINF:247:Elements - Lindsey Stirling (Dubstep Violin Original Song)
ffmpeg2wav:youtube-dl:sf6LD2B_kDQ
#EXTINF:207:Pokémon Dubstep Remix - Lindsey Stirling & Kurt Hugo Schneider (Cover)
ffmpeg2wav:youtube-dl:99ZYIECx1Vw
#EXTINF:409:Quixote - Approaching Nirvana
ffmpeg2wav:youtube-dl:Uk809yw4cg4
#EXTINF:234:Owl City - Fireflies
ffmpeg2wav:youtube-dl:psuRGfAaju4
#EXTINF:267:Illusion feat. Brenton Mattheus - Approaching Nirvana
ffmpeg2wav:youtube-dl:vcl7QtPdg_w
#EXTINF:260:Nicky Romero - Toulouse
ffmpeg2wav:youtube-dl:KrVC5dm5fFc
#EXTINF:214:Cash Cash - I Like It Loud (Official Music Video)
ffmpeg2wav:youtube-dl:Ef2400tsx2I
#EXTINF:300:Crystallize - Lindsey Stirling (Dubstep Violin Original Song)
ffmpeg2wav:youtube-dl:aHjpOzsQ9YI
#EXTINF:236:Delta Heavy - Get By (Official Video)
ffmpeg2wav:youtube-dl:8cOt9UcYGOU
#EXTINF:372:pachelbel's Canon in D--Soothing music(the best version)
ffmpeg2wav:youtube-dl:hOA-2hl1Vbc
#EXTINF:235:Shadows - Lindsey Stirling (Original Song)
ffmpeg2wav:youtube-dl:JGCsyshUU-A
#EXTINF:281:Approaching Nirvana ft Veela - 2nd Flight
ffmpeg2wav:youtube-dl:lPpPvdBccpA
#EXTINF:275:Watching The Clock (feat. Laura Brehm) - Approaching Nirvana
ffmpeg2wav:youtube-dl:Zf42r0xl48k
#EXTINF:326:Here Again (feat. Veela) - Approaching Nirvana
ffmpeg2wav:youtube-dl:FQEiXnQ8AHo
#EXTINF:199:Fade Away - Approaching Nirvana
ffmpeg2wav:youtube-dl:dp6gxLI3POQ
#EXTINF:218:Axel Morris feat. Savant & Celina Svanberg - Licence To Chill
ffmpeg2wav:youtube-dl:nB6IxcYb7DM
#EXTINF:323:Final Flight - Approaching Nirvana
ffmpeg2wav:youtube-dl:AggLC3Pd1QU
#EXTINF:249:Far Too Loud - Firestorm
ffmpeg2wav:youtube-dl:VlnBh0hRpfM
#EXTINF:271:Tristam - Till It's Over
ffmpeg2wav:youtube-dl:uG4DfRnlE4s
#EXTINF:208:[Hardstyle] Blood Pressure - Ephixa
ffmpeg2wav:youtube-dl:KfsABX3S5Ss
#EXTINF:270:[DnB] - Tristam & Braken - Frame of Mind [Monstercat Release]
ffmpeg2wav:youtube-dl:SCD2tB1qILc
#EXTINF:275:Disciple Month - Disciple of the Wind [Fighting of the Spirit, wind-related themes]
ffmpeg2wav:youtube-dl:67-unw6llIE
#EXTINF:234:Dada Life - Rolling Stones T-Shirt (OFFICIAL VIDEO)
ffmpeg2wav:youtube-dl:WyE99hBLnvA
#EXTINF:224:Krewella - Can't Control Myself (Candyland Remix)
ffmpeg2wav:youtube-dl:wXrTbjOZn04
#EXTINF:297:Alesso vs OneRepublic - If I Lose Myself (Alesso Remix)
ffmpeg2wav:youtube-dl:OOevVQwQ-LM
#EXTINF:275:Let It Go (Disney's "Frozen") Vivaldi's Winter - The Piano Guys
ffmpeg2wav:youtube-dl:6Dakd7EIgBE

View File

@ -0,0 +1,58 @@
#EXTINF:297:Alesso vs OneRepublic - If I Lose Myself (Alesso Remix)
ffmpeg2wav:youtube-dl:OOevVQwQ-LM
#EXTINF:323:Final Flight - Approaching Nirvana
ffmpeg2wav:youtube-dl:AggLC3Pd1QU
#EXTINF:417:The Legend of Zelda Remix - Soaring Winds [Dragon Roost Island, Tal Tal Heights +]
ffmpeg2wav:youtube-dl:RcXo4i24tcA
#EXTINF:204:Berserker - Approaching Nirvana
ffmpeg2wav:youtube-dl:_8o3ynz1_kw
#EXTINF:260:Nicky Romero - Toulouse
ffmpeg2wav:youtube-dl:KrVC5dm5fFc
#EXTINF:254:Redux - Approaching Nirvana
ffmpeg2wav:youtube-dl:PngNGDLFlIc
#EXTINF:467:[Progressive House] - TwoThirds - Waking Dreams (feat. Laura Brehm) [Monstercat Release]
ffmpeg2wav:youtube-dl:eNF0VF9oTf8
#EXTINF:227:Dada Life - Happy Violence
ffmpeg2wav:youtube-dl:e0AD3w67_-o
#EXTINF:224:Krewella - Can't Control Myself (Candyland Remix)
ffmpeg2wav:youtube-dl:wXrTbjOZn04
#EXTINF:202:[Drumstep] - Braken - To The Stars [Monstercat Release]
ffmpeg2wav:youtube-dl:1dcXmkco5ko
#EXTINF:336:Rerezzed: Legacy - The Glitch Mob / Daft Punk Derezzed Remix Music Video
ffmpeg2wav:youtube-dl:lN_MSyrq6-U
#EXTINF:218:Axel Morris feat. Savant & Celina Svanberg - Licence To Chill
ffmpeg2wav:youtube-dl:nB6IxcYb7DM
#EXTINF:266:Vrazil (Album Version) - Approaching Nirvana
ffmpeg2wav:youtube-dl:Cqe60FwCJSs
#EXTINF:295:Ed Sheeran - I See Fire (Music Video)
ffmpeg2wav:youtube-dl:2fngvQS_PmQ
#EXTINF:267:Illusion feat. Brenton Mattheus - Approaching Nirvana
ffmpeg2wav:youtube-dl:vcl7QtPdg_w
#EXTINF:275:Watching The Clock (feat. Laura Brehm) - Approaching Nirvana
ffmpeg2wav:youtube-dl:Zf42r0xl48k
#EXTINF:214:Cash Cash - I Like It Loud (Official Music Video)
ffmpeg2wav:youtube-dl:Ef2400tsx2I
#EXTINF:275:Disciple Month - Disciple of the Wind [Fighting of the Spirit, wind-related themes]
ffmpeg2wav:youtube-dl:67-unw6llIE
#EXTINF:236:Delta Heavy - Get By (Official Video)
ffmpeg2wav:youtube-dl:8cOt9UcYGOU
#EXTINF:342:[Dubstep] - Rameses B - Transformations (feat. Laura Brehm) [Monstercat Release]
ffmpeg2wav:youtube-dl:Fkwtq2uhbmU
#EXTINF:213:Transjoik "Gievrie"
ffmpeg2wav:youtube-dl:FBSvtnCr8Wc
#EXTINF:372:pachelbel's Canon in D--Soothing music(the best version)
ffmpeg2wav:youtube-dl:hOA-2hl1Vbc
#EXTINF:234:Dada Life - Rolling Stones T-Shirt (OFFICIAL VIDEO)
ffmpeg2wav:youtube-dl:WyE99hBLnvA
#EXTINF:326:Here Again (feat. Veela) - Approaching Nirvana
ffmpeg2wav:youtube-dl:FQEiXnQ8AHo
#EXTINF:420:Savant feat. Qwentalis - Starscream Forever (Original Mix)
ffmpeg2wav:youtube-dl:BkJtsNBL8Lc
#EXTINF:383:Demon Groove - Lenningrad 2034 [Tasty Release]
ffmpeg2wav:youtube-dl:gtwbrIYdQPU
#EXTINF:281:Approaching Nirvana ft Veela - 2nd Flight
ffmpeg2wav:youtube-dl:lPpPvdBccpA
#EXTINF:409:Quixote - Approaching Nirvana
ffmpeg2wav:youtube-dl:Uk809yw4cg4
#EXTINF:199:Fade Away - Approaching Nirvana
ffmpeg2wav:youtube-dl:dp6gxLI3POQ

View File

@ -0,0 +1,46 @@
#EXTINF:342:[Trance] - Eminence - Halo [Monstercat Release]
ffmpeg2wav:youtube-dl:ddr3Xam5B-U
#EXTINF:356:[Electro] - PIXL - Buzz Kill [Monstercat FREE Release]
ffmpeg2wav:youtube-dl:gMu9TMwqRKs
#EXTINF:467:[Progressive House] - TwoThirds - Waking Dreams (feat. Laura Brehm) [Monstercat Release]
ffmpeg2wav:youtube-dl:eNF0VF9oTf8
#EXTINF:248:Zedd - Spectrum (Official Video) ft. Matthew Koma
ffmpeg2wav:youtube-dl:IsuVMdnF8A0
#EXTINF:297:Alesso vs OneRepublic - If I Lose Myself (Alesso Remix)
ffmpeg2wav:youtube-dl:OOevVQwQ-LM
#EXTINF:420:Savant feat. Qwentalis - Starscream Forever (Original Mix)
ffmpeg2wav:youtube-dl:BkJtsNBL8Lc
#EXTINF:230:Dead C.A.T Bounce ft. Emily Underhill - Closer to Me (Dabin Remix) [Tasty Release]
ffmpeg2wav:youtube-dl:bL_orOhpnwg
#EXTINF:272:Knife Party - 'Bonfire'
ffmpeg2wav:youtube-dl:e-IWRmpefzE
#EXTINF:297:Example - 'Kickstarts' (Bar9 Remix Official Video)
ffmpeg2wav:youtube-dl:ks0P1u6-OUY
#EXTINF:260:Nicky Romero - Toulouse
ffmpeg2wav:youtube-dl:KrVC5dm5fFc
#EXTINF:271:Tristam - Till It's Over
ffmpeg2wav:youtube-dl:uG4DfRnlE4s
#EXTINF:270:[DnB] - Tristam & Braken - Frame of Mind [Monstercat Release]
ffmpeg2wav:youtube-dl:SCD2tB1qILc
#EXTINF:212:[Electro] Nitro Fun - Cheat Codes [Monstercat Release]
ffmpeg2wav:youtube-dl:mdaCDsN1FJ0
#EXTINF:204:[Electronic] - Tut Tut Child - Power Fracture [Monstercat Release]
ffmpeg2wav:youtube-dl:59Njt3gox-E
#EXTINF:342:[Dubstep] - Rameses B - Transformations (feat. Laura Brehm) [Monstercat Release]
ffmpeg2wav:youtube-dl:Fkwtq2uhbmU
#EXTINF:253:[Dubstep] - Direct & Labisch - Better World [Monstercat Release]
ffmpeg2wav:youtube-dl:WOFg3UVfl8k
#EXTINF:225:Kat Krazy ft. Elkka - Siren
ffmpeg2wav:youtube-dl:DbSFQCXRda4
#EXTINF:302:Rameses B ft. Holly Drummond - Dreaming
ffmpeg2wav:youtube-dl:ZbQS_QeWHLc
#EXTINF:220:[Drumstep] - Tristam & Braken - Flight [Monstercat Release]
ffmpeg2wav:youtube-dl:OVMuwa-HRCQ
#EXTINF:208:[Drumstep] - Varien - Valkyrie (feat. Laura Brehm) [Monstercat Release]
ffmpeg2wav:youtube-dl:ddFAIkUb7A0
#EXTINF:214:Cash Cash - I Like It Loud (Official Music Video)
ffmpeg2wav:youtube-dl:Ef2400tsx2I
#EXTINF:346:[Electro] - Case & Point - All On Me (feat. Gamble & Burke) [Monstercat Release]
ffmpeg2wav:youtube-dl:RSQqVDmNaj0
#EXTINF:202:[Drumstep] - Braken - To The Stars [Monstercat Release]
ffmpeg2wav:youtube-dl:1dcXmkco5ko

View File

@ -0,0 +1,228 @@
#EXTINF:277:Moderat - The Fool Live (MTR068)
ffmpeg2wav:youtube-dl:SuyMyAkggiI
#EXTINF:309:Bonobo - Prelude + Kiara
ffmpeg2wav:youtube-dl:D9f2KZvf9sk
#EXTINF:578:RÜFÜS - Innerbloom
ffmpeg2wav:youtube-dl:IA1liCmUsAM
#EXTINF:253:Jon Hopkins - Breathe This Air feat. Purity Ring (Official Video)
ffmpeg2wav:youtube-dl:CPmucPjFulI
#EXTINF:271:Bonobo - 1009
ffmpeg2wav:youtube-dl:TLxViMli1_Y
#EXTINF:326:Bonobo - Eyesdown Feat. Andreya Triana
ffmpeg2wav:youtube-dl:-6bbM5HZz5c
#EXTINF:317:Flyover Country
ffmpeg2wav:youtube-dl:vIgHulCqcu0
#EXTINF:317:Tycho - A Walk
ffmpeg2wav:youtube-dl:mehLx_Fjv_c
#EXTINF:176:Obligatory Cadence
ffmpeg2wav:youtube-dl:YInfps6UoRI
#EXTINF:281:shlohmo - places
ffmpeg2wav:youtube-dl:tv8Se8xSMiw
#EXTINF:40:Fkn Dead
ffmpeg2wav:youtube-dl:pBzGFuQFruM
#EXTINF:240:Bonobo - Kong
ffmpeg2wav:youtube-dl:lZbgyKJkHxQ
#EXTINF:1
00
04:Flying Lotus- Obligatory Cadence (Homework Edit)
ffmpeg2wav:youtube-dl:WRttEMa6H8I
#EXTINF:303:Bonobo - Kiara
ffmpeg2wav:youtube-dl:N7m86aMNjlQ
#EXTINF:169:Stardust
ffmpeg2wav:youtube-dl:MjZ9Z_6ZmPU
#EXTINF:287:Lacrimosa Aphrodite
ffmpeg2wav:youtube-dl:hE0-ALxSCvI
#EXTINF:299:Bonobo - All In Forms
ffmpeg2wav:youtube-dl:9W-epjHQDZs
#EXTINF:93:Who Mourns Eos - Nathaniel Johnstone Band
ffmpeg2wav:youtube-dl:n85GrnNx8Rg
#EXTINF:150:Epitaph
ffmpeg2wav:youtube-dl:azP8E6JuaeQ
#EXTINF:66:The God Must Be Crazy
ffmpeg2wav:youtube-dl:Zz5JcD2-Du0
#EXTINF:240:Dance With Me
ffmpeg2wav:youtube-dl:BFtu207by74
#EXTINF:190:Turkey Dog Coma
ffmpeg2wav:youtube-dl:2lG5Toke86Q
#EXTINF:214:Pythia
ffmpeg2wav:youtube-dl:1V_PFUE2DhA
#EXTINF:231:Plaid - Do Matter (Official Video)
ffmpeg2wav:youtube-dl:bfjpo4WbK00
#EXTINF:87:Descent Into Madness (feat. Thundercat) (Instrumental)
ffmpeg2wav:youtube-dl:ZQUNz12HGZQ
#EXTINF:405:Bonobo - Animals
ffmpeg2wav:youtube-dl:n5UkQ7T4PH0
#EXTINF:31:Stirring
ffmpeg2wav:youtube-dl:buKobqOkqw0
#EXTINF:359:Steam (Prometheus)
ffmpeg2wav:youtube-dl:LKvd5ZyKddU
#EXTINF:300:Jamie xx - The Rest Is Noise
ffmpeg2wav:youtube-dl:MCxpwylKFNE
#EXTINF:127:Turtles
ffmpeg2wav:youtube-dl:TEl9UBNqUTM
#EXTINF:286:Flying Lotus - Never Catch Me ft. Kendrick Lamar
ffmpeg2wav:youtube-dl:2lXD0vv-ds8
#EXTINF:87:Descent Into Madness (feat. Thundercat)
ffmpeg2wav:youtube-dl:SCKNn9qTwMc
#EXTINF:231:Snugglefish
ffmpeg2wav:youtube-dl:XEnZ6WUYJXI
#EXTINF:205:TODD TERJE - Alfonso Muskedunder
ffmpeg2wav:youtube-dl:ozAswe6R0ts
#EXTINF:340:Pretty Lights - Yellow Bird
ffmpeg2wav:youtube-dl:4NZmRvqYBPI
#EXTINF:165:The Protest (Instrumental)
ffmpeg2wav:youtube-dl:QFGs0ulGiTQ
#EXTINF:261:Flight Of The Ikarus
ffmpeg2wav:youtube-dl:jYANZzS4hXM
#EXTINF:232:Pretty Lights - Let's Get Busy
ffmpeg2wav:youtube-dl:MI2kIcMCCvM
#EXTINF:302:Flying Lotus - Coronus, The Terminator
ffmpeg2wav:youtube-dl:Ak4vLEBxIo4
#EXTINF:350:God Within - Raincry (Spiritual Thirst)
ffmpeg2wav:youtube-dl:Or59GisJ8Dc
#EXTINF:225:Bonobo - El Toro
ffmpeg2wav:youtube-dl:T4xCW28WXBU
#EXTINF:597:Jon Hopkins - Immunity
ffmpeg2wav:youtube-dl:Y8eQR5DMous
#EXTINF:138:Moment of Hesitation
ffmpeg2wav:youtube-dl:tNzZqcmukdk
#EXTINF:80:Flying Lotus: "Tesla" Performed by Debut Chamber Orchestra
ffmpeg2wav:youtube-dl:NGykD7aw044
#EXTINF:117:The Protest
ffmpeg2wav:youtube-dl:sRr61zlCAgg
#EXTINF:185:Flying Lotus - Tiny Tortures
ffmpeg2wav:youtube-dl:84uRsgFPDmg
#EXTINF:115:Tesla
ffmpeg2wav:youtube-dl:1hrSQEJkWJQ
#EXTINF:158:Siren Song (feat. Angel Deradoorian)
ffmpeg2wav:youtube-dl:3qDNRHcA_qA
#EXTINF:133:Flying Lotus - Eyes Above (feat. Kendrick Lamar) Unreleased Rare Exclusive
ffmpeg2wav:youtube-dl:xsZf7rwOeEo
#EXTINF:431:KOAN Sound & Asa - Sanctuary (Official Video) ft. Alicia Kiah
ffmpeg2wav:youtube-dl:hEb0ZWVknCI
#EXTINF:1
03
05:Bonobo♡Black Sands FULL ALBUM
ffmpeg2wav:youtube-dl:05Jv5p9lI9s
#EXTINF:565:Jon Hopkins - Light Through The Veins
ffmpeg2wav:youtube-dl:1H3pA4X-mhA
#EXTINF:351:Amon Tobin - Stoney Street
ffmpeg2wav:youtube-dl:PXvNZ45lEdE
#EXTINF:184:Flying Lotus - Ready Err Not
ffmpeg2wav:youtube-dl:0XDhz5kanYk
#EXTINF:106:Your Potential//The Beyond (feat. Niki Randa)
ffmpeg2wav:youtube-dl:598lJX31EVc
#EXTINF:134:Protector
ffmpeg2wav:youtube-dl:H1NlbxlbP6I
#EXTINF:324:Pretty Lights - Vibe Vendetta
ffmpeg2wav:youtube-dl:YgXpS830ACY
#EXTINF:285:Bonobo - Stay the Same ft Andreya
ffmpeg2wav:youtube-dl:_jfHalX5atA
#EXTINF:297:Venetian Snares - Ion Divvy
ffmpeg2wav:youtube-dl:ABP8wm2wYfM
#EXTINF:357:Pretty Lights - Prophet
ffmpeg2wav:youtube-dl:vT-AZDY0sC8
#EXTINF:292:Bonobo - The Keeper Featuring Andreya Tria
ffmpeg2wav:youtube-dl:HyqnUtL28Wc
#EXTINF:276:Persephone Rises
ffmpeg2wav:youtube-dl:tYf0ypg1R9g
#EXTINF:344:Pretty Lights - Always All Ways - A Color Map of the Sun
ffmpeg2wav:youtube-dl:-moXLrfm_SQ
#EXTINF:158:Siren Song (feat. Angel Deradoorian) (Instrumental)
ffmpeg2wav:youtube-dl:xWzqmcC67Es
#EXTINF:289:Pretty Lights - Press Pause - A Color Map of the Sun
ffmpeg2wav:youtube-dl:Pc78OFnITKg
#EXTINF:486:Hybrid - Break My Soul - Video
ffmpeg2wav:youtube-dl:xptIEkCHTZ4
#EXTINF:146:Dead Man's Tetris (feat. Captain Murphy & Snoop Dogg)
ffmpeg2wav:youtube-dl:3L3lGwOyYoo
#EXTINF:336:KOAN Sound - View From Above
ffmpeg2wav:youtube-dl:mAdnOxplkfM
#EXTINF:573:HARDKISS - The Phoenix (River and Rain) God Within
ffmpeg2wav:youtube-dl:3800R88G2bU
#EXTINF:395:Pretty Lights - Done Wrong - A Color Map of the Sun
ffmpeg2wav:youtube-dl:PNxNa_5L2TU
#EXTINF:260:Bonobo - We Could Forever
ffmpeg2wav:youtube-dl:urCLo4vNpzs
#EXTINF:477:Ulrich Schnauss - Monday Paracetamol
ffmpeg2wav:youtube-dl:5ASjhNBL5fU
#EXTINF:355:Pretty Lights - So Bright feat. Eligh - A Color Map of the Sun
ffmpeg2wav:youtube-dl:Gcjw0c4RGL0
#EXTINF:94:Cold Dead
ffmpeg2wav:youtube-dl:_NJBUviwWA8
#EXTINF:309:Pretty Lights - Go Down Sunshine - A Color Map of the Sun
ffmpeg2wav:youtube-dl:MEAUhW15pcA
#EXTINF:243:Pretty Lights - Around The Block feat. Talib Kweli (Official Music Video)
ffmpeg2wav:youtube-dl:_RlcrCRSY4Y
#EXTINF:160:Coronus, the Terminator (Instrumental)
ffmpeg2wav:youtube-dl:pOeHKiKlt1U
#EXTINF:111:The Boys Who Died in Their Sleep (feat. Captain Murphy) (Instrumental)
ffmpeg2wav:youtube-dl:a9sSNUiQaYs
#EXTINF:306:Oneohtrix Point Never - Chrome Country
ffmpeg2wav:youtube-dl:FbqBXkmukr4
#EXTINF:369:Pretty Lights - Color of My Soul
ffmpeg2wav:youtube-dl:RG712JkXP_0
#EXTINF:111:The Boys Who Died in Their Sleep (feat. Captain Murphy)
ffmpeg2wav:youtube-dl:pmJhmINB758
#EXTINF:309:Unfinished Sympathy (2012 Mix/Master)
ffmpeg2wav:youtube-dl:VLRa4nvkTy4
#EXTINF:84:Theme
ffmpeg2wav:youtube-dl:LO5A-o84baU
#EXTINF:296:Pretty Lights - My Only Hope - A Color Map of the Sun
ffmpeg2wav:youtube-dl:iDR6FGmV2Eo
#EXTINF:235:Never Catch Me (feat. Kendrick Lamar) (Instrumental)
ffmpeg2wav:youtube-dl:BmLP2dZdBUg
#EXTINF:354:Chrome Sparks - The Meaning of Love (Music Video)
ffmpeg2wav:youtube-dl:lM2XJFph-eg
#EXTINF:261:Pretty Lights - One Day They'll Know (ODESZA Remix) - A Color Map of the Sun Remixes
ffmpeg2wav:youtube-dl:oAncODpky6E
#EXTINF:491:God Within - Daylight (Dreamerdreamsalone)
ffmpeg2wav:youtube-dl:BEdWBBMCvDM
#EXTINF:424:Hawke - 3 Nudes in a Purple Garden
ffmpeg2wav:youtube-dl:oJexc4-fb8A
#EXTINF:681:God Within - The Phoenix (Throw Your Guns) original white label version
ffmpeg2wav:youtube-dl:6VXmq_BigoA
#EXTINF:470:Autechre - Nil
ffmpeg2wav:youtube-dl:hfTAv8htci8
#EXTINF:680:Hardkiss - Diazapam Jam (feat. Little Wing)
ffmpeg2wav:youtube-dl:8BmBGm69y0Y
#EXTINF:526:Rabbit In The Moon - Out Of Body Experience - Phase 3 (Burning Spear)
ffmpeg2wav:youtube-dl:r-1K4iY4XIs
#EXTINF:318:Lusine - 'Panoramic'
ffmpeg2wav:youtube-dl:YmLNzYeI7EU
#EXTINF:396:Hardkiss - Pacific Coastal Highway 1 (feat. Hawke)
ffmpeg2wav:youtube-dl:x1YHkOAKhXQ
#EXTINF:485:The Drum Club - Drums are Dangerous (Drugs are Dangerous)
ffmpeg2wav:youtube-dl:ekgprzX7ckw
#EXTINF:484:Hawke - 3 Nudes (Having Sax On Acid)
ffmpeg2wav:youtube-dl:oepDktVS9Zk
#EXTINF:264:Plaid - CLOCK
ffmpeg2wav:youtube-dl:seRyUTdqbRo
#EXTINF:241:Aphex Twin - 4
ffmpeg2wav:youtube-dl:6iiK4MgIPtI
#EXTINF:637:deadmau5 - Strobe
ffmpeg2wav:youtube-dl:tKi9Z-f6qX4
#EXTINF:307:Tycho - Coastal Brake (Lusine remix)
ffmpeg2wav:youtube-dl:AvYYmqVrwH4
#EXTINF:416:Little Wing - Mercy, Mercy
ffmpeg2wav:youtube-dl:GdRYLxZkStA
#EXTINF:472:Grandbrothers - Ezra was Right
ffmpeg2wav:youtube-dl:ip2g8DR-z0M
#EXTINF:238:PETIT BISCUIT - Sunset Lover
ffmpeg2wav:youtube-dl:wuCK-oiE3rM
#EXTINF:544:Eric Prydz - Opus (OUT NOW)
ffmpeg2wav:youtube-dl:iRA82xLsb_w
#EXTINF:534:Shpongle - Invisible Man In A Fluorescent Suit
ffmpeg2wav:youtube-dl:uwR4GFAtJ4k
#EXTINF:513:Blanck Mass - Hive Mind
ffmpeg2wav:youtube-dl:BYhNUzqSt2Y
#EXTINF:409:The Future Sound Of London - Papua New Guinea HD (Offical Video)
ffmpeg2wav:youtube-dl:wfWMv8Y1V5E
#EXTINF:298:Jon Hopkins - Abandon Window - Immunity album version
ffmpeg2wav:youtube-dl:sc1IkYwKCtM
#EXTINF:224:Pink Floyd - On The Run - Remastered
ffmpeg2wav:youtube-dl:Vy4TYbdVJmQ
#EXTINF:350:04 Tomita - Clair De Lune (Suite Bergamasque, No.3)
ffmpeg2wav:youtube-dl:sRRk7JChSts
#EXTINF:284:Hardkiss - Top Secret Song
ffmpeg2wav:youtube-dl:iYNvv36Mqr8

View File

@ -0,0 +1,289 @@
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=9ascsqirWlo
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=jEgX64n3T7g
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=qtFwNa6YdY4
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=k-K6wbCfaD0
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=88naVnS_-_Q
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=9PjXOAM2Y60
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=Kp5JlkV3Dt4
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=WFl7KHCtdT0
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=XugakCZUEzo
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=hNZvVM2i7S4
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=iOI8kIIB1bY
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=MiuJaFNn8Y0
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=xpJc28Wwj4s
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=6AXwm6MpxZ4
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=FM3gwN25oEs
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=DvPOstoXgFI
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=hBS9NjnYApk
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=RPHAjVs-D7c
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=Fh7WpVJX1KE
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=hayXW5R0a3I
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=rl7HAdw_JfQ
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=rVqAdIMQZlk
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=-KRFSUTrIkc
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=xfWbxhPF92M
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=Qvv1C3InlOM
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=DJmmcF4PD60
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=vKYCAduItKs
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=aC23iTyr4V4
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=mNBME0Hm28g
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=Vvbl2IgukV0
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=H9i09M6OCZE
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=LMiu4Hvdd0o
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=UhDztJ9UY-c
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=LYphoZvTb4E
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=6Gdty1b3gPA
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=jWAWEz82ZUk
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=LMMLCwO8fWg
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=9zFm4vtel30
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=VY8VMZPuD7I
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=17PM-UMVud8
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=IddDWBpkzYg
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=T1iDhnUDN-s
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=oOT2-OTebx0
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=fy45K5wFnZ0
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=Ru5oKeediTE
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=iioE03anaP8
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=wOBJscCoQCI
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=RU3V0AiunoM
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=raN3w6fvSLM
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=V_LuQvTiVfg
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=vyjNCFje8bc
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=o-K_xgxrL4s
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=t64m5Lm7CrA
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=LP6X0jTl78k
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=unydrcqqSFA
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=ZdUINbi4wSY
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=HnhuZ_p-dbQ
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=Jozz7RmLpq0
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=iV98MpubQIM
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=YNETOMfLtc0
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=8scHKFwr0og
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=rkY96VwNRiA
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=4bq0AeL0kt4
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=j_0PzMxIPXI
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=B5UCmF-sKuo
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=e7VzteyuZkM
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=Cn1I6hBTWcY
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=f09iWSmR8kc
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=_K6Vm2XW0nA
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=UtPTvyjtx3g
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=PElhV8z7I60
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=lh4brL7PC2E
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=tGKaPCewPiY
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=PmRraoL9v7k
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=04bg9IC9N6w
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=5XYsjVLbvOk
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=t989-ukRYTY
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=Ba-c6LIuluY
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=sYnrtGCgsM8
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=77VqzpvE1zg
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=FVjldL32jPQ
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=SfdPkM_VDVQ
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=5YfKn62wwMM
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=WacIBze4YTU
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=2iSzdN9dyMM
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=qfU2zmLATOY
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=DoxUiqUpkw4
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=Sk9XYQMRiLY
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=Zm-AtGLyMTg
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=LGtLJDP1BIk
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=28tZ-S1LFok
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=0HBLyp2uxcc
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=pdmk3748tLo
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=z3MH4l1-t_8
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=hsJ-wV4-13U
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=gssbsabKq9E
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=DfM46XR8wGQ
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=UkKcEia0-N8
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=eY-eyZuW_Uk
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=SDQ2LIBNBkI
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=cb61AVsxD34
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=yIJSTAOSOXw
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=H-b9hgd-3Tc
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=7ZWQRaY0Tns
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=PUMkxH03V5c
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=1hrgT_ZDUvs
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=k1uUIJPD0Nk
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=qkP6Tf79UrM
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=-DkslcOhytU
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=sI6hApZPv7A
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=joI6Dg1uNBY
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=U0CLws5Y-8E
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=owgH8sPae7g
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=3YHBFmMMECg
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=y-7ZhO0qZ9g
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=05Jv5p9lI9s
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=egsICf0cz1s
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=mCtvJu3sN3g
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=66VnOdk6oto
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=_mN7R0oHEXc
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=oLoHayXLKCQ
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=P_MZOfbl428
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=twZODj0yERs
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=feqkXcNy-XY
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=ZJSQxbedplM
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=-6bbM5HZz5c
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=AjI2J2SQ528
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=Zy7V5DXUhCM
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=einRIcF-z3U
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=oJ9E0mC9Cwk
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=7oQDBxhtFHw
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=Pib8eYDSFEI
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=7QZ-hbL6m60
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=Ur17pfjIRVo
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=sxvtHCNU1DA
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=rVeMiVU77wo
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=UGXX7Yus_oE
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=6ihFnQc8neM
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=5yYS6D-C3ew
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=Ek0SgwWmF9w
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=bcsjz0HXGYk
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=xRxlJc09hv0
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=YcRWolbLl9Q
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=3-s8hmcglRQ
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=_UBOzklsrAg
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=_uz5niB5nJo
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=eQK7KSTQfaw
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=i-8lgj0gf6o
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=EBe2EdTMumU
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=qKzH6pRfzoU
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=mehLx_Fjv_c
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=Eck9slViEoU
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=andd1eYucx0
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=AXT4dxCrmEI
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=MpY38Fzfqkg
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=TP4DIQ-weio
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=uNa1AZpmndA
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=fhzkeFiXfPI
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=ZvSgLHWR16o
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=ICcaUXZcdgI
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=5ASjhNBL5fU
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=Am1iELQl31k
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=_ILsdcs__ME
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=5mQVljB7JGw
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=0xwuNRX5aoo
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=lQvqqBsjy6o
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=1FH-q0I1fJY
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=YURQicLo7Ik
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=5kPWEkXuk-s
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=l02eAi76668
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=rMKlE6A99Ug
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=anlpzG-ZyUo
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=fWf7xtRurZ8
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=2smjJZ0uQRs
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=yxWBd840E9g
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=IvYB4rC9NnE
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=d5vGjCoQM1s
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=V1HM7t1z9D8
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=Y5CMwOQvcpM
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=fW7_UkLyUBA
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=HXZqRK-PcqE
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=gI2eO_mNM88
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=YUGvgFwZOeU
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=-9pgIVcB3rk
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=4ofEEywrKBk
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=NPpRJoYISSQ
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=-ZQPepIp1Sc
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=Yq_tDOFU5tY
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=7ldYxgJQG_E
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=M8ybWaIvmaM
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=ldH_PiySMrQ
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=em0MknB6wFo
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=NVKc855rg8w
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=Zyz0j_h4RXE
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=3GUGK-cKs7A
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=qLrnkK2YEcE
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=RxabLA7UQ9k
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=rvZNRrwkA2c
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=tfrWuiQ4QNc
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=rBOWeP70VHA
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=Kwjn8YaaB1Q
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=xUIBnmdJJ50
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=iFwOmxP56-g
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=nl3g26MOfrg
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=ix26SdBmoGw
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=1eIYIqcqtqw
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=7nktU07uLGQ
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=MAxJZTTk0_w
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=nDkkK-KHjks
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=SWU51KfLevo
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=UA3W7q4uDhI
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=SZ26_buhHfI
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=jKWVNlZL32k
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=4Lv9Cz08lNo
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=KjC87QMc1C8
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=olYxU2c46As
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=BcoPKWzLjrE
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=BEbTHir5itc
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=yT0gRc2c2wQ
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=vWD7k6TrJ-g
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=dYQryFBQA4Q
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=yyptwfWhlAg
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=S3zL3YLhKl4
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=A-ZjhEJ6okI
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=BEvpWkbmFFI
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=p48uWkI-NrI
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=eHFx11tUO1M
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=WmuU7XV45Qk
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=_R7nTD6YBZs
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=KhrteSZXFzM
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=htTxkyjTBmc
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=uCKeVj0JDjU
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=Rh3hSYgZyJE
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=lG5aSZBAuPs
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=_2093VBJyWs
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=ts922ocXdkk
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=nM_txL43iFM
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=ap65bQZZfDc
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=-woDJsRnpDI
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=ktvTqknDobU
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=hxApQOthgtY
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=O7kCIX2KiS4
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=JaM6z2QkLc8
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=vZTDrcuoLk0
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=qr7IPnV0Qzc
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=V7zUd9jFlJo
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=Xh7pR3qe2Zk
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=Xqw4wo8vdY8
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=NkZNK5D09U8
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=wnGdllCU7EY
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=I8eKe9l31wc
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=xnSew-tCuPo
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=mjOJW1CG_UQ
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=z6RylZqjwmk
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=epCPoQchswE
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=ETbGpGJNVLM
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=3oLxt586JvU
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=YeaGUfZM5hs
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=nvUeo5sagkA
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=l6eSksEp27U
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=YHVw3LQEFl0
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=H9IKD9ayQeg
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=_xlXdMKD3dY
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=h9jH55qYrYM
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=dsAFJIGvbU8
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=dcxsheROd3E
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=Wpoz8Y4fcAE
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=lJ71NUL9Cp4
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=KXn70dIVZKI
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=iOaqV0MmToA
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=-OGDiOnll80
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=qvkyXiOeq9o
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=z_DEC9bo8RU
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=02qa_WHfEjI
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=IEOFPvlNEFM
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=0x6PhH6v0Ls
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=0i_al-Jw6Aw
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=gyN_jD58qCI
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=cfOa1a8hYP8
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=tgIqecROs5M
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=pzXUfg04gdw
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=tdU46cSqslI
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=3SLZ2qFtVl8
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=VnmLUSdooKk
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=VxI7x5G4nJk
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=6zv3HmPxSZk
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=KzimgV0ShE4
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=vhDnWLfm07o
ffmpeg2wav:youtube-dl:https$(colon)//www.youtube.com/watch?v=x5GuBa4Bbnw

3
web/Dockerfile Normal file
View File

@ -0,0 +1,3 @@
FROM php:apache
COPY . /var/www/html

52
web/admin.php Normal file
View File

@ -0,0 +1,52 @@
<html>
<head>
<style>
html { background: #505; color: white; }
</style>
</head>
<body>
<form method="GET">
<input type="hidden" name="auth" value="<?php echo $_GET['auth'] ?>" />
<input type="submit" name="action" value="NEXT" />
<input type="submit" name="action" value="INFO" />
<input type="submit" name="action" value="REFRESH" />
</form>
<?php
include('functions.php');
if ($_REQUEST['action']) {
echo '<pre>';
switch ($_REQUEST['action']) {
case 'NEXT':
echo telnet_send("dodsorfas(dot)main.skip");
break;
case 'INFO':
cool_print(get_infos(), 'debug');
break;
case 'DIRE':
echo "TODO";
break;
case 'REQUEST':
echo "TODO";
break;
case 'REFRESH':
break;
default:
print_r($_REQUEST);
print_r($_ENV);
break;
}
echo '</pre>';
}
?>
<table border="1">
<thead>
<th>Title</th>
</thead>
<?php foreach (get_metadata() as $song) { ?>
<tr>
<td><?php print($song['right_title']);?>&nbsp;</td>
</tr>
<?php } ?>
</table>
</body>
</html>

124
web/functions.php Normal file
View File

@ -0,0 +1,124 @@
<?php
function telnet_send($command) {
$fp = stream_socket_client($_ENV['MAIN_PORT_5000_TCP'], $errno, $errstr, 5);
if (!$fp) {
return("<b><u>TELNET FAILURE:</u> $errstr ($errno)</b><br>");
}
fwrite($fp, "$command\nquit\n");
$eat = '';
while (!feof($fp)) {
$eat .= fgets($fp, 1024);
}
fclose($fp);
return $eat;
}
function cache_get($name) {
$cache_file = "$name.cache";
if (file_exists($cache_file) && (filemtime($cache_file) > (time() - 5 ))) {
return json_decode(file_get_contents($cache_file));
}
return false;
}
function cache_set($name, $value) {
$cache_file = "$name.cache";
file_put_contents($cache_file, json_encode($value), LOCK_EX);
}
function get_infos() {
$infos = array();
$metadata = get_metadata();
$infos['current'] = array_shift($metadata);
//include_once('getid3/getid3/getid3.php');
//$getID3 = new getID3;
$infos['history'] = $metadata;
return $infos;
}
function get_metadata() {
$entries = cache_get('metadata');
if ($entries) {
foreach ($entries as $key => $value) {
$entries[$key] = (array)$value;
}
} else {
$lines = explode("\n", trim(telnet_send("dodsorfas(dot)main.metadata")));
$entries_assoc = [];
$entry_number = 0;
foreach ($lines as $line) {
if (in_array(trim($line), array('END', 'Bye!'))) {
continue;
}
$match = preg_match('/^---\ ([0-9]*)\ ---/', $line, $search);
if ($match) {
if ($entry_number) {
$entries_assoc[$entry_number] = $entry;
}
$entry_number = intval($search[1]);
$entry = array();
} else {
$value = explode('=', $line, 2);
$entry[$value[0]] = trim(trim($value[1]), '"');
}
}
$entries_assoc[$entry_number] = $entry;
$entries = array();
for ($i = 1; $i < sizeof($entries_assoc); $i++) {
$entry = $entries_assoc[$i];
$pos = strrpos($entry['title'], '(');
$entry['left_title'] = trim(substr($entry['title'], 0, $pos));
$entry['right_title'] = substr(trim(substr($entry['title'], $pos)), 1, -1);
if (preg_match('/(LIVE de copains- radio Salut c\'est cool)/', $entry['title'])) {
$entry['live'] = 1;
$entry['mode'] = 'live';
$entry['artist'] = 'Copains de salut c\'est cool';
} else if (preg_match('/(LIVE de SCC - radio Salut c\'est cool)/', $entry['title'])) {
$entry['live'] = 1;
$entry['mode'] = 'live';
$entry['live_artist'] = 'scc';
//$entry['artist'] = 'salut c\'est cool';
} else {
$mode = explode(' - ', $entry['right_title']);
$entry['live'] = 0;
if ($mode[0]) {
$entry['mode'] = $mode[0];
}
}
if (empty($entry['full_title'])) {
if ($entry['artist'] && $entry['left_title']) {
$entry['full_title'] = sprintf('%s - %s', $entry['artist'], $entry['left_title']);
} else {
$entry['full_title'] = $entry['left_title'];
}
}
if (empty($entry['full_title'])) {
//$entry['full_title'] = 'Morceau sans nom';
$entry['full_title'] = basename($entry['filename']);
}
/*if ($entry['live_artist'] == 'scc') {
if (empty($entry['full_title'])) {
$entry['full_title'] = 'salut c\'est cool en live';
} else {
$entry['full_title'] = sprintf('salut c\'est cool en live (%s)', $entry['full_title']);
}
}*/
$entries[] = $entry;
}
cache_set('metadata', $entries);
}
return $entries;
}
function cool_print($data, $format) {
switch ($format) {
case 'json':
echo(json_encode($data));
break;
case 'jsonp':
printf("%s(%s);", $_GET['callback'], json_encode($data));
break;
case 'debug':
echo '<pre>';
print_r($data);
echo '</pre>';
break;
}
}
?>

24
web/index.php Normal file
View File

@ -0,0 +1,24 @@
<?php
include('functions.php');
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$url = $_POST['url'];
$url = preg_replace("/:/", "$(colon)", $url);
echo telnet_send("request.push ffmpeg2wav:youtube-dl:" . $url);
}
?>
<html>
<head>
<title>Radio Dodsorfas</title>
</head>
<body>
<form action="/index.php" method="post">
Song: <input type="text" name="url"><br>
<input type="submit" value="Submit">
</form>
</body>
</html>

29
yt-m3u Executable file
View File

@ -0,0 +1,29 @@
#!/bin/bash
set -euo pipefail
IFS=$'\n\t'
function get_duration {
preconvert=$(youtube-dl --get-duration -- "$1" | perl -p -i -e 's/(\d\d?):(\d\d)/$1 minutes+$2 seconds/' 2> /dev/null)
convert=$(units "$preconvert")
stripped=$(echo "$convert" | grep -o '[0-9]*')
echo "$stripped"
}
function get_title {
result=$(youtube-dl --get-title -- "$1")
echo "$result"
}
function makeline {
duration=$(get_duration "$1")
title=$(get_title "$1")
echo "#EXTINF:$duration:$title"
}
videos=$(youtube-dl --get-id "$1")
videos=($videos)
for i in "${videos[@]}"; do
makeline "$i"
echo "ffmpeg2wav:youtube-dl:$i"
done