Ho appena partorito questa cosa stasera e pensavo di condividerla con voi che non vi meritate un cazzo™.
È uno script per coffee-script da girare su runtime nodejs, crea un server http che streamma l'audio di un video di youtube:
http = require 'http'
spawn = require('child_process').spawn
server = http.createServer (req, res) ->
videoId = req.url.substring 1
console.log videoId
ffmpeg = spawn 'ffmpeg', [
'-i'
'-'
'-vn'
'-sn'
'-f'
'mp3'
'-loglevel'
'quiet'
'-'
]
ffmpeg.stderr.on 'data', (data) -> console.error 'ffmpeg', data.toString 'utf8'
youtubeDl = spawn 'youtube-dl', [
'-q'
'-o'
'-'
"http://www.youtube.com/watch?v=#{videoId}"
]
youtubeDl.stderr.on 'data', (data) -> console.error 'youtube-dl', data.toString 'utf8'
youtubeDl.stdin.end()
youtubeDl.stdout.pipe ffmpeg.stdin
res.writeHead 200,
'Content-Type' : 'audio/mpeg'
ffmpeg.stdout.pipe res
server.listen 8080
Una volta lanciato se viene richiamato dal browser l'indirizzo
http://localhost:8080/dQw4w9WgXcQ 
viene fuori l'audio codificato mp3 preso dal video.