2014-02-16 2 views
2

У меня есть папка с веб-видео на моем веб-сайте, и я бы хотел их передать.Потоковое видео в Интернете с использованием использования памяти lighttpd

Когда вы идете на mysite.com/media/video.webm, вы получаете собственный видеомагнитофон firefox, и видео работает правильно. Сервер имеет только 512 МБ памяти, а при потоковой передаче видео вся свободная память исчезает. (от 300 МБ до только 16 МБ свободного места) Видео просто считывается из файла, но я думаю, что все видео будет кэшироваться во время просмотра.

Как передать видео через lighttpd без потери всей памяти?

+0

Linux в целом любит использовать много памяти для кеширования. Предполагается, что он сможет немедленно выпустить его, если потребуется. EDIT: Вы уверены, что вы не выведете файл с чем-то вроде 'readfile()' или даже 'echo file_get_contents()'? Это было бы ошибкой. – Zdenek

ответ

0

В lighttpd.conf используйте server.network-backend = "sendfile"

Если у вас есть CGI или FastCGI или SCGI бэкенд, который обслуживает файл Lighttpd, а затем изменить эти сценарии для возврата X-SendFile:/путь/к/файлу. webm и настройте mod_cgi, mod_fastcgi или mod_scgi, чтобы принять заголовок ответа X-Sendfile из бэкэндов.

В любом случае, lighttpd 1.4.40 и более поздние версии помещают большие ответы от бэкэндов во временные файлы, поэтому использование памяти сервера должно оставаться низким, независимо от размера обслуживаемых файлов.