LINUX.ORG.RU

minidlna не сканирует папки D-Link ShareCenter Shadow (DNS-325)

 dns-325, , , rescan,


0

1

Стоит transmission который качает файлы в папку torrents. Так же установлен minidlna у которого задача раздавать файлы на медиа устройства из этой же папки. Проблема в следующем: При добавлении файлов в папку torrents, minidlna не схватывает их, т.е. не обновляет базу данных, хотя в логах всё отображается. Когда перезапустишь minidlna (minidlna restart), то всё добавляется. Проверял, менял права на папки файлы, ничего не помогло. Если например удалить файл из папки torrents, то время базы данных изменяется, т.е. как я понимаю база (обновилась), но при добавлении новых файлов без перезагрузки видеть не хочет. Inotify включен, пробовал загрузить файл по сети с ПК на nas сервер в папку torrents, minidlna ничего не увидел. Пожалуйста подскажите что можно сделать. Спасибо

Правильно ли я понял, что и transmission и minidlna работают на DNS-235?

При добавлении файлов в папку torrents, minidlna не схватывает их, т.е. не обновляет базу данных, хотя в логах всё отображается.

Что именно отображается в логах?

Какая версия minidlna? Что в его конфиге? Точно ли minidlna имеет права на чтение файлов?

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)

По крону рестартовать minidlna не катит? Я чтото запамятовал minidlna это встроенная приблуда или нет? Если встроенная то можно поискать в системе скриптец правильно стартующий обновление бд.

mm3 ★★★
()
Ответ на: комментарий от mm3

С кроном не работал, не знаю как добавить. Нет она не встроенная. Есть стандартный DLNA (UPnP AV), но с него телевизор samsung просто тупо не воспроизводит файлы.

Hellsing
() автор топика
Ответ на: комментарий от Hellsing

Хм... Попробуй в конфиге просто указать media_dir=/mnt/HD/HD_a2/torrent без конкретных типов. Ещё попробуй запустить minidlna -d через strace, затем скопировать в /mnt/HD/HD_a2/torrent какой-нибудь мультимедиа-файл и затем выложить лог strace.

Deleted
()
Ответ на: комментарий от Deleted

В конфиге указал media_dir=/mnt/HD/HD_a2/torrent без конкретных типов. А с командой запуска не разобрался, я запускаю командой:

/ffp/start/minidlna.sh restart

Пожалуйста объясните как запустить minidlna -d через strace?

Hellsing
() автор топика
Ответ на: комментарий от Hellsing
strace -o strace.log minidlna -d -f minidlna.conf

Кстати, у меня при добавлении файла minidlna пытается прочитать метаданные:

[2013/01/11 01:47:26] inotify.c:716: debug: The file /var/lib/samba/movies/x.avi was changed.
[2013/01/11 01:47:27] metadata.c:883: debug: Container: 'avi' [x.avi]
У тебя в логе я ничего подобного при обнаружении файла через inotify не нашёл. Но у меня версия 1.0.25, а у тебя - 1.1.0-cvs, судя по логу. Может конкретно в этом срезе CVS или в этой сборке что-то поломано?

Ещё пара вопросов:

  • Где именно ты ищешь новые файлы? Minidlna по умолчанию показывает устройствам несколько контейнеров (музыка, видео и т.п.). Ты пробовал смотреть в контейнере «Browse Directory»? Если свежескачанные фильмы появляются в «Browse Directory», но не появляются в «Video», значит по какой-то причине minidlna не может определить типы файлов.
  • Пробовал ли ты смотреть что происходит с БД? Там самый обычный sqlite.
Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Deleted
strace -o strace.log minidlna -d -f minidlna.conf

Вот что пишет:

minidlna: can't load library 'libavformat.so.54'

Посмотрел в репозиториях нашёл только это:

minidlna-1.0.22-arm-1.txz

minidlna-1.1.0-cvs-arm-1.txz

Хотя пару дней назад 100% уверен что видел там же, что есть 1.0.25, странно, погуглил на счёт этой версии которая у меня сейчас стоит и нашёл вот это. Нашёл версию 1.0.25 arm7, её можно поставить? Если да, то может удалить полностью minidlna который сейчас стоит и поставить версию 1.0.25?

Где именно ты ищешь новые файлы? Minidlna по умолчанию показывает устройствам несколько контейнеров (музыка, видео и т.п.). Ты пробовал смотреть в контейнере «Browse Directory»? Если свежескачанные фильмы появляются в «Browse Directory», но не появляются в «Video», значит по какой-то причине minidlna не может определить типы файлов.

т.е. дописать в конфиг media_dir=B,/mnt/HD/HD_a2/torrent, если да то попробую, хотя мне не нужна разбивка на audio, video и pictures.

Пробовал ли ты смотреть что происходит с БД? Там самый обычный sqlite.

Не смотрел, sqlite

Hellsing
() автор топика
Ответ на: комментарий от Hellsing

т.е. дописать в конфиг media_dir=B,/mnt/HD/HD_a2/torrent, если да то попробую, хотя мне не нужна разбивка на audio, video и pictures.

Нет, оставь «media_dir=/mnt/HD/HD_a2/torrent» и просто перейди медиаплеером в «Browse Directory».

Не смотрел, sqlite

Скопируй базу куда-нибудь, затем добавь в директорию файл для теста, убедись, что minidlna увидел файл через inotify и скопируй базу ещё раз. Выложи оба файла («до» и «после»).

Deleted
()
Ответ на: комментарий от Deleted

Нет, оставь «media_dir=/mnt/HD/HD_a2/torrent» и просто перейди медиаплеером в «Browse Directory».

Запущу торрент и завтра утром проверю.

Скопируй базу куда-нибудь, затем добавь в директорию файл для теста, убедись, что minidlna увидел файл через inotify и скопируй базу ещё раз. Выложи оба файла («до» и «после»).

База данных: до, после. Кстати не пришлось перезапускать, сразу увидела и обновило базу. Посмотрю как увидит файлы которые скачаются к утру.

Hellsing
() автор топика
Ответ на: комментарий от no-dashi

Поддержка inotify в конфиге minidlna влючена?

Да, он же конфиг выложил. Более того, судя по логу - minidlna получает уведомление о новых файлах и изменениях. Он их либо не добавляет в БД, либо добавляет, но куда-то не туда.

Deleted
()
Ответ на: комментарий от Hellsing

База данных: до, после.

sqlite3 files\ DO.db .dump >a.sql
sqlite3 files\ POSLE.db .dump >b.sql
diff -u a.sql b.sql 
--- a.sql	2013-01-11 11:49:22.053339292 +0600
+++ b.sql	2013-01-11 11:49:27.361318709 +0600
@@ -338,6 +338,9 @@
 INSERT INTO OBJECTS VALUES(335,'2$15$16','2$15','64$16','container.storageFolder',126,'Поймай меня, если сможешь');
 INSERT INTO OBJECTS VALUES(336,'2$15$16$0','2$15$16','64$16$0','item.videoItem',127,'Catch.Me.If.You.Can.2002.HDTVRip.2xRus.Eng');
 INSERT INTO OBJECTS VALUES(337,'2$8$56','2$8','64$16$0','item.videoItem',127,'Catch.Me.If.You.Can.2002.HDTVRip.2xRus.Eng');
+INSERT INTO OBJECTS VALUES(338,'64$17','64',NULL,'item.videoItem',128,'test');
+INSERT INTO OBJECTS VALUES(339,'2$15$17','2$15','64$17','item.videoItem',128,'test');
+INSERT INTO OBJECTS VALUES(340,'2$8$57','2$8','64$17','item.videoItem',128,'test');
 CREATE TABLE DETAILS (ID INTEGER PRIMARY KEY AUTOINCREMENT, PATH TEXT DEFAULT NULL, SIZE INTEGER, TIMESTAMP INTEGER, TITLE TEXT COLLATE NOCASE, DURATION TEXT, BITRATE INTEGER, SAMPLERATE INTEGER, CREATOR TEXT COLLATE NOCASE, ARTIST TEXT COLLATE NOCASE, ALBUM TEXT COLLATE NOCASE, GENRE TEXT COLLATE NOCASE, COMMENT TEXT, CHANNELS INTEGER, DISC INTEGER, TRACK INTEGER, DATE DATE, RESOLUTION TEXT, THUMBNAIL BOOL DEFAULT 0, ALBUM_ART INTEGER DEFAULT 0, ROTATION INTEGER, DLNA_PN TEXT, MIME TEXT);
 INSERT INTO DETAILS VALUES(1,NULL,NULL,NULL,'root',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,NULL,NULL,NULL);
 INSERT INTO DETAILS VALUES(2,NULL,NULL,NULL,'Music',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,NULL,NULL,NULL);
@@ -466,6 +469,7 @@
 INSERT INTO DETAILS VALUES(125,'/mnt/HD/HD_a2/torrent/Дети без присмотра.avi',1471078400,1356975953,'Дети без присмотра','1:26:07.960',284653,48000,'DiVX',NULL,NULL,NULL,NULL,2,NULL,NULL,'2012-12-31T21:45:53','704x288',0,0,NULL,NULL,'video/x-msvideo');
 INSERT INTO DETAILS VALUES(126,'/mnt/HD/HD_a2/torrent/Поймай меня, если сможешь',NULL,NULL,'Поймай меня, если сможешь',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,NULL,NULL,NULL);
 INSERT INTO DETAILS VALUES(127,'/mnt/HD/HD_a2/torrent/Поймай меня, если сможешь/Catch.Me.If.You.Can.2002.HDTVRip.2xRus.Eng.avi',3119912960,1357010658,'Catch.Me.If.You.Can.2002.HDTVRip.2xRus.Eng','2:20:38.318',369731,48000,'DiVX',NULL,NULL,NULL,NULL,6,NULL,NULL,'2013-01-01T07:24:18','720x400',0,0,NULL,NULL,'video/x-msvideo');
+INSERT INTO DETAILS VALUES(128,'/mnt/HD/HD_a2/torrent/test.mkv',183190475,1350656058,'test','0:04:12.168',726461,44100,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,'2012-10-19T18:14:18','1920x1080',0,0,NULL,'AVC_MP4_HP_HD_AAC','video/mp4');
 CREATE TABLE ALBUM_ART (ID INTEGER PRIMARY KEY AUTOINCREMENT, PATH TEXT NOT NULL);
 CREATE TABLE CAPTIONS (ID INTEGER PRIMARY KEY, PATH TEXT NOT NULL);
 CREATE TABLE BOOKMARKS (ID INTEGER PRIMARY KEY, SEC INTEGER);
@@ -473,8 +477,8 @@
 CREATE TABLE SETTINGS (UPDATE_ID INTEGER PRIMARY KEY DEFAULT 0, FLAGS INTEGER DEFAULT 0);
 INSERT INTO SETTINGS VALUES(0,0);
 DELETE FROM sqlite_sequence;
-INSERT INTO "sqlite_sequence" VALUES('DETAILS',127);
-INSERT INTO "sqlite_sequence" VALUES('OBJECTS',337);
+INSERT INTO "sqlite_sequence" VALUES('DETAILS',128);
+INSERT INTO "sqlite_sequence" VALUES('OBJECTS',340);
 CREATE INDEX IDX_OBJECTS_OBJECT_ID ON OBJECTS(OBJECT_ID);
 CREATE INDEX IDX_OBJECTS_PARENT_ID ON OBJECTS(PARENT_ID);
 CREATE INDEX IDX_OBJECTS_DETAIL_ID ON OBJECTS(DETAIL_ID);

Вроде всё нормально...

Кстати не пришлось перезапускать, сразу увидела и обновило базу. Посмотрю как увидит файлы которые скачаются к утру.

Ты откатил версию до 1.0.25? Или что-то другое сделал?

Deleted
()
Ответ на: комментарий от Deleted

Вообщем так, на утро скачаны 4 видео файла, базу обновляет автоматически и мгновенно, всё видет и читает dlna клиентом. Так же при удалении или загрузки файлов в папку torrents, так же быстро обновляет базу данных, т.е. по не совсем понятным для меня причинам всё работает на ура. Решил ради интереса полностью перезагрузить server, всё хорошо мнгновенно обновляет базу данных. До того как спросить здесь на форуме, кроме описанного мной в первом посте делал вот это:

1. На этом сайте видел варианты решения, пункт «Automatic Media_DB Update». Я прописал в терминале

# sudo sysctl fs.inotify.max_user_watches=100000
Не знаю повлияло ли это на что то.

2. И было пару скаченных файлов, у которых было много под папок (Blu Ray), я их убрал оттуда.

3. Нашёл minidlna 1.0.25 в репозитории (как ни странно версии 1.0.25 там сейчас нету), поставил её, появился второй новый конфиг файл, который я потом удалил.

4. Ну а дальше задал вопрос на форуме и делал только то что мне подсказали. И ещё удалил записи из файла со списком репозиторий и заново добавил их, обновил информацию о доступных программах «slacker -U», обновил информацию о доступных программах «ipkg update». Вроде это полностью всё что я делал. Есть ли идеи почему всё заработало?

Hellsing
() автор топика
Ответ на: комментарий от Hellsing

Есть ли идеи почему всё заработало?

Сложно сказать: может даунгрейд до 1.0.25, может что-то ещё. У меня ещё была версия, что файл БД по какой-то причине портится или каким-то образом становится недоступным для minidlna.

Я прописал в терминале

# sudo sysctl fs.inotify.max_user_watches=100000

Если ты хочешь, чтобы это значение сохранилось после перезагрузки, то нужно либо вызов sysctl добавить куда-нибудь в init-скрипты, либо прописать «fs.inotify.max_user_watches=100000» куда-нибудь в /etc/sysctl.conf или /etc/sysctl.d/*.conf. Если minidlna не хватает значения max_user_watches, то он в логе так и пишет.

Deleted
()
15 марта 2013 г.
Ответ на: комментарий от Hellsing

У меня такая же проблема была, перепробовал и играться с правами и базу данных удалял после этого перезапускал, все равно не отображались все файлы. Вот один момент, у меня также была папка с фильмом blue-ray(там много подпапок), перенес ее в другое место и все остальные фильмы отобразились!!!

anonymous
()
Ответ на: комментарий от Hellsing

У меня такая же проблема была, перепробовал и играться с правами и базу данных удалял после этого перезапускал, все равно не отображались все файлы. Вот один момент, у меня также была папка с фильмом blue-ray(там много подпапок), перенес ее в другое место и все остальные фильмы отобразились!!!

anonymous
()
15 июня 2013 г.
Ответ на: комментарий от anonymous

У меня сейчас отображаться любое количество папок и под папок.

Hellsing
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.