Stream while converting!
parent
93dbe08fcf
commit
019d06b084
|
@ -514,19 +514,21 @@ function getCoverArt(req::Dict)
|
||||||
end
|
end
|
||||||
|
|
||||||
function giveconverted(file, bitrate, format)
|
function giveconverted(file, bitrate, format)
|
||||||
data = convert(file, bitrate = bitrate, format = format)
|
iodata = convert(file, bitrate = bitrate, format = format)
|
||||||
headers = Dict{String,String}()
|
headers = Dict{String,String}()
|
||||||
suffix = format
|
suffix = format
|
||||||
mime = suffix in keys(Mux.mimetypes) ? Mux.mimetypes[suffix] : suffix
|
mime = suffix in keys(Mux.mimetypes) ? Mux.mimetypes[suffix] : suffix
|
||||||
headers["Content-Type"] = mime
|
headers["Content-Type"] = mime
|
||||||
headers["Content-Length"] = string(length(data))
|
# headers["Content-Length"] = string(length(data))
|
||||||
return Dict(:body => data, :headers => headers)
|
return Dict(:body => take!(iodata), :headers => headers)
|
||||||
end
|
end
|
||||||
|
|
||||||
function convert(infile; bitrate = 64, format = "oga")
|
function convert(infile; bitrate = 64, format = "oga")
|
||||||
global ffmpeg_threads
|
global ffmpeg_threads
|
||||||
pipeline(`ffmpeg -i $infile -y -c:a libvorbis -b:a $(bitrate)k -threads $(ffmpeg_threads) -f $format pipe:1`,
|
io = IOBuffer()
|
||||||
stderr=devnull) |> read
|
run(pipeline(`ffmpeg -i $infile -y -c:a libvorbis -b:a $(bitrate)k -threads $(ffmpeg_threads) -f $format pipe:1`,
|
||||||
|
stderr=devnull, stdout=io), wait = false)
|
||||||
|
io
|
||||||
end
|
end
|
||||||
|
|
||||||
canstream(u::User) = u.stream
|
canstream(u::User) = u.stream
|
||||||
|
|
Loading…
Reference in New Issue