Portál AbcLinuxu, 19. listopadu 2025 23:27
Řešení dotazu:
$HTTP["host"] == "stream.example.com" {
$HTTP["url"] =~ "(^/hi.ogg)" {
proxy.server = ( "" => ("" => ( "host" => "127.0.0.1", "port" => 81 )))
}
$SERVER["socket"] == ":81" {
url.rewrite-once = ( "^/hi.ogg$" => "/" )
proxy.server = ( "" => ( "" => ( "host" => "127.0.0.1", "port" => 8000 )))
}
a výstup curl -I
HTTP/1.1 200 OK Content-Type: audio/ogg Pragma: no-cache Cache-Control: no-cache, no-store Date: Mon, 14 May 2018 17:56:57 GMT Server: lighttpd/1.4.45rozhodně to ale nesype data takže mám něco špatně.. čekal bych že ten curl bude sypat aspoň rozsypaný čaj, ale nic. v mplayeru taky nic. Mplayer skončí na:
Read failed. No stream found to handle url http://stream.example.com/hi.oggNa bPI http://127.0.0.1:8000 streamuje, curl vysype rozsypaný čaj, ale přes proxy to nějak neprojde. Zkoušel jsem i normální proxy (bez toho podivného workaroundu), ale výsledek je totožný.. Hlavička je správně audio/ogg, ale data nejsou
$HTTP["host"] == "stream.example.com" {
$HTTP["url"] =~ "(^/hi.ogg)" {
proxy.server = ( "" => ("" => ( "host" => "127.0.0.1", "port" => 8000 )))
}
}
Lighttpd jsem už dávno nahradil za nginx. V tom by stačilo cca toto:
server {
listen 80;
server_name stream.example.com;
location /hi.ogg {
proxy_pass http://127.0.0.1:8000/;
}
}
$HTTP["url"] =~ "^/mpd" {
proxy.server = ( "" => (
(
"host" => "127.0.0.1",
"port" => "8000",
)
))
Samozřejmě načtený mod_proxy. Vlezu na localhost/mpd a hraje. Při vypnutém výstupu http dostanu HTTP 500. Když mi půjčíš relevantní část konfigu mpd, tak si můžu zkusit hrát u sebe.
server.stream-request-body = 2mi také nepomohlo.. už vážně nevím
server.stream-response-body = 2Ale aby to bylo kompletní, tady je nastavení lightyho:
server.stream-response-body = 2
$HTTP["url"] =~ "^/hi.ogg" {
proxy.server = ( "" => (
(
"host" => "127.0.0.1",
"port" => "8000",
)
))
}
$HTTP["url"] =~ "^/lo.ogg" {
proxy.server = ( "" => (
(
"host" => "127.0.0.1",
"port" => "8001",
)
))
}
$HTTP["url"] =~ "^/stream.mp3" {
proxy.server = ( "" => (
(
"host" => "127.0.0.1",
"port" => "8002",
)
))
}
a relevantní kus mpd.conf:
audio_output {
type "httpd"
name "OGG stream HQ"
encoder "vorbis"
port "8000"
bind_to_address "0.0.0.0"
quality "4.5"
format "44100:16:2"
}
audio_output {
type "httpd"
name "OGG stream LQ"
encoder "vorbis"
port "8001"
bind_to_address "0.0.0.0"
quality "0"
format "44100:16:2"
}
audio_output {
type "httpd"
name "MP3 stream"
encoder "lame"
port "8002"
bind_to_address "0.0.0.0"
bitrate "192"
format "44100:16:2"
}
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.