Что это и кому это надо?
Начнем с того, что выясним что такое DLNA. Вот что написано в википедии:
Мудрёно? Да. Простыми словами - из своего компьютера (и не только) вы сможете сделать медиасервер, с которого можно будет смотреть и слушать видео, фотографии и музыку на любом телевизоре, музыкальном центре и прочей технике в своей квартире (причем независимо друг от друга) правда при одном условии - ваша техника должна поддерживать стандарт DLNA. Обычно об этом можно прочесть на коробке от этой самой техники или в ее документации. А еще можно заглянуть за телевизор (музыкальный плеер, DVD/Blue-ray плеер) и поискать разъем Ethernet. Конечно вы его можете и не найти, например если ваш телевизор поддерживает Wi-Fi.
Короче - изучайте матчасть ;)
Так вот, для того чтобы ваш компьютер стал-таки таким медиасервером на нем необходимо установить и настроить DLNA-сервер. Таких серверов существует множество. Из известных мне: MiniDLNA, MediaTomb, Rygel.
Почему MiniDLNA?
Всё очень просто - всё очень просто :)
MiniDLNA очень прост в настройке. Да у него нет всяких современных фич как транскодирование или трансляция видео с Youtube. Но мне это не нужно. Лично мне несложно найти видео сжатым нужным мне кодеком или перекодировать его самостоятельно. Более того у меня есть Blue-ray плеер, который знает больше кодеков чем мой телек. Так что если что-то не идет на телеке - идет на Blue-ray плеере.
Установка
Устанавливается MiniDLNA из репозиториев
Настройка
Файл с настройками MiniDLNA находится по пути /etc/minidlna.conf.
Открываем его своим любимым редактором (nano, vim, gedit и т.д.). У кого нет любимого редактора можно воспользоваться шпаргалкой
Если совсем ничего не понятно, то сделаем минимальные изменения в настройках.
Путь к медиабиблиотеке
Необходимо указать нашему серверу где же находится вся наша медиабиблиотека (директория или несколько директорий) с фильмами, мультиками, фотографиями и музыкой. Пути к библиотекам указываются ключом media_dir. Таких ключей можно указать сколько угодно. Примеры настройки лежат тут же.
Стало быть приводим часть с описанием медиадиректорий в настройках к следующему виду:
Как будет называться наш сервер
Конечно же мы не оставим это на откуп компьютеру ;) Мы назовем свой сервер сами. Находим параметр friendly_name раскоментируем его если он закоментирован и пишем туда свое имя сервера
MiniDLNA использует в качестве СУБД sqlite3. Соответственно вся база данных хранится в файле. Нам стоит позаботиться о том где этот файл будет лежать. Для этого просто раскоментируем (или добавим свой) параметр
За это отвечает параметр log_dir по-умолчанию он равен /var/log. Оставим его без изменения. Разве что раскоментируем его, если он закоментирован. Файл с логами будет называться minidlna.log
Собственно настройка закончена. Сохраняем файл, закрываем его и переходим к организации файловой системы для правильной работы нашего сервера
Организация файловой системы
Звучит грозно? Не надо бояться. Здесь мы будем создавать директории и символические ссылки. Итак.
Создаем заготовку для нашей медиабиблиотеки.
Собственно осталась самая малость - добавить ссылки на директории с медиаконтентом в нашу медиабиблиотеку
Должно пройти некторое время пока сервер просканирует все папки и запишет к себе в базу все, что ему надо. В зависимости от количества файлов этот процесс может занять от нескольких секунд до нескольких минут.
По собственному опыту могу сказать одно, что в основном все проблемы (телевизор видит сервер, но не видит файлов; файлы видно, но показывать не хочет и т.п.) из-за того, что:
Начнем с того, что выясним что такое DLNA. Вот что написано в википедии:
DLNA (Digital Living Network Alliance) — стандарт, позволяющий совместимым устройствам передавать и принимать по домашней сети различный медиа-контент (изображения, музыку, видео), а также отображать его в режиме реального времени. Это технология для соединения домашних компьютеров, мобильных телефонов, ноутбуков и бытовой электроники в единую цифровую сеть.
Мудрёно? Да. Простыми словами - из своего компьютера (и не только) вы сможете сделать медиасервер, с которого можно будет смотреть и слушать видео, фотографии и музыку на любом телевизоре, музыкальном центре и прочей технике в своей квартире (причем независимо друг от друга) правда при одном условии - ваша техника должна поддерживать стандарт DLNA. Обычно об этом можно прочесть на коробке от этой самой техники или в ее документации. А еще можно заглянуть за телевизор (музыкальный плеер, DVD/Blue-ray плеер) и поискать разъем Ethernet. Конечно вы его можете и не найти, например если ваш телевизор поддерживает Wi-Fi.
Короче - изучайте матчасть ;)
Так вот, для того чтобы ваш компьютер стал-таки таким медиасервером на нем необходимо установить и настроить DLNA-сервер. Таких серверов существует множество. Из известных мне: MiniDLNA, MediaTomb, Rygel.
Почему MiniDLNA?
Всё очень просто - всё очень просто :)
MiniDLNA очень прост в настройке. Да у него нет всяких современных фич как транскодирование или трансляция видео с Youtube. Но мне это не нужно. Лично мне несложно найти видео сжатым нужным мне кодеком или перекодировать его самостоятельно. Более того у меня есть Blue-ray плеер, который знает больше кодеков чем мой телек. Так что если что-то не идет на телеке - идет на Blue-ray плеере.
Установка
Устанавливается MiniDLNA из репозиториев
sudo apt-get install minidlnaКому хочется иметь последнюю версию может воспользоваться PPA
sudo add-apt-repository ppa:stedy6/stedy-minidna sudo apt-get update sudo apt-get install minidlnaЯ рекомендую использовать именно PPA. Тот minidlna сервер, который идет из стандартного репозитория у меня почему-то не хотел запоминать предыдущее место воспроизведения в видео файлах. Приходилось использовать перемотку. Не критично, но когда знаешь, что это должно работать, то свербит ;)
Настройка
Файл с настройками MiniDLNA находится по пути /etc/minidlna.conf.
Открываем его своим любимым редактором (nano, vim, gedit и т.д.). У кого нет любимого редактора можно воспользоваться шпаргалкой
sudo gedit /etc/minidlna.confДалее смотрим, что там есть. Базовый файл с настройками имеет коментарии ко всем параметрам. Все довольно просто и понятно.
Если совсем ничего не понятно, то сделаем минимальные изменения в настройках.
Путь к медиабиблиотеке
Необходимо указать нашему серверу где же находится вся наша медиабиблиотека (директория или несколько директорий) с фильмами, мультиками, фотографиями и музыкой. Пути к библиотекам указываются ключом media_dir. Таких ключей можно указать сколько угодно. Примеры настройки лежат тут же.
media_dir=A,/home/jmaggard/Music media_dir=V,/home/jmaggard/Videos media_dir=P,/home/jmaggard/PicturesНикто не запрещает указать две и более директории с (например) видео:
media_dir=V,/первый/путь/к_видео media_dir=V,/второй/путь/к_видеоЯ предлагаю другой подход - использовать в качестве медиабиблиотеки путь /opt, который указан в настройках по-умолчанию. И по этому пути собирать символические ссылки на все наши директории с медиаконтентом.
Стало быть приводим часть с описанием медиадиректорий в настройках к следующему виду:
media_dir=V,/opt/medialib/video media_dir=A,/opt/medialib/audio media_dir=P,/opt/medialib/picturesИдем дальше...
Как будет называться наш сервер
Конечно же мы не оставим это на откуп компьютеру ;) Мы назовем свой сервер сами. Находим параметр friendly_name раскоментируем его если он закоментирован и пишем туда свое имя сервера
friendly_name=My super mediaserverДиректория с базой данных
MiniDLNA использует в качестве СУБД sqlite3. Соответственно вся база данных хранится в файле. Нам стоит позаботиться о том где этот файл будет лежать. Для этого просто раскоментируем (или добавим свой) параметр
db_dir=/var/cache/minidlnaКуда складывать логи
За это отвечает параметр log_dir по-умолчанию он равен /var/log. Оставим его без изменения. Разве что раскоментируем его, если он закоментирован. Файл с логами будет называться minidlna.log
Собственно настройка закончена. Сохраняем файл, закрываем его и переходим к организации файловой системы для правильной работы нашего сервера
Организация файловой системы
Звучит грозно? Не надо бояться. Здесь мы будем создавать директории и символические ссылки. Итак.
Создаем заготовку для нашей медиабиблиотеки.
sudo mkdir -p /opt/medialib/video sudo mkdir -p /opt/medialib/audio sudo mkdir -p /opt/medialib/picturesДалее меняем владельца этих директорий
sudo chown -R minidlna:minidlna /opt/medialibСоздаем директорию для файла базы данных MiniDLNA
sudo mkdir /var/cache/minidlnaМеняем владельца папки, чтобы сервер имел доступ к своей же базе данных
sudo chown minidlna:minidlna /var/cache/minidlnaДиректорию для логов создавать не надо. Она уже есть.
Собственно осталась самая малость - добавить ссылки на директории с медиаконтентом в нашу медиабиблиотеку
sudo ln -s <путь_к_папке_с_видео_1> /opt/medialib/video/Films1 sudo ln -s <путь_к_папке_с_видео_2> /opt/medialib/video/Films2 sudo ln -s <путь_к_папке_с_аудио> /opt/medialib/audio/Music sudo ln -s <путь_к_папке_с_фото> /opt/medialib/video/PhotosНу и последний штрих - перезапускаем наш MiniDLNA сервер
sudo service minidlna restartНичего не работает :(
Должно пройти некторое время пока сервер просканирует все папки и запишет к себе в базу все, что ему надо. В зависимости от количества файлов этот процесс может занять от нескольких секунд до нескольких минут.
По собственному опыту могу сказать одно, что в основном все проблемы (телевизор видит сервер, но не видит файлов; файлы видно, но показывать не хочет и т.п.) из-за того, что:
- Вы неправильно раздали права на папки с видео/музыкой/фотками (или на конечные файлы). В данном случае просто надо выдать правильные права. Для файлов подойдут 664. Для папок 775. Как правило с папками все нормально. Не хватает прав как раз на конечных файлах. Для этого можно воспользоваться командой:
find <папка_с_видео> -type f | sed 's/ /\\ /g' | xargs chmod 664
- Ваше устройство просто не поддерживает данный тип фалов или кодек. В данном случае изучайте документацию на устройство - возможно его можно перепрошить и обновить кодеки в нем
33 комментария :
Подскажите команду, пожалуйста, чтобы при закачке или добавления папок и файлов в основную папку minidlna (у меня это /opt/media/video/) необходимые права устанавливались автоматически.
Хммм. По идее если у Вас уже выставлены права на папку и minidlna определяет содержимое правильно, то никаких дополнительных команд не надо. Просто копируете туда новые фильмы/мультики/все-что-душе-угодно и minidlna их сам найдет: с правами все будет ок.
Собственно тут особой проблемы нет, если у Вас конечные файлы имеют больше прав, чем указано в статье. Для домашнего использования, при обдуманном подходе тут не должно возникнуть никаких проблем.
Я могу предположить, что у Вас файлы (каким-либо мистическим образом) имеют право запуска и Вас это беспокоит? Если проблема в другом, то дайте больше информации, пожалуйста, и постараемся всё порешать ;)
Спасибо за ответ.
По всей видимости, minidlna не определяет содержимое правильно.
Итак имеется нетбук(дом медиасервер) с Xubuntu 10.04
На нем minidlna (ставил по посту, только папки свои) и transmission.
Замысел - второй качает в папку, первый(желательно без моих лишних телодвижений)из этой папки показывает кино.
После установки каким-то чудом удалось показать в локальной сети две серии сериала. Мучился долго. Полностью расшарил по сети папку, упростил хитроумные названия подпапок, права на них и сами файлы 777 поставил. Что помогло - не понял. Воодушевленный долгожданным успехом, закачал в папку еще две серии. Но вот вам большой Фиг. Уже установил 777 и поменял длинные имена, удалил файл базы, запустил заново. Результат - те файлы, что светились в сети, есть, а двух других нету. Единственное что меня смущает,так это хозяева файлов. У первых двух - minidlna, у вторых - transmission. Но с другой стороны - папка расшарена в сеть. Ничего не пойму.
Очень странное поведение. У меня организована именно такая же схема: есть хранилище со всяким видео контентом в которое периодически подкачиваются всякие КВН и прочая ерунда с помощью transmission.
Вот только у меня владельцем всех файлов, скачанных transmission являюсь я. И я не выполняю каких-то дополнительных команд. Т.е. transmission, будучи запущенным от моего имени, владельцем выставляет меня. Но не суть. Если у конечного файла стоят "божественные" права ;) (777), то без разницы кто его владелец - все имеют к нему полный доступ.
Судя по Вашему сообщению я понял что все 4 файла лежат в одной и той же папке. Если телевизор может воспроизвести те файлы, которые minidlna показывает, то надо смотреть в чем разница между первыми двумя и вторыми двумя файлами.
И я бы не стал так уповать на то, что если папка расшарена в сеть и ее все в сети видят, то и локально она тоже должна быть видна. Это совсем не так.
В результате каков план проверки:
1. Убедиться что телевизор воспроизводит то, что minidlna ему показывает (видимость списока фильмов еще не залог успеха)
2. Если все 4 файла лежат в одной папке то проверяем разницу в правах у этих 4 файлов.
3. Если файлы попарно лежат в разных папках, то проверяем разницу в правах у папок.
Жду результатов ;) (положительных или отрицательных)
- Файлы лежат попарно в подпапках в папке /opt/media/video.
- Все права у них выставлены одинаковые - 777
- при этом: первые два файла видит телевизор (и проигрывает), wmp через dlna на других машинах этой локальной сети (и проигрывают)
- два вторых файла никто не видит.
- все четыре файла видны со всех PC и запускаются в samba сети
Забыл еще такой момент - после назначения minidlna владельцем папки (согласно поста), transmission ничего не мог закачать туда. Ошибка: что-то вроде restricted access
Я, не зная что делать, расшарил папку через shares-admin. Transmission начал закачивать, но под своим именем.
Может, суть именно в разных владельцах?
Minidlna не хочет вносить в свою базу "чужое добро"?
Можно как-то изменить конфигурацию? дать команду на совместное владение для этих двух программ
Спасибо, что возитесь со мной.
Очень странное поведение.
Давайте начнем с малого. Покажите, пожалуйста, что выдадут команды
ls -l /opt/media/video
ls -l /opt/media/video/первая_папка
ls -l /opt/media/video/вторая_папка
Соответственно 'первая_папка' и 'вторая_папка' поменяйте на свои.
И всегда пожалуйста ;)
Я так понимаю, эти команды должны выдать всю информацию о папках и файлах.
Значит ввел я поочередно три команды. и, о чудо, все файлы засветились по dlna
Но радость была недолгой. Закачал я еще один файл в третью подпапку. Прав на них не менял. Ниже листинг, что мне выдал terminal при повторном вводе присланных Вами команд. Папки Bratstvodesanta и Bratstvo были раньше. Докачивал папку Snaypery.Lyubov.pod.pritselom.XviD.2012.SATRip.Files-x
После запуска сканирования результата не получил - остались видными только Братства.
bigoserver@bigoserver:~$ ls -l /opt/media/video
итого 12
drwxrwxrwx 2 minidlna minidlna 4096 2012-12-20 18:08 Bratstvo
drwxrwxrwx 2 bigoserver bigoserver 4096 2012-12-20 12:14 Bratstvodesanta
drwxr-xr-x 2 bigoserver bigoserver 4096 2012-12-21 19:46 Snaypery.Lyubov.pod.pritselom.XviD.2012.SATRip.Files-x
bigoserver@bigoserver:~$ ls -l /opt/media/video/Bratstvo
итого 1301212
-rwxrwxrwx 1 minidlna minidlna 675569664 2012-12-19 22:23 Bratstvo.desanta.(12.serija).2012.XviD.SATRip.by.simka.avi
-rwxrwxrwx 1 minidlna minidlna 655245312 2012-12-19 22:29 Bratstvo.desanta.(13.serija).2012.XviD.SATRip.by.simka.avi
-rwxrwxrwx 1 minidlna minidlna 674279424 2012-12-19 22:29 Bratstvo.desanta.(14.serija).2012.XviD.SATRip.by.simka.avi
bigoserver@bigoserver:~$ ls -l /opt/media/video/Bratstvodesanta
итого 1943128
-rwxrwxrwx 1 bigoserver bigoserver 674037760 2012-12-20 12:05 Bratstvo.desanta.(11.serija).2012.XviD.SATRip.by.simka.avi.part
-rwxrwxrwx 1 bigoserver bigoserver 675569664 2012-12-20 12:14 Bratstvo.desanta.(12.serija).2012.XviD.SATRip.by.simka.avi
-rwxrwxrwx 1 bigoserver bigoserver 1286144 2012-12-20 12:05 Bratstvo.desanta.(13.serija).2012.XviD.SATRip.by.simka.avi.part
-rwxrwxrwx 1 bigoserver bigoserver 674279424 2012-12-20 12:05 Bratstvo.desanta.(14.serija).2012.XviD.SATRip.by.simka.avi.part
-rwxrwxrwx 1 bigoserver bigoserver 674195456 2012-12-20 12:13 Bratstvo.desanta.(15.serija).2012.XviD.SATRip.by.simka.avi
-rwxrwxrwx 1 bigoserver bigoserver 633235456 2012-12-20 12:12 Bratstvo.desanta.(16.serija).2012.XviD.SATRip.by.simka.avi
bigoserver@bigoserver:~$ ls -l /opt/media/video/Snaypery.Lyubov.pod.pritselom.XviD.2012.SATRip.Files-x
итого 610316
-rw-r--r-- 1 bigoserver bigoserver 621594624 2012-12-21 19:46 Snaypery.Lyubov.pod.pritselom.(1.serija).2012.XviD.SATRip.Files-x.avi
-rw-r--r-- 1 bigoserver bigoserver 3356672 2012-12-21 19:36 Snaypery.Lyubov.pod.pritselom.(2.serija).2012.XviD.SATRip.Files-x.avi.part
bigoserver@bigoserver:~$
Да, именно так.
ls -l помимо списка файлов и папок выдает еще информацию об их владельцах и правах.
То, что у Вас чудесным образом все обнаружилось после этих команд это просто совпадение. Что-то произошло другое.
Судя по Вашим файлам все должно работать.
Следующее, что я могу предложить проверить это наличие ключа inotify=yes в конфиге minidlna. Он может быть закоментирован. Расскоментируйте его и перезагрузите minidlna:
sudo service minidlna restart
inotify=yes был незакомментирован
Увы, но результат остается прежним
Сдаваться еще рано ;)
Значит делаем следующее:
1. Останавливаем minidlna
sudo service minidlna stop
2. Удаляем файл базы данных minidlna (необходимо уточнить где конкретно он лежит)
sudo rm /var/cache/minidlna/files.db
3. Запускаем minidlna в режиме debug и от имени пользователя minidlna. Результаты этого запуска будем складывать в minidlna.log но в свою домашнюю папку.
sudo -u minidlna minidlna -d > ~/minidlna.log
4. Проверяем что в телеке появились хотя бы какие-нибудь киношки. В Вашем случае это должно занять несколько секунд.
5. После того как стало понятно, что больше ничего minidlna не найдет останавливаем его (Ctrl+C в терминале где minidlna был запущен).
В результате всего этого действа в домашней папке должен появиться файл minidlna.log надо его открыть и посмотреть почему же одни файлы были найдены, а другие нет.
Я бы тоже с удовольствием посмотрел бы этот лог ;). Вот только не уверен, что он тут в коментариях поместится. Можно попробовать передать его через Pastebin (pastebin.com) или DropBox (dropbox.com)
Да, и сообщите, пожалуйста, что нашлось, а что должно было найтись и не нашлось.
Удачи ;)
Доброе утро
После проведения описанных операций телевизор увидел все. Получается, после добавления новых объектов в папку для воспроизведения, необходимо каждый раз удалять базу и запускать сканирование?
Ссылка на log:
http://bespalov.com.ua/files/minidlna.log
Нет конечно же. Если это и требуется то оооочень редко. У меня несколько тысяч различных медиа файлов и minidlna вполне с ними справляется. Бывают случаи когда требуется его перезагрузить или запустить пересканирование полностью, но это случается очень редко.
Однако в Вашем случае вопрос все-равно остается: что ему (minidlna) мешало раньше и что перестало мешать сейчас? Права Вы, судя по всему, не меняли. Значит не в правах дело, а в чем-то другом.
Возможно, конечно, проблема решилась сама собой ;) Кто знает. В любом случае если вдруг понадобится помощь - обращайтесь. Постараюсь помочь насколько смогу.
Как удалить названия уже удаленных файлов из папки all video?
По идее они должны были сами удалиться. Если этого не произошло, то самый простой способ:
1. Остановить minidlna
2. Удалить базу данных files.db
3. Запустить minidlna заново
После этого minidlna пересканирует медиатеку и обновит список файлов.
Это я знал, только есть мааааленькая проблема: не могу найти этот файл. В конфиге местоположение базы данных закомментарено. Так что по адресу var/cache/ ничего нет. Может она создалась где-то в другом месте? Перерыл все дерево...
Попробуйте его поискать в /var/lib/minidlna.
Кстати можно этот файл поискать в папке /var с помощью команды
find /var -type f 2>/dev/null | grep "files.db"
Спасибо, нашел))
Не за что. Заодно проверьте в настройках minidlna выставлен ли ключ inotify=yes. Он отвечает за автоматическое обновление базы при изменении в файлохранилище.
Огромная благодарность, очень доходчиво.
Вопрос: какую команду добавить в автозапуск для minidlna?
Спасибо.
Всегда пожалуйста. Приятно, что эти знания кому-то еще пригодились, кроме меня. Правда с момента написания этой заметки уже многое изменилось и стоит некоторые вещи в ней поправить, но базовые вещи пока не поменялись.
По поводу автозапуска могу сказать следующее:
если Вы ставили minidlna из репозитариев, то он [minidlna] уже прописан в автозапуске и не требует дополнительных команд.
Команда для запуска minidlna следующая:
sudo service minidlna start
Можно запускать просто командой minidlna, но в данном случае запуск будет произведен от имени пользователя, который эту команду запустил.
Давайте я предположу, что у Вас ноутбук (или стационарный комп) и он раздает всё через WiFi. И после зпуска компьютера minidlna сам не стартует.
В этом случае проблема не в minidlna и его настройках, а в WiFi: minidlna стартует перед тем, как кто-нибудь залогинится в системе и не запустится без поднятого соединения (ethernet или WiFi), но WiFi соединение устанавливается после того, как пользователь залогинился в систему. Вследствие чего получается, что все установлено, настроено и прекрасно работает, но после перезагрузки надо все запускать вручную.
Решений несколько:
1. Прописать жестко параметры WiFi соединения в /etc/network/interfaces. Как это делается - отдельная тема. Я находил множество статей по поводу как это сделать, но сам не пробовал.
2. Прописать в Startup Applications... команду для запуска minidlna. Но в данном случае надо будет учесть, что minidlna будет запускаться от Вашего имени и, стало быть, все права надо будет выставлять для Вас, а не для minildna. Этот способ мне кажется самым неудачным. Его использовать не стоит.
3. Стараться реже выключать/перезапускать компьютер, а в случае чего запускать minidlna вручную через
sudo service minidlna start. Неудобно, но для домашнего использования вполне может сгодиться.
4. Перестать использовать WiFi и использовать ethernet. Это как раз мой случай. Я докупил WiFi мост и теперь мой комп подключен к WiFi мосту через ethernet, а мост, в свою очередь, соединяется с роутером, к которому подключен телевизор.
Наверняка существуют и другие варианты. Надо разбираться в чем конкретно проблема.
Спасибо еще раз.
Всё верно, лептоп+WIFI.
Принцип я понял, когда подниму домашний сервер, то он будет,конечно, с Ethernet.
Попытался установить minidlna на Ubuntu Server согласно Вашей инструкции
Что имеем:
1 - команда sudo update не выполняется, я так понимаю должно быть sudo apt-get update?
2 - В результате устанавливается версия Version 1.24.1-stedy хотя последняя на sourgeforce - 1.25 Так и должно быть
3 - sudo service minidlna start Ругается Job failed to start и сервер не запускается.
Что я делаю не так.
2 Unknown
1. Да, там должно быть apt-get. Спасибо за замечание.
2. Данная заметка про установку и настройку minidlna была написана почти год назад и некоторая информация давно устарела. Например, не стоит пользоваться репозиторием steady потому, что уже почти тот же самый год этот репозиторий не показывает никаких признаков жизни и последняя версия minidlna в этом репозитории - 1.1.0 для ubuntu 11.04. По сему у Вас, скорее всего, установилась версия из обычного репозитория ubuntu, т.к. она получается более поздней.
Так что тут - да, так и должно быть ;)
3. Про данную ошибку вообще ничего сказать не могу, к сожалению. Потому что:
- не тестировал работу minidlna на сервере. все что описано в заметке относилось к обычной desktop версии Ubuntu
- ошибка Job failed to start мне вообще ни о чем не говорит, кроме того, что служба по каким-то причинам не была запущена. возможно больше информации можно будет найти в логе minidlna (/var/log/minidlna.log)
Я постараюсь Вам помочь решить проблему (не обещаю, что у меня получится это сделать ;)), но кроме Job failed to start и Ubuntu Server мне нужно знать больше деталей.
Давайте начнем с версии сервера и логов minidlna.
Здравствуйте Олег!
Во-первых, Большое спасибо за статью!
Она очень помогла мне в настройке minidlna.
Но всё равно остались вопросы..
Например такой:
Как включить в медиабиблиотеку сменный носитель?
(Я только осваиваю Линукс)
Попытался таким образом:
sudo ln -s /media/KINGSTON/ /opt/medialib/video/SD_KINGSTON
sudo service minidlna stop
sudo chown -R minidlna:minidlna /opt/medialib
sudo chown -R minidlna:minidlna /media/KINGSTON
sudo rm /var/lib/minidlna/files.db
sudo service minidlna start
Не помогло - флешка через DLNA не видна.
chown -R minidlna:minidlna /media/KINGSTON
выдаёт ошибку "Operation not permitted" (полагаю из-за того, что там FAT)
OS: Linux Mint 12.0
minidlna -V: Version 1.24.1-stedy
Здравствуйте, Андрей.
Всегда пожалуйста ;)
По поводу подключения флэшки так сразу ответить не могу. Скорее всего minidlna просто не может получить к ней доступ (флэшка монтируется от вашего имени). Поменять владельца тоже не получится, потому что, как Вы и сказали, там FAT (FAT понятия не имеет о том, что вообще какие-либо пользователи существуют и их больше одного).
Задача, по всей видимости, заключается в том, чтобы не заморачиваться копированием всего, что есть на флэшке, а просто: принес, подключил и смотри новые кинушки, которые накачал у соседа?
У меня такой задачи не возникало никогда. Надо эксперементировать. Но что-то мне подсказывает, что простого решения тут не будет.
И я тоже не линукс-гуру ;)
Да, и стоит посмотреть лог файл minidlna. Скорее всего там есть упоминание про Вашу флэшку.
Добрый вечер Олег!
> не заморачиваться копированием всего, что есть на флэшке
> подключил и смотри новые кинушки...
да, совершенно верно.
Посмотрел журнал. к сожалению, ничего по интересующей теме там не нашёл..
> Скорее всего minidlna просто не может получить к ней доступ (флэшка монтируется от вашего имени)
Да. Флэшка подмонтирована под текущим пользователем.
(может существует способ делегировать права этого пользователя сервису minidlna?
пока не удалось нагуглить такого варианта решения)
Попробовал поэкспериментировать ещё с папкой на разделе NTFS (подключить симлинком в медиатеку)
- с тем же успехом (за исключением того что команда chown не ругалась (хотя и не делала ничего при этом)).. ((
Делегировать права одного пользователя другому - я не знаю возможно ли это в linux в принципе или нет.
Порывшись в интернете я нашел статью про настройку minidlna под каждого пользователя отдельно. Вот она https://help.ubuntu.com/community/MiniDLNA
Тут описывается как сделать так, чтоб у каждого пользователя в системе был свой медиасервер (с блэкджэком и всем остальным добром). Там предлагают отключить загрузку minidlna как общесистемного демона и включить его в автозагрузку к пользователю. По идее при такой схеме minidlna будет запускаться от имени того пользователя, который залогинился в систему. И теоретически он должен иметь доступ к флешке и прочим радостям. Один минус мне видится в данной схеме: пока не залогинится пользователь minidlna не стартанет. Но тут можно и плюс усмотреть. Например, если к компьютеру имеют доступ дети и они же смотрят мультики с этого же компа на телевизоре, то для их пользователя(ей) можно сделать отдельную медиатеку нежели у взрослых.
В общем если есть желание - попробуйте. Ну и, если не сложно будет, сообщите о результатах.
Удачи
Большое спасибо за ссылочку, Олег, буду изучать!
(как сам не наткнулся?)
По результатам отпишусь.
Под локальным пользователем всё прекрасно заработало.
Сделал непосредственно по статье.
Ещё раз спасибо за помощь, Олег!
Рад, что у Вас всё получилось ;)
Вы всё сделали сами. Моё участие здесь было минимальным. Так что не за что ;)
И снова здравствуйте! Некоторое время сервер был в ремонте, пришлось подымать длна на компе с помощью стандартной утилитки самсунг. И было у неё замечательное свойство - телевизор запоминал точку всопроизведения, и начинал с неё... Может ли подобное сделать минидлна? А то сервер вернулся, а фильмы так и продолжаю смотреть кусками, приходится перематывать...
Отправить комментарий