На главную | В раздел

DLNA Apache-based unicast media server

Тэги: apache как unicast media server
HTTP-сервер Apache очень легко можно превратить в транспорт для DLNA. Для этого, в местах размещения файлов, предназначенных для проигрывания через DLNA необходимо создать .htaccess файл, добавляющий в ответы сервера необходимые для DLNA дополнительные HTTP-заголовки.
Необходимо, чтобы был загружен модуль mod_headers.

Дополнительные HTTP-заголовки

Content-Type
ContentFeatures.DLNA.ORG
TransferMode.DLNA.ORG

Пример .htaccess файла

Набор директив прописывается для каждого типа(расширения) файла.
<FilesMatch "\.(avi)$">
FileETag None
<IfModule mod_headers.c>
Header unset ETag
Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
Header set Pragma "no-cache"
Header set Content-Type "video/avi"
Header set ContentFeatures.DLNA.ORG "DLNA.ORG_OP=01;DLNA.ORG_FLAGS=01500000000000000000000000000000"
Header set TransferMode.DLNA.ORG "Streaming"
</IfModule>
</FilesMatch>

<FilesMatch "\.(mp3)$">
FileETag None
<IfModule mod_headers.c>
Header unset ETag
Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
Header set Pragma "no-cache"
Header set Content-Type "audio/mpeg"
Header set ContentFeatures.DLNA.ORG "DLNA.ORG_PN=MP3;DLNA.ORG_OP=01"
Header set TransferMode.DLNA.ORG "Streaming"
</IfModule>
</FilesMatch>

<FilesMatch "\.(mp4)$">
FileETag None
<IfModule mod_headers.c>
Header unset ETag
Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
Header set Pragma "no-cache"
Header set Content-Type "video/mp4"
Header set ContentFeatures.DLNA.ORG "DLNA.ORG_OP=01"
Header set TransferMode.DLNA.ORG "Streaming"
</IfModule>
</FilesMatch>

<FilesMatch "\.(mpg|mpeg)$">
FileETag None
<IfModule mod_headers.c>
Header unset ETag
Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
Header set Pragma "no-cache"
Header set Content-Type "video/mpeg"
Header set ContentFeatures.DLNA.ORG "DLNA.ORG_PN=MPEG_PS_PAL;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=01500000000000000000000000000000"
Header set TransferMode.DLNA.ORG "Streaming"
</IfModule>
</FilesMatch>
Этот метод применялся в рамках проекта моего собственного DLNA-совместимого Media Server.

© Константин С. Вишнивецкий, 2007-2017