четверг, 21 июля 2011 г.

Minidnla с транскодированием.

Транскодирование, - перекодировка из одного формата в другой налету. Большинство медиа рендереров (TV, приставки, плейеры) не имеют большого набора кодеков для самостоятельной обработки потока, обычно поддерживается один определённый формат (MPEG) и другие не воспринимает.  Так что на плечи Upnp/Dlna AV сервера и ложатся все заботы по предоставлению  рендереру потока в нужном ему формате.



Minidnla сервер по умолчанию перекодированием не занимается. Но это можно исправить пропатчив исходники и собрав сервер заново.

Скачиваем minidlna в виде исходных кодов:
wget http://sourceforge.net/projects/minidlna/files/minidlna/1.0.19/minidlna_1.0.19_src.tar.gz
Можно пользоваться более новой версией.
Распаковываем в домашнюю папку.
tar zxf minidlna_1.0.19_src.tar.gz
cd minidlna-1.0.19
Скачиваем  тут и устанавливаем патч на исходники
patch -p1 < minidlna_transcode_1.0.19_20110327.patch
После установки патча перед компиляцией необходимо установить пакеты для разрешения зависимостей.
ffmpeg libavcodec libavformat libavutil libflac libvorbis libogg libid3tag libexif libjpeg 
Компилируем и устанавливаем:
make install
Подредактируем конфигурационный файл:
sudo gedit /etc/minidlna.conf
Добавляем пути к контенту

media_dir=V,/home/user/Видео
media_dir=A,/home/user/Музыка
media_dir=P,/home/user/Картинки

Разкомментируем строчку
transcode_video_transcoder=ffmpeg
и закомментируем
#transcode_video_transcoder=mencoder
поскольку  такого кодека у нас нет (у меня нет) а если есть то можно оставить всё как есть.

PS. после всего вышеперечисленного мой телек стал наконец показывать фильмы с компа и без тормозов. При этом нагрузка на процессор 70% на одно ядро, второе практически свободно.


Комментариев нет: