Samsung AllShare и Linux

    Купили телевизор Samsung и обнаружили на нём AllShare, но совершенно не хочется ставить ради использования этой функции Windows? Тогда читаем ниже.

    Что такое AllShare, при более близком рассмотрении, и с чем её едят? Ну у корейцев видимо всё не как у людей и оттого они обозвали то, что все называют DLNA по своему — AllShare, ну чтобы враги не догадались, а может оттого, что поддерживают DLNA коряво и не получили соответствующей сертификации, а использовать ой как хочется.

    А что такое DLNA? DLNA (Digital Living Network Alliance) — стандарт, позволяющий совместимым устройствам передавать и принимать по домашней сети различный медиа-контент (изображения, музыку, видео), а также отображать его в режиме реального времени. Это технология для соединения домашних компьютеров, мобильных телефонов, ноутбуков и бытовой электроники в единую цифровую сеть. Устройства, которые поддерживают спецификацию DLNA, по желанию пользователя могут настраиваться и объединяться в домашнюю сеть в автоматическом режиме.
    Средой передачи медиаконтента обычно является домашняя локальная сеть (IP-сеть). Подключение DLNA-совместимых устройств к домашней сети может быть как проводным (Ethernet), так и беспроводным (Wi-Fi).

    Выбор DLNA сервера может показаться не тривиальной задачей, тем более, что выбор достаточно велик. У себя дома, под домашним Debian'ом решил поднять minidlna.

    Итак, с чего же начать? Ну как всегда, с установки зависимостей, скачки исходников и их компиляции.

    $ sudo aptitude install libavcodec-dev libavformat-dev libavutil-dev libflac-dev libvorbis-dev libogg-dev libid3tag0-dev libexif-dev libjpeg-dev
    $ wget "http://downloads.sourceforge.net/project/minidlna/minidlna/1.0.24/minidlna_1.0.24_src.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fminidlna%2Ffiles%2Fminidlna%2F1.0.24%2F&ts=1330931715&use_mirror=ignum" -O minidlna_1.0.24_src.tar.gz
    $ tar xzf minidlna_1.0.24_src.tar.gz
    $ cd minidlna-1.0.24/
    $ make && sudo make install && sudo cp minidlna.conf /etc/


    Теперь, когда сервер DLNA скомпилирован и установлен, приступим к его настройке. В этом, собственно, тоже не должно возникнуть никаких сложностей.

    $ sudo vim /etc/minidlna.conf

    В network_interface прописываем через запятую интерфейсы на которых будет жить сервер DLNA.
    Настройка media_dir может не ограничиваться лишь одним ресурсом, этих строк может быть много. media_dir может включать либо просто имя каталога, либо начинаться с A, V или P, что означает, соответственно, назначение ресурса — аудио, видео, картинки.
    friendly_name описывает имя которое будет светиться в списке источников для DLNA ресурсов.
    notify_interval этот параметр описывает интервал через который происходит уведомление о вновь появившихся ресурсах на DLNA сервере. Значение по-умолчанию в 900 секунд наверное всё-таки слишком велико.
    db_dir это директория где DLNA сервер будет хранить свой кеш о представляемых объектах.
    log_dir — директория где будет вестись журнал DLNA сервера.

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

    minidlna -d -f /etc/minidlna.conf

    Видим, что сервер запускается, начинает сканировать медиа-ресурсы и ожидает подключение клиентов.

    На этом можно было бы и закончить, но ведь наверняка будет очень лениво каждый раз запускать сервер в ручную, а оттого создаём стартап-скрипт и помещаем его в /etc/init.d:
    #! /bin/sh
    ### BEGIN INIT INFO
    # Provides: minidlna
    # Required-Start: $local_fs $remote_fs $syslog $network
    # Should-Start:
    # Required-Stop: $local_fs $remote_fs $syslog $network
    # Should-Stop:
    # Default-Start: 2 3 4 5
    # Default-Stop: 0 1 6
    # Short-Description: Minidlna
    # Description: DLNA Media Server
    ### END INIT INFO

    ## EDIT FROM HERE

    # Installation details
    MINIDLNA="/usr/sbin/minidlna"
    ARGS="/etc/minidlna.conf"

    # Where to keep a log file
    MINIDLNA_LOG="/var/log/minidlna.log"

    # Where the PID lives
    PID_FILE="/var/run/minidlna.pid"

    ## STOP EDITING HERE

    # The path that is to be used for the script
    PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

    set -e

    # Only start if we can find the minidlna.conf.
    test -x $MINIDLNA || exit 0

    # Parse command line parameters.
    case $1 in
    start)
    echo -n "Starting MiniDLNA: "
    $MINIDLNA -f $ARGS -P $PID_FILE >> $MINIDLNA_LOG 2>&1
    echo "ok"
    ;;
    stop)
    echo -n "Stopping MiniDLNA: "
    for pidf in `/bin/ls $PID_FILE 2>/dev/null`; do
    if [ -s $pidf ]; then
    kill `cat $pidf` >/dev/null 2>&1
    fi
    rm -rf $PIF_FILE
    done
    echo "ok"
    ;;
    restart|reload|force-reload)
    echo "Restarting MiniDLNA: "

    $0 stop
    sleep 2
    $0 start

    ;;
    *)
    # Print help
    echo "Usage: /etc/init.d/minidlna {start|stop|restart|reload|force-reload}"
    exit 1
    ;;
    esac

    exit 0


    Содержимое скрипта было позаимствовано (зачем изобретать велосипед?), единственно, что были добавлены заголовки для нормального выполнения update-rc.d:

    $ sudo update-rc.d minidlna defaults

    Уровни выполнения актуальны для Debian, Ubuntu и, наверное, производных дистрибутивов. В принципе поменяв уровни выполнения этот скрипт можно использовать и в других дистрибутивах поддерживающих LSB заголовки.

    Собственно на этом с настройкой сервера покончено. Ну, а на телевизоре сначала разрешаем AllShare, затем находим все DLNA сервера в широковещательном домене, добавляем их, видим их в Source и наслаждаемся их присутствием, и просмотром медиаконтента.

    ps: Справедливости ради отмечу, что в репозитории Debian'а есть пакет mediatomb и тем кому лень возиться со сборкой minidlna могут установить и настроить его:

    $ sudo aptitude install mediatomb
    Share post
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 34

      0
      Сам использую minidlna, так как mediatomb отказался заводится у меня, его тупо не видит телек. Так вот, minidlna во всем классный, кроме одного — не умеет шарить mkv. MP4 работает отлично, а вот мкв — никак. Может быть кто решил эту проблему? С радостью бы воспользовался имеющимся опытом!
      А еще, хоть и проприетарщина этот Samsung Allshare но зато все работает из коробки в связке Телефон — телевизор. Со своего Samsung galaxy s без проблем шарю на телевизор фотки, музыку, видео.
        0
        Странно, вчера через minidlna без каких-либо проблем смотрел mkv в 720p. Смотрелось на Samsung UE40D5000PWXUA. 1080p ещё не проверял, но думаю, что тоже проблем быть не должно.
          0
          хм, странно, у меня через флешку фильм мкв показывается, а через minidlna — нет. У меня 5000 серия тока 32 дюйма. Я правда ставил из репозитория и не знаю, какая версия.
            0
            $ minidlna -V
            Version 1.0.24

            Отлично работает с 40-дюймовым Samsung 5000 серии, за исключением рипов от HANSMER — те вообще не идут.
              0
              так, проверить нужно будет версию дома. А то ж такой телек и hdtv не бегают…
              0
              установите правильный профиль в настройках сервера.
                0
                … конечно, если minidlna вообще профили умеет.
                у меня на 40D5500RW 1080p от HANSMER отлично бегают, включая перемотку.
                  0
                  Где что читал, везде одинаковые настройки. Подскажите, де почитать или скиньте свой конфиг.
              0
              у mediatomb надо поменять порт на 8200 (кажется, посмотрите, на каком работает minidlna), у меня после этого заработало. Ну а про то, что minidlna не умеет играть mkv — так это телек его не умеет играть, а minidlna прямо с диска поток гонит. А вот mediatomb умеет перекодировать на лету.
                0
                в том то и дело, что телек через флешку играет что хочешь… любые mkv. Так что думаю проблема в самом сервере dlna
                  0
                  то что играет через USB не значит (к сожалению) что будет играть по DLNA
              0
              Samsung LE-32C650 на выходных поднял тоже minidlna, mkv не хочет…
              Для себя поставил
              notify_interval=60 т.к. все таки частенько появляется что-то новое в папках, а ждать долго не хочется
                0
                Кстати поднял на mint Lisa
                  0
                  Такой же телек, только 40", прекрасно работает mkv вплоть до 1080
                  0
                  Поднял в свое время MediaTomb, но не потому, что лениво, а потому, что функционал устроил.
                    0
                    С windows все несколько проще. Я не стал ставить оригинальную программу AllShare, а поставил HomeMediaServer. Все устраивает :)

                    Кстати, есть тут знающие люди? Для 5000-й серии есть кастомные прошивки?
                    Есть ли возможность добавить браузер?
                      0
                      И правильно сделал. Подделия самсунга на .Net тормозные и жрут много. Если видео названо в неизвестной кодировке (отображается иероглифами), то телевизор его не будет воспроизводить.
                      0
                      но совершенно не хочется ставить ради использования этой функции Windows?

                      На мой взгляд некорректно было ставить такой вопрос. Всё равно что «Хотите расшарить файлы по NFS, но не хотите ради этого ставить Windows Server?»

                      Меня чем-то не устраивали «стандартные» решения, поэтому использовал для этих целей serviio. Правда написано оно на Яве, отсюда вытекают свои минусы. Зато им можно удалённо управлять с графического интерфейса, и там есть профили для устройств, в том числе для Самсунговских телевизоров.
                        0
                        Кстати есть одна важная особенность использования профилей. Насколько я знаю, необходимо отсылать по UPnP специальный дополнительный тег, чтобы работали функции продолжения воспроизведения видео, субтитры и т.д.
                      • UFO just landed and posted this here
                          0
                          Ещё есть Ubunt'овский PPA, оттуда можно деб выдернуть, хотя там и не самая свежая версия.
                          0
                          Я отказался от затеи с dlna. Сама концепция хорошая, но у каждой железки с софтиной своя корявая реализация. А все что хотелось — перекидывать с устройства на устройство контент. Но у ассортимент свои софтины, у сони свои, у всех свои извинения устройства друг друга то видеть не хотят, то соединяться.
                          Хоть поднять сервер еще можно, но реализовать возможность ткнуть на своём андройд-телефоне кнопку и чтобы оно в плеер на планшете/компе/телевизоре отобразилось если не mission impossible, то точно задача нетривиальная.
                            0
                            на приличный пост что-то не тянет.
                            за make install жирный минус.
                              +1
                              Это Вы еще LG не видели. Там в качестве основного идет plex, хотя и DLNA тоже поддерживается.
                              В качестве которого я установил ps3mediaserver. Он автоматом распознает многие media rendererы и умеет транскодировать на лету в съедобный для них формат.
                                0
                                Интересен был бы обратный момент — поставить samsung allshare на другой android девайс. Сколько возился — не получилось.
                                  0
                                  Я с андроида без проблем выводил на ТВ и фото и видео
                                    0
                                    нет, я про клиент. Просто пользовался раньше allshare, а потом купил китайский планшет, и там софтина не завелась. Пришлось искать альтернативы
                                  0
                                  Использую Twonkly, доволен, но им есть куда еще расти.
                                    0
                                    У меня minidlna поднят на роутере через optware, но у него есть один косяк — он не умеет стирать данные из базы данных в случае удаления файла с жёсткого диска. Он умеет только пополнять базу новыми данными. Поэтому время от времени приходится стирать файл базы данных, дабы не было помойки, после чего начинается рескан жёсткого диска. Мне вот интересно, на больших компьютерах оно аналогично работает или же умеет удалять записи из базы?
                                      0
                                      Если есть консолько в роутере, то можно просто делать minidlna -R и он удали всю базу, пересканирую все содержимое медиа папок.
                                        0
                                        Это да, так, конечно, правильней. Не знаю зачем я описал схему с удалением файла. Проблема в том, что роутер — железка не супермощная, посему рескан занимает какое-то время, яростно пожирая процессорное время.
                                        Так как на взрослых системах оно работает?
                                          0
                                          Дома словил неприятную проблему с inotify который используется miniDLNA для отлова новых файлов в свою базу.

                                          На подмонтированных разделах оно никак не хотело видеть новые фильмы, приходилось руками индексировать. Тогда как из корня нормально работает и удаление и добавление отрабатывает на атоме за секунды.
                                      0
                                      Для убунты установка несколько проще :) В Software Center ищешь minidlna и нажимаешь install.
                                        0
                                        от себя добавлю — кому лень возиться, но все-таки хочется minidlna, есть репозиторий deb-multimedia

                                        ~# echo "deb http://www.deb-multimedia.org squeeze main non-free" > /etc/apt/sources.list.d/deb-media.list ~# apt-get update ~# apt-cache search minidlna minidlna - lightweight DLNA/UPnP-AV server targeted at embedded systems ~# apt-get install minidlna Удачи

                                        Only users with full accounts can post comments. Log in, please.