Моя проблема такая же, как в упомянутом в this ответе. Я пытался понять код, и это то, что я узнал:Проблемы с установкой сервера Darwin Streaming os x
Это происходит сбой в файле parse_xml.cgi, пытается получить сообщения (return $message{$name}
) из файла с именем сообщения (расположенные в html_en). Значение $ сообщения происходит от метода GetMessageHash
в файле adminprotocol-lib.pl:
sub GetMessageHash
{
return $ENV{"QTSSADMINSERVER_EN_MESSAGEHASH"}
}
$ENV{"QTSSADMINSERVER_EN_MESSAGEHASH"}
устанавливается в файле streamingadminserver.pl:
$ENV{"QTSSADMINSERVER_EN_MESSAGEHASH"} = $messages{"en"}
Я не знаю, что-нибудь о Perl, поэтому я понятия не имею, что может быть проблемой, потому что то, что я увидел $messages{"en"}
имеет правильное значение (если я делаю print($messages{"en"}{'SunStr'}
Получаю значение «Солнце»)).
Однако, если я попытаюсь сделать print($ENV{"QTSSADMINSERVER_EN_MESSAGEHASH"}{'SunStr'}
, я ничего не получаю. Кажется, как $ENV{"QTSSADMINSERVER_EN_MESSAGEHASH"}
не установлен
Я попробовал этот простой пример и он работал отлично:
$ENV{"HELLO"} = "hello";
print($ENV{"HELLO"});
и она отлично работает, печатает «привет».
Любая идея о том, что может быть проблемой?
Darwin Streaming Server функционально устарели. С 2007 года новых выпусков не было! Я бы не стал использовать его для каких-либо новых проектов. – duskwuff
Вы правы, мне все еще нужно попробовать, потому что я не нашел много вариантов для того, что мне нужно (сервер с открытым исходным кодом, способный передавать поток mp4 через RTSP). Если бы я хотел использовать его, мне нужно было бы адаптировать некоторые вещи (и посвятить некоторое время изучению Perl), поэтому я думаю, что буду продолжать искать. – venito