Comments 65
По поводу перемотки на нем тут зависит от фазы луны… у меня работала на тв после переустановки с тем же конфигом сдулась.
Всеядность самсунгов тоже далеко под вопросом.
А потом наткнулся на homemediaserver — и оказался им весьма доволен. Поначалу, homemediaserver перекодировал видео и оставлял только одну аудиодорожку. Поплутав в настройках удалось сделать так, чтобы сервер отдавал планшету все аудиодорожки и все субтитры, какие есть в фильме. Порадовала возможность создавать профили с разными опциями перекодирования для разных устройств.
А запуск их под Wine — это от лукавого.
Сам долго перебирал варианты, plex победил. С подпиской на plexpass и клиентами под мобильные устройства вещь необычайно удобная, особенно новомодный sync.
Кастомные параметры транскодинга кстати присобачить можно, просто это запрятано в конфигах: forums.plexapp.com/index.php/topic/66040-custom-transcode-profiles/
Однако, мне без труда удалось запустить PS3 Media Server в ArchLinux без иксов. В ArchLinux есть скрипт сервиса для systemd, который работает.
<Client name="LG Smart TV">
<!-- Author: Allen Lew -->
<Identification>
<Header name="User-Agent" substring="LGE_DLNA_SDK" />
</Identification>
<Settings>
<Setting name="AlbumArtPN" value="JPEG_TN" />
</Settings>
<TranscodeTargets>
<VideoProfile container="mpegts" codec="h264" audioCodec="ac3" />
<PhotoProfile container="jpeg" />
</TranscodeTargets>
<DirectPlayProfiles>
<VideoProfile container="avi" codec="mpeg2video,mpeg4,msmpeg4" audioCodec="ac3,aac,mp3" />
<VideoProfile container="mpeg" codec="mpeg1video,mpeg2video,mpeg4" audioCodec="ac3,aac,mp2,mp3" />
<VideoProfile container="mkv" codec="h264" audioCodec="ac3,aac,mp3,lpcm" />
<VideoProfile container="mpegts" codec="h264" audioCodec="ac3,aac,mp3" />
<VideoProfile container="mp4" codec="h264,mpeg4" audioCodec="ac3,aac,mp3,lpcm" />
</DirectPlayProfiles>
</Client>
То есть тут есть секции:
1) Как идентифицировать клиента для применения профиля (в примере, по User-Agent)
2) Переопределяются настройки сервера
3) Выбирается форматы транскодирования для видео и фото (в примере, для видео выбирается контейнер MPEGTS, с кодеками h264 и ac3)
4) Перечисляются поддерживаемые телевизором форматы (контейнеры и кодеки)
Более того в комплекте идут профили, в которых есть ограничения разрешений, битрейта, профилей кодирования и многого другого:
<CodecProfiles>
<VideoCodec name="mpeg2video">
<Limitations>
<UpperBound name="video.width" value="1920" />
<UpperBound name="video.height" value="1080" />
<UpperBound name="video.videoFrameRate" value="30" />
<UpperBound name="video.bitrate" value="30720" />
</Limitations>
</VideoCodec>
</CodecProfiles>
К сожалению есть и странные недостатки транскодера, например, через DLNA Plex не умеет транскодировать музыку, хотя через веб-интерфейс он успешно это делает, например, прегоняет Flac=>Mp3.
Под Linux это единственное решение где нормально работает транскодинг и есть профили под каждое устройство.
Больше всего расстраивает то, что он слабо конфигурируется по другим критериям. Например, мне не нужны все его фишки по авто-тэгингу с различных сервисов — мне бы обычный minidlna с транскодингом, т. е. вошёл в на DLNA-сервер, и просто увидел структуру папок, без этих всех «By Year, By Genre, ...». К сожалению это перенастроить нельзя.
Зато mediatomb работает отлично =)
1) Если высота исходного видео >720 pix — сделать из него crop 720x1080, если <720 pix — увеличить по вертикали до 720 и обрезать по горизонтали до 1080.
2) Если исходное видео H.264 High 5.1 или 5.0 — перекодировать в 4.2, остальные профили — пропускать без транскодирования.
3) Обрезать черные поля, если они присутствуют в исходном видео.
… буду Вам безмерно благодарен — мне так делать очень нужно.
К слову — Mediatomb, TVMobili и в какой-то степени Serviio — это делать умеют.
Я вручную просматривал базы профилей каждого сервера. В Plex она достаточно большая, но сильно меньше, чем в Serviio и Twonky.
1) Тут видимо надо поиграться с этим. В сторону уменьшения точно будет, а вот в сторону увеличения, не уверен в существовании MinResolution.
<CodecProfiles>
<VideoCodec name="h264">
<Setting name="MaxResolution" value="1080x720" />
</VideoCodec>
</CodecProfiles>
2)
<CodecProfiles>
<VideoCodec name="h264">
<Setting name="MaxH264Profile" value="4.1" />
</VideoCodec>
</CodecProfiles>
3) Плохо себе это представляю, как это должен делать сервер. Если чёрные поля в одном эпизоде есть, а в другом нет (так бывает в некоторых фильмах, когда снимают эпизоды на разные камеры).
2) Опция не документирована и более того — «Deprecated». Увы.
3) В Mediatomb это можно сделать передавая ffmpeg параметр -vf. Расчет нужных значений легко скриптуется.
2) НЕ deprecated:
<CodecProfiles>
<VideoCodec name="h264">
<Limitations>
<UpperBound name="video.width" value="1080" />
<UpperBound name="video.height" value="720" />
<UpperBound name="video.level" value="41" />
</Limitations>
</VideoCodec>
</CodecProfiles>
2) Спасибо, попробую.
<VideoProfile container="mpegts" codec="h264" audioCodec="mp3" >
<Setting name="VideoEncodeFlags" value="-vf scale=-1:720,crop=1280" />
</VideoProfile>
Что-ж. Беру свои слова назад — Plex в вопросах транскодирования умеет всё то-же, что умеет и ffmpeg. Но это отвратительно документировано!
Список действительно огромен. Сначала я выкинул из этого списка клиенты, которые не поддерживают линукс. Windows на домашний сервер я не рассматривал — зачем лишние проблемы. После этого убрал проприетарные продукты и давно не поддерживаемые. Дальше прошелся по всяким java и mono. И в конце концов убрал те клиенты, которых нет в gentoo portage. На выходе осталось всего два:
1. Mediatomb
2. MiniDLNA
Первоначально я повелся на восторженные отзывы и поставил mediatomb. Плевался очень долго.
— редактирование конфигов через xml ужасно.
— чтобы сделать представление, как в файловой системе, нужно очень много танцев с бубном и ковыряний конфига. Убрать промежуточные папки почти нереально.
Но это цветочки, основная причина из-за которой я отказался от mediatomb — в нем нет поддержки субтитров. Да, именно так — поддержки субтитров там нет. Единственный способ сделать это — с помощью костылей транскодирования. Из mediatomb запускается ffmpeg (или другой транскодер), видео декодируется, накладываются хардсабы и затем снова кодируется. Как это сказывается на картинке, сколько требуется на это ресурсов и сколько возможно проблем — думаю, объяснять не надо.
Поэтому в итоге я перешел на Minidlna — простой конфиг, настроил папки по своему усмотрению и все работает.
Единственная проблема — matroska. Который сам по себе контейнер и сабы может хранить внутри себя. Поэтому телевизор (LG Smart TV) упорно отказывается видеть сабы для mkv.
Еще в догонку — если dlna на телевизоре появляется через раз — 99% виноват роутер. Замена роутера мне помогла. Возможно, поможет ddwrt
А весь этот геморрой почему? Да потому, что чертовы корейцы не могут добавить поддержку nfs на телевизоре. Или, хотя бы smb.
Сейчас Mediatomb крутится на Raspberry Pi — все ok. Без проблем можно смотреть фильмы в HD.
P.S. os — Debian
Плюс без иксов работают нормально. В свое время как раз ранние сборки Universal Media Server и работали без иксов на домашнем серваке. и с транскодинком и без.
Для дома, я изначально запустился на нем, после пытался искать альтернативы. Более прочих мне понравился Plex по количеству сервисов предоставляемых, удобству. Но к сожалению, в моем окружении (windows 8 Ent) он заваливается с 90% вероятностью при начале трансляции.
В итоге я и остался на сервере от MP.
Доступ к нему не очевидный — Stream -> Turn on media streaming with HomeGroup… Дальше надо поставить разрешенные устройства и разрешаемый контент. И все начинает работать. К сожалению, очевидного удобного управления контентом нет, но возможность имеется — через настройки медиа библиотек.
Это все не фатально, но достаточно, что-бы предпочесть JAVA-приложению что-то другое.
Для меня еще остро встал вопрос медиа-контроллера. Т.е. фильмы на телике через DLNA смотреть без проблем. А вот музыку слушать… Есть у меня ресивер с DLNA (Yamaha из моделей 2012-го). Спокойно открывает и проигрывает DLNA шару. Но, сам не умеет составлять плейлисты и т.п. Т.е. слушать можно только один альбом (читай, папку). DLNA определяет 3 вида устройств — Server, Controller, Renderer. Server и Renderer у меня есть. Видимо надо найти контроллер, способный составлять плейлисты и т.д. Или сервер, у который может выдать не только содержимое папки, а например папку и все подпапки, чтобы ресивер понял.
Если кто решил проблему, поделитесь решением :)
Парочку пробовал — работало плохо. Но у меня Renderer-ы глуповатые и особых усилий я не прилагал.
Последняя версия на данный момент — совершенно детские ошибки UI и просто сплошные баги.
Например, при просмотре видео — всё равно суёт папки для музыки и фотографий.
Или гораздо хуже — у меня в разных папках может быть одинаковое название файла, поэтому некоторые видео я не могу посмотреть никак — показывается случайный элемент (возможно, самый высокий в отсортированном списке?..)
Поэтому в итоге я его снес и пользуюсь MediaTomb, проще и дешевле.
Поставил minidlna, телевизор Samsung отображает не название файлов, а названия фильма (видимо, где-то в тэгах прописано).
Как это отключить? Очень неудобно, когда разные сериалы качаются в одну папку — не отличить один от другого.
Исходники открыты, написан на C# (может запускаться через Mono), дистрибутив с GUI и командной строкой весит полтора мегабайта.
Пример запуска из командной строки.
sdlna.exe --type=VIDEO D:\Video
Для вытягивания обложек бинарники ffmpeg должны находиться в PATH
miniDLNA — хорош, но не умеет делать транслитерацию файлов (все та же YAMAHA не отображает русский на панели, только в мобильном приложении); не умеет выключать ненужные меню и неправильно работает с playlist (он игнорирует указанный каталог и ищет файл по названию, а у меня очень много файлов типа Track01.mp3 и плейлист теряет смысл)
Домашний медиа-сервер — это супер. С первых раз не разобрался как им пользоваться и почему тормозит (мне нужно чтоб он работал на виртуалке а данные брал из сетевой шары) но когда я нашел где выключается транскодер, и включается транслитерация — был очень доволен.
serviio — не захотел работать с сетевыми папками, даже через симлинки (вот казалось бы, какое ему дело? )
mediatomb — из коробки под lubuntu не обноружился ни одним из клиентов (SONY, YAMAHA)
Очень часто разные DLNA\upnp сервера просто перестают видиться устройствами. Без видимых причин. Бывает просто пропадают. Меня бы устроил Simple DLNA но вот конкретно он отваливается часто. И нет поддержки m2ts не знаю что мешало добавить...
Все нахваливают HMS но это просто комбайн фаршированный тракторами! И тоже периодически устройства его не видят. Может это вообще специфика этого "протокола" объяснить никак не смог потому что пропадало в разных сетсях с разным оборудованием и клиентами....
Так что если кто-то будет комментировать отпишите на ваш взгляд стабильные и легковесные программы.
HMS (Домашний медиа-сервер) действительно пропадает, но не всегда надо перезапускать его службу. Выключение телевизора из розетки тоже решает вопрос - у телевизора что-то происходит на уровне WiFi. В остальном HMS устраивает, если не трогать настройки :) А то нащелкал и пропала перемотка из-за включившегося транскодинга.
во первых решает не всегда. Во вторых тоже самое и с LAN
в третьих... какого оно вообще черта? просто изначально дырявое или в чем прикол?
Пока что тьфу тьфу тьфу.... наиболее стабильным оказлся LG SMART SHARE но тоже не без недостатоков... И громоздкий и совсем без настроек...и обновлять списки нужно вручную(да еще и через ж.Гланды....
офф Роутер не Openwrt? Начало проблем с WiFi у телевизора связываю с началом использования на роутере Openwrt 18 ( затем 20).
Ну... коли уж на роутер вешать то хватит и родного Zyxel однако неудобно это как оказалось. Висит далеко. нужно хард отдельно выносить для этого плюс глюки питания, плюс подкачка... основная проблема медленный порт и запись на него. в общем нет. да и речь то именно шла о комповском варианте. а у меня так вообще вопрос именно о том почему все такое кривое и пропадающее. это норма для DLNA сервреов или это некие "обстоятельства"
тьфу ты...совсем я не верно прочитал ваш кеоммент... но ответ там итак случайно нарисовался.
DLNA-сервер для дома и семьи