Разное

Настройка minidlna: Установка и настройка DLNA в Linux

Minidlna — Пингвиньи радости

Материал из Пингвиньи радостей

Статья о dlna медиа сервере Minidlna

Minidlna это программа создающая DLNA-сервер в TCP/IP локальной сети.
Пакет не осуществляет транскодирование на лету. как например это могут делать Mediatomb, PS3.
В связи с этим требования предъявляемые программой к ресурсам рабочей станции с работающим MiniDLNA незначительны.
DLNA-клиент будет воспроизводить/показывать/проигрывать файлы с медиа-сервера под управлением MiniDLNA только поддерживаемых им самим расширений и кодаков.

Установка

Пакет присутствует в хранилище пакетов debian wheezy.
Для установки пакета

После установки пакет готов к использованию.
Для приведения DLNA-сервера в рабочее состояние требуется его настройка.

Некоторые часто используемые команды

  # /etc/init.d/minidlna restart           - перезапуск MiniDLNA
  # cat /var/lib/minidlna/minidlna. log     - просмотр журнала работы

Установка с сайта

Установка с сайта потребуется, если пакет отсутствует в хранилище пакетов операционной среды, как например в debian squeeze.

Для установки MiniDLNA с сайта

  • скачивается последняя версия пакета с сайта www.sourceforge.net
  • распаковывается содержимое пакета, например в папку /tmp/minidlna, далее <TEMP>
  • копируется исполняемый файл minidlna из папки <TEMP>/usr/sbin/ в каталог /usr/sbin/
  • копируется (?!) файл сообщений LC_MESSAGES из папки <TEMP>/usr/share/locale/de/ в каталог /usr/share/locale/de/
  • копируется файл конфигурации minidlna.conf из папки <TEMP>/etc/ в каталог /etc/

По завершении установки для приведения MiniDLNA в рабочее состояние требуется его настройка.

Для запуска DLNA-сервера используется команда

  # /usr/sbin/minidlna -d -f /etc/minidlna. conf &
     при этом MiniDLNA опрашивает локальную сеть и выдаёт информацию о найденных в ней DLNA-клиентах
     пример вывода информации о DLNA-клиенте телевизоре PANASONIC VIERA
        User-Agent: Panasonic MIL DLNA CP UPnP/1.0 DLNADOC/1.00
        Host: 192.168.0.1:8200
        X-PANASONIC-DMP-Profile: MPEG_PS_PAL JPEG_SM PV_DIVX_DIV3 PV_DIVX_DIV4 PV_DIVX_DIVX PV_DIVX_DX50 PV_DRM_DIVX_DIV3 PV_DRM_DIVX_DIV4 PV_DRM_DIVX_DIVX PV_DRM_DIVX_DX50

Для проверки доступности MiniDLNA в DLNA-клиенте открывается вклада «медиа-серверы».
Через определённое время появляется строка «MiniDLNA Server» (или другое установленное в friendly_name в файле конфигурации при осуществлении его настройки)

Для настройки автоматического запуска MiniDLNA при старте операционной среды.

  • получаем права суперпользователя
  • вариант№1 через файл /etc/rc.local:
  в файл /etc/rc.local добавляется строчка
  /usr/sbin/minidlna -d -f /etc/minidlna/minidlna. conf &
  вариант№2 через скрипты запуска
  Создаётся файл /etc/init.d/minidlna.
  Устанавливаются необходимые права на данный файл:
     # chmod 755 /etc/init.d/minidlna
     Теперь доступны команды:
     # /etc/init.d/minidlna start
     # /etc/init.d/minidlna stop
     # /etc/init.d/minidlna restart
  Создаются ссылки на файл /etc/init.d/minidlna в папках /etc/rc2.d, /etc/rc3.d, /etc/rc5.d, например с именем S50minidlna.
  Теперь сервер будет запускаться при старте как в текстовом так и в графических уровнях.
  При необходимости в файле конфигурации /etc/default/minidlna устанавливаются переменные:
     START_DAEMON="yes"
     CONFIGFILE="/etc/minidlna.conf"
     #LOGFILE="/var/log/minidlna.log"
  Внимание!
  данная конфигурация скриптов конфликтует с системой управления пакетами Debian Squeeze
  и вызывает ошибки при последующем обновлении системы.

Ссылки:

Настройка Minidlna

Настройка MiniDLNA осуществляется путём редактирования его файлов конфигурации и наполнения его контентом.
Minidlna корректно работает с кириллицей в именовании папок и файлов.

Для настройки MiniDLNA

  media_dir=V,<путь>/video                     # установка папки для видео
  media_dir=A,<путь>/audio                     # установка папки для аудио
  media_dir=P,<путь>/images                    # установка папки для фото
  friendly_name=MiniDLNA Server                # установка имени сервера для отображдения на dlna-клиенте
  db_dir=/var/lib/minidlna                     # установка пути до базы с экспортируемыми файлами
  network_interface=eth0                       # установка сетевого интерфейса на котором работает демон
  inotify=yes                                  # разрешение автоматического добавления файлов в базу
  notify_interval=60                           # установка интервала обновления базы
  Замечания:
  Для работы inotify-параметров файла конфигурации, связанных с добавлением файлов в базу
  необходима установка пакета inotify-tools.  Следует помнить, что механизм inotify не работает на
  для удалённых сетевых (не локальных) файлах и папках.
  Замечание:
  Содержимое папок с медиа-контентом может быть наполнено как самими файлами/папками так и ссылками на них.
  Ссылки могут быть и на автоматически монтируемые, например пакетом autofs, ресурсы, такие как DVD ROM,
  nfs/samba-ресурсы и прочие.
  Замечание:
  Если после добавления ссылок в экспортируемые каталоги на DLNA-клиенте не видно новых файлов и каталогов,
  то следует удалить файл files.db указанный в параметре db_dir файла конфигурации и
  ещё раз перезапустить MiniDLNA.

Литература

Справочная информация

  • 03.04.2010: Minidlna: создание статьи в википедии, описание установки и настройка версии minidlna_1.0.16.3_static в debian squeeze amd64
  • 29.12.2010: Minidlna: правка внешнего вида, актуализация описания для версии minidlna_1. 0.18_static в debian squeeze i386
  • 01.01.2011: Minidlna: добавлено описание автоматизации запуска и добавления контента в debian squeeze
  Внимание!
  Пакет показал себя при эксплуатации ненадёжно. Наша рекомендация для DLNA-сервера программа Mediatomb.
  • 31.05.2013: Minidlna: актуализация описания для debian wheezy

Установка Медиа сервера MiniDLNA на FreeBSD 9.1 « *Unix,*Linux &Laquo; Интересные Заметки « skleroznik.in.ua

Итак, у нас есть ОС FreeBSD 9.1, Raid 5, Сервер Samba, а также какой-нибудь девайс, типа X-BOX 360, PS3, Smart TV или просто компьютер.

Мы готовы для установки и настройки медиа сервера MiniDLNA для FreeBSD, с помощью которого мы и будем вещать наши мультимедийные файлы (фотки, видео, музыка) на выше указанные девайсы.

Начнём.

cd /usr/ports/net/minidlna
make config-recursive
make install clean<

Далее нам надо создать необходимые папки в нашем хранилище файлов:

mkdir /storage/music # для музыки
mkdir /storage/video # для видео
mkdir /storage/pictures # для изображений

Готово. Теперь настроим наш сервер. Открываем файл настройки любым редактором:

nano /usr/local/etc/minidlna.conf

Настраиваем его примерно так:

# port for HTTP (descriptions, SOAP, media transfer) traffic
 port=8200# network interfaces to serve, comma delimited
 network_interface=re0# set this to the directory you want scanned.
 # * if have multiple directories, you can have multiple media_dir= lines
 # * if you want to restrict a media_dir to a specific content type, you
 #   can prepend the type, followed by a comma, to the directory:
 #   + «A» for audio  (eg. media_dir=A,/home/jmaggard/Music)
 #   + «V» for video  (eg. media_dir=V,/home/jmaggard/Videos)
 #   + «P» for images (eg. media_dir=P,/home/jmaggard/Pictures)
 media_dir=/storage
 media_dir=V,/movie
 media_dir=P,/pictures
 media_dir=A,/music# set this if you want to customize the name that shows up on your clients
 friendly_name=FreeBSD DLNA Server# set this if you would like to specify the directory where you want MiniDLNA to store its database and album art cache
 db_dir=/var/db/minidlna# set this if you would like to specify the directory where you want MiniDLNA to store its log file
 log_dir=/var/db/minidlna# set this to change the verbosity of the information that is logged
 # each section can use a different level: off, fatal, error, warn, info, or debug
 log_level=general,artwork,database,inotify,scanner,metadata,http,ssdp,tivo=warn
 # this should be a list of file names to check for when searching for album art
 # note: names should be delimited with a forward slash («/»)
 album_art_names=Cover. jpg/cover.jpg/AlbumArtSmall.jpg/albumartsmall.jpg /AlbumArt.jpg/albumart.jpg/Album.jpg/album.jpg/Folder.jpg/folder.jpg /Thumb.jpg/thumb.jpg
# set this to no to disable inotify monitoring to automatically discover new files
 # note: the default is yes
 inotify=yes
# set this to yes to enable support for streaming .jpg and .mp3 files to a TiVo supporting HMO
 enable_tivo=no
# set this to strictly adhere to DLNA standards.
 # * This will allow server-side downscaling of very large JPEG images,
 #   which may hurt JPEG serving performance on (at least) Sony DLNA products.
 strict_dlna=no
# default presentation url is http address on port 80
 #presentation_url=http://www.mylan/index.php
 # notify interval in seconds. default is 895 seconds.
 notify_interval=60
# serial and model number the daemon will report to clients
 # in its XML description
 serial=1337
 model_number=1
# specify the path to the MiniSSDPd socket
 #minissdpdsocket=/var/run/minissdpd. sock
 # use different container as root of the tree
 # possible values:
 #   + «.» — use standard container (this is the default)
 #   + «B» — «Browse Directory»
 #   + «M» — «Music»
 #   + «V» — «Video»
 #   + «P» — «Pictures»
 # if you specify «B» and client device is audio-only then «Music/Folders» will be used as root
 #root_container=.

 

Для нормальной работы Minidlna должен иметь права owner для папки /var/db/minidlna:

mkdir –p /var/db/minidlna
chown dlna:dlna /var/db/minidlna

Теперь добавим его в автозагрузку, что бы он запускался вместе с системой:

echo ‘minidlna_enable=»YES»‘ >> /etc/rc.conf

Ну и запускаем сам сервер:

service minidlna start

Для мониторинга используем:

tail -f /var/db/minidlna/minidlna.log

Вот в общем и все.
Источник http://www.cyberycon.com/ustanovka-media-servera-minidlna-na-freebsd-9-1/

MiniDLNA 1.0.20 — Мультимедиа — Новости

MiniDLNA (он же ReadyDLNA) — это небольшой демон, способный раздавать с NAS или домашнего сервера в локальную сеть по протоколу UPnP/DLNA различный мультимедиа-контент: видео, музыку, списки воспроизведения и изображения. В качестве клиентов могут выступать обычные компьютеры с плеерами, поддерживающими UPnP, а так же «аппаратные» плееры вроде Popcorn Hour, Egreat, WD TV Live или встроенных в современные телевизоры. MiniDLNA полностью написан на C с минимумом требуемых библиотек и нормально работает даже на очень слабом железе (проект разрабатывается сотрудником NETGEAR для линии продуктов ReadyNAS). Основные направления развития: нетребовательность к ресурсам и максимальная совместимость с разнообразным клиентским «железом».

Изменения в версии 1.0.20 по сравнению с 1.0.19:

  • Исправлено падение при сканировании файлов MPEG-TS с неправильным размером пакетов.
  • Исправлена передача файлов AVI на телевизоры Samsung A-Series.
  • Улучшена поддержка NETGEAR Digital Entertainer Live (EVA2000).
  • Добавлена поддержка работы на нескольких сетевых интерфейсах одновременно.
  • Добавлена поддержка субтитров для для телевизоров и Blu-Ray-плееров LG.
  • Исправлено несколько проблем, найденных при помощи cppcheck.
  • Добавлена поддержка телевизоров Toshiba Regza.
  • Теперь если точно известно, что клиентское устройство умеет воспроизводить только аудио, сервер вместо полного каталога сразу выдаёт ему только секцию с музыкой.
  • Добавлена поддержка аудио-клиентов Roku SoundBridge.
  • Улучшена поддержка устройств производства Sony (добавлены новые поддерживаемые типы файлов).
  • Добавлена поддержка чтения тегов из видео-файлов MP4 (требуются свежие версии ffmpeg/libavformat).
  • Добавлена поддержка UPnP-метода GetFeatureList, используемого в устройствах Samsung.

>>> Подробности

Deleted


Проверено: JB
()

Проект OpenWrt: MiniDLNA

MiniDLNA — это легкий медиа-сервер DLNA / UPnP. Демон MiniDNLA обслуживает мультимедийные файлы (музыку, изображения и видео) клиентам в сети.

Установка

 обновление opkg
opkg установить minidlna 

Конфигурация

Отредактируйте один из следующих файлов в зависимости от вашей версии miniDLNA:

 / etc / minidlna.conf
/etc/config/minidlna.conf
/tmp/minidlna.conf 
 # ------------------------------------------------ ------ #
# порт для HTTP (описания, SOAP, передача мультимедиа) трафика
# ------------------------------------------------- ----- #
порт = 8200

# ------------------------------------------------- ----- #
# обслуживаемых сетевых интерфейсов, разделенных запятыми
# ------------------------------------------------- ----- #
network_interface = br-lan

# ------------------------------------------------- ----- #
# установите это в каталог, который вы хотите просканировать.# * если у вас несколько каталогов, у вас может быть несколько строк media_dir =
# * если вы хотите ограничить media_dir определенным типом контента, вы
# можно добавить к каталогу тип, за которым следует запятая:
# + "A" для аудио (например, media_dir = A, / home / jmaggard / Music)
# + "V" для видео (например, media_dir = V, / home / jmaggard / Videos)
# + "P" для изображений (например, media_dir = P, / home / jmaggard / Pictures)
# ------------------------------------------------- ----- #
# Каталог носителей зависит от вашего хранилища
# ------------------------------------------------- ----- #
media_dir = A, / mnt / sda1 / музыка
media_dir = P, / mnt / sda1 / изображение
media_dir = V, / mnt / sda1 / видео
# ------------------------------------------------- ----- #
# установите это, если вы хотите настроить имя, которое будет отображаться на ваших клиентах
# ------------------------------------------------- ----- #
friendly_name = Мой сервер DLNA

# ------------------------------------------------- ----- #
# установите это, если вы хотите указать каталог, в котором MiniDLNA будет хранить свою базу данных и кэш обложек альбомов
# ------------------------------------------------- ----- #
db_dir = / mnt / sda1 / minidlna / db

# ------------------------------------------------- ----- #
# установите это, если вы хотите указать каталог, в котором MiniDLNA будет хранить свой файл журнала
# ------------------------------------------------- ----- #
каталог-журнала = / мнт / sda1 / minidlna / журнал

# ------------------------------------------------- ----- #
# это должен быть список имен файлов, которые нужно проверять при поиске обложек альбомов
# примечание: имена должны быть разделены косой чертой ("/")
# ------------------------------------------------- ----- #
album_art_names = Обложка. jpg / cover.jpg / AlbumArtSmall.jpg / albumartsmall.jpg / AlbumArt.jpg / albumart.jpg / Album.jpg / album.jpg / Folder.jpg / folder.jpg / Thumb.jpg / thumb.jpg

# ------------------------------------------------- ----- #
# установите значение no, чтобы отключить мониторинг inotify для автоматического обнаружения новых файлов
# примечание: по умолчанию да
# ------------------------------------------------- ----- #
inotify = да

# ------------------------------------------------- ----- #
# установите значение yes, чтобы включить поддержку потоковой передачи файлов .jpg и .mp3 на TiVo, поддерживающий HMO
# ------------------------------------------------- ----- #
enable_tivo = нет

# ------------------------------------------------- ----- #
# задайте строгое соответствие стандартам DLNA.# * Это позволит масштабировать очень большие изображения JPEG на стороне сервера,
# что может повлиять на производительность JPEG на (по крайней мере) продуктах Sony DLNA.
# ------------------------------------------------- ----- #
strict_dlna = нет

# ------------------------------------------------- ----- #
# URL презентации по умолчанию - это http-адрес на порту 80
# ------------------------------------------------- ----- #
презентация_url = http: //192. 168.1.1: 8200 /

# ------------------------------------------------- ----- #
# интервал уведомления в секундах.по умолчанию 895 секунд.
# ------------------------------------------------- ----- #
notify_interval = 900

# ------------------------------------------------- ----- #
# серийный номер и номер модели, которые демон сообщит клиентам
# в его XML-описании
# ------------------------------------------------- ----- #
серийный = 12345678
model_number = 1

# ------------------------------------------------- ----- #
# указываем путь к сокету MiniSSDPd
# ------------------------------------------------- ----- #
# minissdpdsocket = / var / run / minissdpd.носок

# ------------------------------------------------- ----- #
# использовать другой контейнер в качестве корня дерева
# возможных значений:
# + "." - использовать стандартный контейнер (по умолчанию)
# + «B» - «Обзор каталога»
# + «М» - «Музыка»
# + "V" - "Видео"
# + «P» - «Картинки»
# если вы укажете "B" и клиентское устройство поддерживает только звук, то "Музыка / Папки" будет использоваться как root
# ------------------------------------------------- ----- #
# root_container =.  

Конфигурация (uci)

Здесь описаны параметры конфигурации в / etc / config / minidlna .

Это всего лишь начальный дамп всех вариантов, которые я нашел, я не уверен в каких-либо других вариантах или их фактическом значении!
Я только что догадался о записях типа. — hcc23 21.02.2013, 02:02
Имя Тип Обязательно По умолчанию Описание
включен логический ??? 0
порт строка ??? 8200 порт для трафика HTTP (описания, SOAP, передача мультимедиа)
интерфейс строка ??? br-lan сетевые интерфейсы для обслуживания; запятая (, ) с разделителями
friendly_name string no ( none ) установите это, если вы хотите настроить имя, которое будет отображаться на ваших клиентах
db_dir string no / var / run / minidlna установите это, если вы хотите указать каталог, в котором MiniDLNA будет хранить свою базу данных и кэш обложек альбомов
log_dir string no / var / log установите это, если вы хотите указать каталог, в котором вы хотите, чтобы MiniDLNA сохраняла свой файл журнала
inotify boolean no 1 установите для этого параметра значение no, чтобы отключить мониторинг inotify для автоматического обнаружения новых файлов
enable_tivo boolean no 0 установите для этого параметра значение yes, чтобы включить поддержку потоковой передачи. jpg и .mp3 на TiVo, поддерживающий HMO
strict_dlna логический ??? 0 строго придерживаться стандартов DLNA; Это позволит масштабировать очень большие изображения JPEG на стороне сервера, что может снизить производительность обслуживания JPEG на (по крайней мере) продуктах Sony DLNA.
notify_interval целое число нет 895 интервал уведомления в секундах
серийный целое ??? 12345678 номер модели, который демон будет сообщать клиентам в своем XML-описании
номер_модели целое ??? 1 Номер модели, который демон будет сообщать клиентам в своем XML-описании
root_container ., B , M , V , P нет . контейнер для корня дерева; . : по умолчанию, B : просмотр каталога, M : музыка, V : видео, P : изображения
media_dir строка ??? / mnt задайте здесь каталог, который вы хотите просканировать; если у вас несколько каталогов, вы можете иметь несколько строк media_dir ; если вы хотите ограничить media_dir определенным типом контента, вы можете добавить тип с запятой в начало каталога: A для аудио (например. A, / home / jmaggard / Music ) V для видео, P для изображений; если вы укажете B и клиентское устройство поддерживает только звук, то «Музыка / Папки» будет использоваться как root
имя_альбома строка нет Cover.jpg /
cover.jpg /
AlbumArtSmall.jpg /
albumartsmall. jpg /
AlbumArt.jpg /
albumart.jpg /
Album.jpg .jpg /
Folder.jpg /
folder.jpg
список имен файлов для проверки при поиске обложек альбомов; / с разделителями
presentation_url строка ??? URL-адрес презентации по умолчанию — это http-адрес на порту 80
minisdpdsocket строка ??? укажите путь к сокету MiniSSDPd

Банкноты

Поддержка inotify в MiniDLNA может не работать должным образом при попытке просмотра файловой системы overlayfs.В случае с extroot, например вы можете смотреть на / overlay / root / minidlna вместо / root / minidlna .

Артикул:

Пример

подсказки

Если у вас есть музыкальная библиотека приличного размера, вы, скорее всего, сочтете создание базы данных minidlna на вашем устройстве OpenWrt чрезвычайно медленным или невозможным из-за ограничений ОЗУ.
Решение состоит в том, чтобы создать базу данных minidlna на ПК с Linux.

 # Создайте каталог на жестком или флеш-диске OpenWrt для хранения журнала minidlna и файлов базы данных
mkdir / mnt / hdd / minidlna

# Настройте minidlna для размещения базы данных и файла журнала на жестком или флеш-диске, подключенном к вашему устройству OpenWrt
uci установил minidlna.@minidlna [0] .option.inotify = "0"
uci устанавливает minidlna. @ minidlna [0] .db_dir = "/ mnt / hdd / minidlna"
uci устанавливает minidlna. @ minidlna [0] .log_dir = "/ mnt / hdd / minidlna"
uci add_list minidlna. @ minidlna [0] .media_dir = "А, / mnt / hdd / media"
uci совершает minidlna

# Создайте файл конфигурации minidlna на жестком или флеш-диске, подключенном к вашему устройству OpenWrt
cat << EOF> cp_minidlna_conf.sh
#! / bin / sh

источник /lib/functions.sh

minidlna_cfg_append () {
эхо "$ 1"
}

minidlna_cfg_addbool () {
local cfg = "$ 1"
локальный ключ = "$ 2"
local def = "3 доллара"
местный вал

config_get_bool val "$ cfg" "$ key" "$ def"
["$ val" -gt 0] && val = "да" || val = "нет"
minidlna_cfg_append "$ key = $ val"
}

minidlna_cfg_addstr () {
local cfg = "$ 1"
локальный ключ = "$ 2"
local def = "$ 3"
местный вал

config_get val "$ cfg" "$ key" "$ def"
[-n "$ val"] && minidlna_cfg_append "$ key = $ val"
}

minidlna_cfg_add_media_dir () {
local val = "$ 1"

minidlna_cfg_append "media_dir = $ val"
}

minidlna_create_config () {
local cfg = "$ 1"
местный порт
локальный интерфейс

config_get порт "$ cfg" порт
config_get интерфейс "$ cfg" интерфейс

[-z "$ interface" -o -t "$ port"] && return 1

echo "# этот файл создается автоматически, не редактировать"

minidlna_cfg_append "порт = $ порт"
minidlna_cfg_append "network_interface = $ interface"

minidlna_cfg_addstr "$ cfg" дружественное_имя
minidlna_cfg_addstr "$ cfg" db_dir
minidlna_cfg_addstr "$ cfg" log_dir
minidlna_cfg_addbool "$ cfg" inotify "1"
minidlna_cfg_addbool "$ cfg" enable_tivo "0"
minidlna_cfg_addbool "$ cfg" strict_dlna "0"
minidlna_cfg_addstr "$ cfg" имя_альбома
minidlna_cfg_addstr "$ cfg" presentation_url
minidlna_cfg_addstr "$ cfg" notify_interval "900"
minidlna_cfg_addstr "$ cfg" серийный номер "12345678"
minidlna_cfg_addstr "$ cfg" номер_модели "1"
minidlna_cfg_addstr "$ cfg" minissdpsocket
minidlna_cfg_addstr "$ cfg" root_container ". "
config_list_foreach "$ cfg" media_dir minidlna_cfg_add_media_dir

возврат 0
}

config_load minidlna

minidlna_create_config конфигурация
EOF

chmod + x cp_minidlna_conf.sh
./cp_minidlna_conf.sh> /mnt/hdd/minidlna/minidlna.conf

# Извлеките жесткий диск или флешку из устройства OpenWrt и подключите его к компьютеру с Linux
блок umount

# Создайте базу данных minidlna на ПК с Linux с помощью http://sourceforge.net/projects/minidlna/files/minidlna/1.1.4/
minidlnad -d -R -v -f /mnt/hdd/minidlna/minidlna.conf

# Удалите жесткий диск или флешку из ПК с Linux и снова подключитесь к устройству OpenWrt
блок крепление 
Убедитесь, что точка монтирования портативного жесткого диска или флэш-накопителя Linux на точно совпадает с точкой подключения жесткого или флэш-накопителя OpenWrt.В противном случае OpenWrt minidlna удалит и повторно просканирует базу данных, созданную на ПК, поскольку пути не совпадают с

Этот метод был протестирован на устройстве Openwrt с 32 МБ ОЗУ и музыкальной библиотекой из более чем 11 000 песен. Вы также можете добавить своп, если у вас мало памяти.

Этот веб-сайт использует файлы cookie. Используя веб-сайт, вы соглашаетесь с хранением файлов cookie на вашем компьютере. Также вы подтверждаете, что прочитали и поняли нашу Политику конфиденциальности.Если вы не согласны, покиньте сайт.OKПодробнее о файлах cookie

docs / guide-user / services / media_server / minidlna.txt · Последнее изменение: 26.08.2019, 11:34, автор: vgaetera

OpenWrt Project: DLNA Media Server

Эта служба, основанная на официальном стандарте DLNA, передает потоковые изображения, видео и музыку из определенной папки мультимедиа на развлекательные устройства с поддержкой DLNA в той же сети (например,грамм. современные Smart-телевизоры)

  • Доступен пакет веб-администратора LuCi GUI , который можно найти в меню «Службы» Luci, если он установлен.

Требования к устройству:

Возможные ограничения использования:
Поскольку устройства LEDE обычно не имеют мультимедийных ЦП, может быть рекомендовано отключить создание индексных изображений на малых устройствах LEDE, чтобы избежать выполнения (J / M) декодирования PEG на ЦП устройства. Сама потоковая передача занимает очень мало или совсем не требует циклов ЦП на устройстве LEDE, так как декодирование файлов мультимедиа выполняется не DLNA на устройстве LEDE, а принимающим устройством.

Расположение файла конфигурации и документация

Установка

 обновление opkg
opkg установить minidlna
opkg установить luci-app-minidlna 
  • SmartTV для доступа к услуге DLNA должен находиться в той же сети, поскольку SmartTV время от времени автоматически отправляет широковещательные сообщения, чтобы найти поставщиков данных DLNA в той же сети (если SmartTV поддерживает DLNA).

  • Файлы, доступные для потоковой передачи с помощью этой службы DLNA, затем будут видны для просмотра в медиа-браузере / селекторе ТВ-источника.

  • Может ли SmartTV декодировать и отображать файлы мультимедиа, зависит от поддерживаемых типов мультимедиа программного обеспечения SmartTV.

Этот веб-сайт использует файлы cookie. Используя веб-сайт, вы соглашаетесь с хранением файлов cookie на вашем компьютере. Также вы подтверждаете, что прочитали и поняли нашу Политику конфиденциальности. Если вы не согласны, покиньте сайт.OKПодробнее о файлах cookie

документов / руководство-пользователь / услуги / media_server / dlna.txt · Последнее изменение: 29.03.2019, 16:11, автор: vgaetera

MiniDLNA на Synology DS213j [splitbrain.org]

С моего дня рождения в декабре я счастливый обладатель Synology DS213j NAS. Он заменит мой стареющий B3 для хранения, резервного копирования и обслуживания носителей.

Аппаратное обеспечение очень хорошее, а веб-интерфейс (называемый Disk Station Manager aka.DSM) действительно хорош. Он поставляется с собственным менеджером пакетов, который позволяет вам устанавливать на машину дополнительное программное обеспечение.

Для обслуживания мультимедиа DLNA компания Synology хочет, чтобы вы установили 4 пакета:

  • Медиа-сервер

  • Photo Station

  • Видеостанция

  • Audio Station

Первый просто выполняет DNLA, а остальные три индексируют ваши файлы.Звучит достаточно хорошо, к сожалению, это еще не все, что они делают. Каждая из этих штуковин * Station делает еще множество вещей.

Photo Station создает эскизы для каждого изображения, которое занимает много времени и засоряет иерархию фотографий кучей дополнительных папок. Он также поставляется с каким-то программным обеспечением для ведения блогов.

Video Station пытается загрузить метаданные для ваших видеофайлов из Интернета. Автоматически. Что прекрасно работает для одних файлов, но плохо работает для других, делая ваши фильмы неузнаваемыми.Глупый!

Audio Station также без видимых причин создает кучу дополнительных папок в вашей иерархии. Он также имеет расширенный веб-интерфейс для вашей библиотеки.

Я этого не хотел. Все, что мне было нужно, это какой-то простой способ получить доступ к моим медиафайлам через DLNA с моего телевизора и Playstation. Я искал альтернативы.

MiniDLNA спешит на помощь?

Самым простым сервером DNLA все еще кажется MiniDLNA, который я уже использовал на своем B3 раньше. Итак, я начал путь, чтобы запустить minidlna на моем DiskStation:

Перерыв: различные продукты Synology используют огромное количество процессоров.В DS213j, похоже, установлен процессор ARM7 «Marvell Armada 370». Доступный пакет был скомпилирован для ARM5. Разве ARM7 не должна запускать ARM5? Я понятия не имел, но решил покопаться.

Сначала я разобрался, что такое пакеты SPK. Оказывается, это файлы tar. Распаковка SPK и попытка запустить в нем двоичный файл на DS действительно сработали!

Итак, получить пакет для установки было легко:

Пакет должен поставляться со своим собственным редактором конфигурации — это не сработало, потому что недавнее обновление DSM изменило способ обработки аутентификации в сценариях CGI администратора.Но редактировать конфигурацию вручную через SSH было достаточно просто, и я получил рабочий сервер DNLA.

Создание собственного пакета

Но не все было хорошо. Хотя он успешно проиндексировал мою музыку и изображения, с моими видео он не смог. После долгой отладки я обнаружил, что формат MKV ему не нравится. Но это работало на моем B3! Итак, я знал, что он должен работать с MiniDLNA. Так что, вероятно, чего-то не хватало в этой специальной компиляции.

У меня не было настроения разбираться в кросс-компиляции для ARM.Вместо этого я отчаянно пытался, будет ли мой двоичный файл minidlna от B3 работать на DS213j. Глядь — это было! В нем отсутствовали некоторые библиотеки, но он явно выполнялся.

Так было, когда я решил создать свой собственный пакет на основе оригинала, но с двоичным файлом на основе Debian и библиотеками из моего B3. И пока я занимался этим, я также заменил редактор конфигурации на CGI-скрипт с переменным простым статусом, чтобы значок в графическом интерфейсе DSM выполнял по крайней мере что-то .

Все это доступно на Github, и я буду рад, если кто-то захочет его улучшить или заставить редактор конфигурации снова работать.

TL; DR просто дайте мне посылку

Пожалуйста, включите JavaScript, чтобы просматривать комментарии, предоставленные
Disqus.

minidlna [Wiki ubuntu-fr]


Объекты, представленные на сервере DLNA, просты в использовании.
Comme uShare, Ready Media (anciennement MiniDLNA ) позволяет передавать видео, музыку, изображения… на ПК и на любую консоль, на плате Blu-Ray, на переносном телефоне или на вашем телефоне !!!
Эта услуга является прекрасной альтернативой для использования uShare для решения проблем лекций MPEG4 или участников для телевизионных программ. Il s’agit probablement du meilleur serveur dlna sous debian / ubuntu, противопоказание к uShare où il peut arriver aux clients de plant or mal fonctionner lors du pass d’une musique à l’autre, ou mediatomb qui ne fais pas automatiquement l ‘ arborescence, ce serveur est très stable et autonome, idéale pour partager un disque dur entier par instance.

ОФИЦИАЛ САЙТА

MiniDLNA — это одна из функциональных парфюмов, предназначенных для использования в следующих целях:

домашний кинотеатр :

шлем VR:

MiniDLNA устанавливается вместе с сервисом и автоматическим поиском сыворотки, которая является обычной сывороткой.A priori, vous n’avez donc jamais à utiliser de commandes pour (re) lancer / stopper ce program (surtout si vous avez laissé l’option de recherche automatique de nouveaux fichiers), cependant si besoin, voici les commandes à utiliser.

Залейте redémarrer / arrêter / état minidlna:

 sudo systemctl перезапуск minidlna
sudo systemctl stop minidlna
sudo systemctl статус minidlna 

Залейте реконструируемую базу де донне:

 sudo systemctl перезапуск minidlna 

Rien de Complqué, tous les paramètres sont dans le fichier de configuration / etc / minidlna. conf . La seule выбрала конфигурацию для установки мультимедийных репертуаров (фотографии, видео и аудио) и последующего использования для клиентов:

 # Это файл конфигурации для демона MiniDLNA, носителя DLNA / UPnP-AV.
# сервер.
#
# Если не указано иное, закомментированные параметры показывают свое значение по умолчанию.
#
# В Debian вы также можете обратиться к странице руководства minidlna.conf (5) для
# документация об этом файле.

# Укажите имя пользователя или uid для запуска (по умолчанию root).# В системе Debian опция командной строки (из / etc / default / minidlna) отменяет это.
# user = minidlna


# Путь к каталогу, который вы хотите просканировать на наличие файлов мультимедиа.
#
# Эта опция может быть указана более одного раза, если вы хотите, чтобы несколько каталогов
# сканировано.
#
# Если вы хотите ограничить media_dir определенным типом контента, вы можете
# добавьте к имени каталога букву, обозначающую тип (A, P или V),
# с запятой, вот так:
# * "A" для аудио (например, media_dir = A, / var / lib / minidlna / music)
# * "P" для картинок (например. media_dir = P, / var / lib / minidlna / картинки)
# * "V" для видео (например, media_dir = V, / var / lib / minidlna / videos)
# * "PV" для изображений и видео (например, media_dir = PV, / var / lib / minidlna / digital_camera)
media_dir = V, / home / toto / Vidéos
media_dir = P, / home / toto / Изображения
media_dir = A, / home / toto / Музыка

# Установите это, чтобы объединить все базовое содержимое media_dir в корневой контейнер
# (По умолчанию нет.)
# merge_media_dirs = нет

# Путь к каталогу, который должен содержать кеш базы данных и обложек альбомов.
db_dir = / var / cache / minidlna

# Путь к каталогу, в котором должен храниться файл журнала.log_dir = / var / журнал

# Тип и минимальный уровень важности регистрируемых сообщений.
#
# Типы: "обложка", "база данных", "общий", "http", "inotify",
# «метаданные», «сканер», «ssdp» и «tivo».
#
# Уровни «выключено», «фатальный», «ошибка», «предупреждение», «информация» или «отладка».
# "off" полностью отключает ведение журнала, "фатальный" - самый высокий уровень важности
# и "отладить" самый низкий. 
#
# Типы разделяются запятыми, за ними следует знак равенства ("="), за которым следует
# уровень, применимый к предыдущим типам. Это можно повторить, отделяя
# каждую из этих конструкций через запятую.#
# По умолчанию все типы сообщений регистрируются на уровне «предупреждения».
# log_level = general, artwork, database, inotify, scanner, metadata, http, ssdp, tivo = warn

# Использовать другой контейнер в качестве корня дерева каталогов, представленного
# клиентов. Возможные значения:
# * "." - стандартный контейнер
# * «B» - «Обзор каталога»
# * «М» - «Музыка»
# * "P" - "Картинки"
# * "V" - "Видео"
# * Или вы можете указать ObjectID желаемого корневого контейнера
# (например, 1 доллар США для музыки / списков воспроизведения)
# Если вы укажете "B" и клиентское устройство поддерживает только звук, тогда "Музыка / Папки"
# будет использоваться как root.# root_container =.

# Сетевые интерфейсы для привязки (например, eth0), разделенные запятыми.
# Эта опция может быть указана более одного раза. 
# network_interface =

# Номер порта для HTTP-трафика (описания, SOAP, передача мультимедиа).
# Эта опция обязательна (или должна быть указана в командной строке с помощью
# "-п").
порт = 8200

# URL, представленный клиентам (например, http://example.com:80).
# presentation_url = /

# Имя, которое сервер DLNA предоставляет клиентам.
# По умолчанию "hostname: username".
friendly_name = "Serveur DLNA de toto"

# Серийный номер, который сервер сообщает клиентам.# По умолчанию используется MAC-адрес нового интерфейса.
# серийный =

# Название модели, о котором сервер сообщает клиентам.
# model_name = Совместимость с Windows Media Connect (MiniDLNA)

# Номер модели, которую сервер сообщает клиентам.
# По умолчанию номер версии minidlna.
# model_number =

# Автоматическое обнаружение новых файлов в каталоге media_dir.
inotify = да

# Список имен файлов для поиска при поиске обложек альбомов.
# Имена должны быть разделены косой чертой ("/").
# Эта опция может быть указана более одного раза.album_art_names = Cover. jpg / cover.jpg / AlbumArtSmall.jpg / albumartsmall.jpg
album_art_names = AlbumArt.jpg / albumart.jpg / Album.jpg / album.jpg
album_art_names = Folder.jpg / folder.jpg / Thumb.jpg / thumb.jpg

# Строго соблюдайте стандарты DLNA.
# Это позволяет выполнять масштабирование очень больших изображений JPEG на стороне сервера, что может
# снизить производительность обслуживания JPEG на (по крайней мере) продуктах Sony DLNA.
# strict_dlna = no

# Поддержка потоковой передачи файлов .jpg и .mp3 на TiVo, поддерживающий HMO.
# enable_tivo = no

# Какой метод использовать для регистрации в TiVo: 'bonjour' (по умолчанию) или
# устаревший 'маяк'
# tivo_discovery = bonjour

# Интервал уведомления SSDP в секундах.# notify_interval = 895

# Путь к сокету MiniSSDPd для поддержки MiniSSDPd.
# minissdpdsocket = / run / minissdpd.sock

# Всегда устанавливайте для SortCriteria это значение, независимо от SortCriteria
# передано клиентом
# например force_sort_criteria = + upnp: class, + upnp: originalTrackNumber, + dc: title
# force_sort_criteria =

# максимальное количество одновременных подключений
# примечание: многие клиенты открывают несколько одновременных подключений во время потоковой передачи
# max_connections = 50

# установите значение yes, чтобы разрешить символические ссылки, указывающие за пределы определенных пользователем media_dirs. # wide_links = нет
 

Par défaut, lorsque miniDLNA is lancé en tant que service, il est exécuté avec l’utilisateur minidlna et groupe minidlna . С разрешениями для ваших репертуаров и прочей информации, необходимо решить проблему для того, чтобы использовать устройства для miniDLNA .

Вот глава, предназначенная для смены пользователя и группы с текущим файлом miniDLNA .

Vous n’êtes pas обязательный d’associer une lettre aux répertoires devant être scannés:
media_dir = / media / My Passport / videos /
media_dir = / media / WALKMAN / musiques /

Selon la Quantité de média que vous partagez, leur disponibilité pour vos appareils clients ne sera pas immédiate.Когда дело доходит до деликта, чтобы получить доступ к предварительным досье без готовых документов, простой анализатор miniDLNA не завершил работу.

Если сервер нааппарат проходит на клиенте, используется интервал уведомлений в файле minidlna. conf, пример № 5:

 # интервал уведомления в секундах. по умолчанию 895 секунд.
notify_interval = 5 

Конфигурация пользователя и группы

По умолчанию, miniDLNA (при установке только на удаленных объектах) является автоматическим исполнением для упорядоченного обслуживания.L’utilisateur et le groupe par défaut utilisés sont: minidlna .

Эта проблема доступна в лекциях для всех, кто не знает мира. Vous pouvez donner l’accès en lecture à tout le monde pour vos fichiers, например:

 sudo chmod a + rX / chemin / досье / видео / 

Cependant, si vous ne désirez pas faire ceci, vous pouvez changer l’utilisateur et le groupe utilisé par miniDLNA .

Модификатор линий управления / etc / default / minidlna с правами администратора:

 # USER = "minidlna"
# GROUP = "minidlna" 

Concrètement, ajouter la ligne:

 ГРУППА = "nom_de_l'utilisateur" 

(où nom_de_l’utilisateur является заменяющим устройством по имени пользователя (пользователя) этой машины).

Залейте телевизор Samsung

Pour afficher la pochette d’un film, créer un fichier соответствует формату JPEG.

Пример:
mon_film_en_HD.avi avec sa pochette nommée mon_film_en_HD.jpg

Pour la PS3

Comme pour les TV Samsung, pour les pochette d’un film, créer un fichier JPEG.

Пример:
mon_film_en_HD.avi avec sa pochette nommée mon_film_en_HD.jpg

Изображение в формате 320 x 240 пикселей для лучшего просмотра.

Ничего подобного существует в Интернете для создания карманов в формате PNG: медиа-сервер PS3 — генератор миниатюр

Il conviendra de convertir le fichier png au format jpg (avec gimp par instance) pour que celà fonctionne avec le serveur minidlna

Определенные типы участников видео с ограниченными возможностями по трассе для су-титров, которая является надежной на открытом воздухе (пример: fichiers MKV).

Pour bénéficier des sous-titres, il suffit d’extraire cette piste (par instance avec MKV Extractor GUI) в un fichier du même nom que le fichier vidéo (testé avec l’extension . srt), et de le placer dans le même dossier .

Функциональные титры для тестирования телевизора Panasonic TX-PF50G30 не имеют поддержки Freebox Revolution (v6) на основе сервера и фильма.

Если у вас есть пара параметров, это хороший инструмент для исправления ошибок.

Получите новое разрешение для авторизатора службы UPNP (порт 8200 в примере) для источника с адресом IP для всех устройств.

Пример приложения для рисования в Livebox

 sudo ufw разрешить с 192.168.1.0/24 на любой порт 8200 

Авторы: McPeter, ned.net, bruno.

Minidlna Media Server с эскизами через Optware-NG — HQT

Эта версия имеет поддержку эскизов, настраиваемый значок и НЕ будет воссоздавать базу данных при каждой перезагрузке маршрутизатора, поэтому вы можете возобновить фильмы позже с того места, где вы их оставили в прошлый раз!

1 — Установите Optware New Generation отсюда

2 — Отключить stock Minidlna отсюда

3 — Установить minidlna с поддержкой эскизов

ipkg установить minidlna-rescan-thumbnail nano

4 — Отредактируйте файл конфигурации и измените имя сервера, если хотите, измените каталог мультимедиа или оставьте значение по умолчанию, и все диски будут просканированы

нано / opt / etc / minidlna. conf

Сохранить с помощью CTRL-O / Введите / и выйдите с помощью CTRL-X

5 — Запуск медиасервера minidlna

/opt/etc/init.d/S98minidlna перезапуск

6 — Зайдите на сайт www.asusrouter.com:8200 и посмотрите, как minidlna создает базу данных, нажмите «Обновить» в браузере, чтобы узнать о прогрессе.

Вот как это выглядит на моем телевизоре Samsung с включенными эскизами и диафильмом

ИНДИВИДУАЛЬНЫЙ ЛОГОТИП

Если по какой-то причине вам не нравится значок minidlna по умолчанию, вы можете выбрать любой значок в качестве логотипа minidlna, спасибо @R.Л. Хорн 🙂

7 — Скопируйте некоторые избранные значки (формат .png) в / mnt / sda1 / icons /, например,

8 — Изменить minidlna.conf

нано /opt/etc/minidlna. conf

Найдите эту строку, раскомментируйте и замените на путь к желаемому значку

Из:

# icon = myicon.png, 7f7f7f

Кому:

значок = / mnt / sda1 / icons / myfavoriteicon.png, 7f7f7f

Сохранить с помощью CTRL-O / Введите / и выйдите с помощью CTRL-X

9 — перезапустить minidlna

/ opt / etc / init.d / S98minidlna перезапуск

Теперь у вас есть собственный значок логотипа, на моих фотографиях вы видите два разных логотипа, один — логотип Volvo, а другой — моей любимой футбольной команды:

Огромное спасибо @alllexx за портирование minidlna с поддержкой эскизов

Наслаждайтесь просмотром фильмов на телевизорах Samsung и не только …

Поделитесь пожалуйста отзывами со своей моделью телевизора!

ОБЗОР (НАЖМИТЕ НА ЗВЕЗДЫ, ЧТОБЫ УСТАНОВИТЬ!)

Медиа-сервер, совместимый с «Digital Life Network Alliance»

История фиксации — (может быть неполной: см. Подробную информацию по ссылке SVNWeb выше)
Дата По Описание
19 авг.2020 00:29:08
1.2.1_7,1

глебий
 Сделайте его компилируемым с помощью clang 11.

Прислал: dim 
14 августа 2019 г. 08:48:51
1.2.1_6,1

мат
 Преобразовать в UCL и очистить pkg-сообщение (категории n)

(и пропущено 3 пропущенных файла из предыдущих категорий.) 
05 августа 2019 23:06:50
1.2.1_6,1

jbeich
 multimedia / ffmpeg: обновить до 4.2

Изменения: https://git.ffmpeg.org/gitweb/ffmpeg.git/blob/n4.2:/Changelog
ABI: https://abi-laboratory. pro/tracker/timeline/ffmpeg/ 
08 мая 2019 21:40:46
1.2.1_5,1

глебий
 Это обновление исправляет ошибку, когда minidlna перестает отправлять периодические уведомления SSDP.

PR: 237508 
08 янв 2019 23:34:48
1.2.1_4,1

глебий
 Удалите патч, который я пропустил, чтобы добавить в индекс фиксации в r489641.
08 янв 2019 13:20:19
1.2.1_4,1

мат
 Удалите MASTER_SITES = GH, если он единственный.

Он добавлен USE_GITHUB. Протестировано с помощью make makeum, не изменяя difffo. 
08 янв 2019 04:14:51
1. 2.1_4,1

глебий
 Обновить minidlna до текущего снимка в моем репо.

У апстрима не было релизов больше года.Год назад
Я написал довольно много кода, который улучшает работу minidlna на
FreeBSD. Код был принят в апстриме, но не выпущен в течение года.
Позже я добавил еще патчи, которые сейчас находятся на рассмотрении. Поскольку это все
занимает так много времени, что нам лучше указать порт FreeBSD на мое репо.

Наиболее важным изменением является то, что механизм диспетчера событий сделан ОС
конкретный, а во FreeBSD это kqueue (2). Это позволяет правильно
интегрировать патч для мониторинга файлов. Раньше было крайне
глючит, поскольку один процесс, использующий select (2) и kqueue (2) в
в то же время, хотя и в разных потоках, работать не будет
безупречно.Есть несколько менее важных исправлений.

См. Https://github.com/glebius/minidlna/commit/master 
06 янв 2019 14:32:40
1. 2.1_3,1

sunpoet
 Передать поддержку glebius @. 
06 ноя 2018 01:50:27
1.2.1_3,1

jbeich
 multimedia / ffmpeg: обновление до 4.1

Изменения: https: //git.ffmpeg.org / gitweb / ffmpeg.git / blob / n4.1: / Журнал изменений
ABI: https://abi-laboratory.pro/tracker/timeline/ffmpeg/ 
05 июн 2018 18:57:23
1.2.1_2,1

sunpoet
 Увеличить FD_SETSIZE до 8192

- Bump PORTREVISION для смены пакета

PR: 210014
Получено от: Боба Уиллкокса 
Прислал: Масачика ИШИЗУКА 
Уведомил: riggs 
02 мая 2018 15:07:27
1.2.1_1,1

jbeich
 multimedia / ffmpeg: обновление до 4.0

- Поддержка FFSERVER была удалена из апстрима
- libressl теперь использует бэкэнд libtls вместо исправления openssl one
- Clang i386 больше не использует 16-байтовый стек с выравниванием.

Изменения: https://git.ffmpeg.org/gitweb/ffmpeg.git/blob/n4.0:/Changelog
ABI: https://abi-laboratory.pro/tracker/timeline/ffmpeg/
PR: 227726
Экспертиза: антуан
Дифференциальная версия: https://reviews.freebsd.org/D15175 
28 фев 2018 17:45:24
1.2,1,1

sunpoet
 Взять на себя техническое обслуживание 
28 фев 2018 13:16:43
1.2.1,1

wg
 net / minidlna: порт осиротел, у меня уже нет времени поддерживать его 
14 декабря 2017 г. 09:31:09
1.2.1,1

крещение
 Обновление до 1.2.1
Пока здесь:
- Добавить лицензию
- Используйте дополнительный помощник по опциям

PR: 222934
Прислал: Маттиас Фехнер 
Утверждено: сопровождающим (тайм-аут 2 месяца) 
21 октября 2017 г. 06:50:50
1.2.0_1,1

jbeich
 multimedia / ffmpeg: обновление до 3.4

Заметные изменения:
- i386 / amd64 теперь зависят от NASM на
https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/4f9297ac3b39
- NETCDF теперь MYSOFA, но зависимость в портах еще не существует.
- SCHROEDINGER ушел за
https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/220b24c7c9
- DRM, LIBRSVG2, LIBXML2 - новые опции
- ABI не полностью совместим: некоторые структуры изменены

Незначительная уборка:
- Не передавайте --disable- {in, out} dev, если он уже заблокирован отключенным
зависимость
- Удалите лишнее "Включить" из описаний опций.
- Переключите CDIO_DESC на использование Mk / bsd.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

2024 © Все права защищены. Карта сайта