1
0
Fork 0

Almost fixed streaming. The only thing left is to fix headers.

This commit is contained in:
magnolia-fan 2011-04-11 12:19:47 +04:00
parent 71ad3d17e6
commit 4d2c32ec8e
3 changed files with 17 additions and 7 deletions

View File

@ -7,8 +7,13 @@ class TrackController < ApplicationController
pp album = Album.where(:id => release.album_id).first
pp artist = Artist.where(:id => album.artist_id).first
url = Vkontakte.get(artist.name, track.name, (track.length / 1000).round)
redirect_to url
data = Vkontakte.get(artist.name, track.name, (track.length / 1000).round)
url = URI.parse(data['url'])
nginx_url = '/proxy-stream/no-token/' << data['remixsid'] << '/' << '5' << '/' << url.host << url.path
#render :inline => nginx_url
headers['Content-Type'] = 'audio/mpeg'
headers['X-Accel-Redirect'] = nginx_url
render :nothing => true
end
end

View File

@ -16,7 +16,12 @@ module Vkontakte
files = self.parseHtml(html)
files = self.calcWeight(files, artist, track, length)
#self.stream files.first['url']
files.first['url']
return {
'url' => files.first['url'],
'remixsid' => @@bot['remixsid'],
'remixchk' => @@bot['remixchk']
}
end
@ -108,4 +113,4 @@ module Vkontakte
data
end
end
end

View File

@ -32,13 +32,13 @@ location ~* ^/proxy-stream/(.*?)/(.*?)/(.*?)/(.*?)/(.*) {
# when save content to the disk
proxy_hide_header Content-Type;
proxy_hide_header Content-Disposition;
add_header Content-Type 'audio/mpeg';
add_header Content-Disposition 'inline';
add_header Content-Disposition 'attachment; filename=audio.mp3';
# Do not touch local disks when proxying
# content to clients
proxy_max_temp_file_size 0;
# Download the file and send it to client
resolver 192.168.0.1;
proxy_pass $download_url;
}