Almost fixed streaming. The only thing left is to fix headers.
This commit is contained in:
parent
71ad3d17e6
commit
4d2c32ec8e
|
@ -7,8 +7,13 @@ class TrackController < ApplicationController
|
||||||
pp album = Album.where(:id => release.album_id).first
|
pp album = Album.where(:id => release.album_id).first
|
||||||
pp artist = Artist.where(:id => album.artist_id).first
|
pp artist = Artist.where(:id => album.artist_id).first
|
||||||
|
|
||||||
url = Vkontakte.get(artist.name, track.name, (track.length / 1000).round)
|
data = Vkontakte.get(artist.name, track.name, (track.length / 1000).round)
|
||||||
|
|
||||||
redirect_to url
|
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
|
||||||
end
|
end
|
||||||
|
|
|
@ -16,7 +16,12 @@ module Vkontakte
|
||||||
files = self.parseHtml(html)
|
files = self.parseHtml(html)
|
||||||
files = self.calcWeight(files, artist, track, length)
|
files = self.calcWeight(files, artist, track, length)
|
||||||
#self.stream files.first['url']
|
#self.stream files.first['url']
|
||||||
files.first['url']
|
|
||||||
|
return {
|
||||||
|
'url' => files.first['url'],
|
||||||
|
'remixsid' => @@bot['remixsid'],
|
||||||
|
'remixchk' => @@bot['remixchk']
|
||||||
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
@ -108,4 +113,4 @@ module Vkontakte
|
||||||
|
|
||||||
data
|
data
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -32,13 +32,13 @@ location ~* ^/proxy-stream/(.*?)/(.*?)/(.*?)/(.*?)/(.*) {
|
||||||
# when save content to the disk
|
# when save content to the disk
|
||||||
proxy_hide_header Content-Type;
|
proxy_hide_header Content-Type;
|
||||||
proxy_hide_header Content-Disposition;
|
proxy_hide_header Content-Disposition;
|
||||||
add_header Content-Type 'audio/mpeg';
|
add_header Content-Disposition 'attachment; filename=audio.mp3';
|
||||||
add_header Content-Disposition 'inline';
|
|
||||||
|
|
||||||
# Do not touch local disks when proxying
|
# Do not touch local disks when proxying
|
||||||
# content to clients
|
# content to clients
|
||||||
proxy_max_temp_file_size 0;
|
proxy_max_temp_file_size 0;
|
||||||
|
|
||||||
# Download the file and send it to client
|
# Download the file and send it to client
|
||||||
|
resolver 192.168.0.1;
|
||||||
proxy_pass $download_url;
|
proxy_pass $download_url;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue