자.. 이제 실제로 거실 TV에서 영화나 드라마를 바로 볼 수 있도록 서버에 DLNA 서비스를 돌려보도록 하자.


DLNA 서비스는 그냥 가장 가볍고 성능도 우수한 minidlna 를 설치할 것이다.


minidlna 는 고급기능은 거의 없지만 최소한의 기본기능은 완벽하게 지원된다.


단, smi 자막이 지원되지 않는게 크리티컬!


하지만 smi 를 지원하도록 몇 가지를 수정하여 설치하자.


일단 minidlna 소스를 가져와야 한다. 아래의 명령어로..


wget http://jaist.dl.sourceforge.net/project/minidlna/minidlna/1.1.2/minidlna-1.1.2.tar.gz


tar zxvf minidlna-1.1.2.tar.gz 로 압축을 풀고 소스를 몇 군데 수정한다.


[inotify.c]
 
/* Is it cover art for another file? */
if( is_image(path) )
    update_if_album_art(path);
else if( ends_with(path, ".srt") )
    check_for_captions(path, 0);
/* add this for smi subtitle */
else if( ends_with(path, ".smi") )
    check_for_captions(path, 0);
 
 ...
 
if( ends_with(path, ".srt") )
{
    rows = sql_exec(db, "DELETE from CAPTIONS where PATH = '%q'", path);
    return rows;
}
else if( ends_with(path, ".smi") )
{
    rows = sql_exec(db, "DELETE from CAPTIONS where PATH = '%q'", path);
    return rows;
}
 
 
[metadata.c]
 
strcat(file, ".srt");
if( access(file, R_OK) == 0 )
{
    sql_exec(db, "INSERT into CAPTIONS"
                 " (ID, PATH) "
                 "VALUES"
                 " (%lld, %Q)", detailID, file);
}
else
{
    strip_ext(file);
    strcat(file, ".smi");
    if( access(file, R_OK) == 0 )
    {
        sql_exec(db, "INSERT into CAPTIONS"
                     " (ID, PATH) "
                     "VALUES"
                     " (%lld, %Q)", detailID, file);
    }
}

그리고 패키징을 위해 빌드를 해야 하는데 아래의 라이브러리를 설치한다.

 

sudo apt-get install libavformat-dev libavutil-dev libavcodec-dev libflac-dev libvorbis-dev libid3tag0-dev libexif-dev libjpeg-dev libsqlite3-dev libogg-dev

 

sudo apt-get install autopoint  automake  autoconf

 

sudo apt-get install gettext

 

sudo apt-get install checkinstall

 

그리고 빌드 및 설치를 한다.

 

./configure
./autogen.sh
make
checkinstall

 

마지막으로 설정파일을 손보면 된다.

소스가 있던 폴더에서 minidlna.conf 파일을 /etc 밑에 복사한 후 적당히 자신의 환경에 맞게 고친다.


그리고 나서 서비스는 /usr/local/sbin/minidlnad 파일을 통해 실행하면 된다.


예를 들어 아래와 같이


sudo /usr/local/sbin/minidlnad -R

그리고 죽이고 싶으면 그냥 ps 로 pid 알아내서 kill -9 등으로.. 죽이면 된다.


참고. 파일 디비 경로

/var/cache/minidlna


참고. 실행확인

sudo netstat -ptnl (8200 포트 오픈확인)


참고 : http://xenolife.tistory.com/446

참고 : http://www.clien.net/cs2/bbs/board.php?bo_table=lecture&wr_id=208595


  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기