안녕하세요. 이번에는 플렉스 서버를 업그레이드 하는 방법에 대해서 알아보도록 하겠습니다.


예전에는 이렇게 많이 빈번하게 업데이트가 없었는데 요즘에는 폭풍 업데이트가 있네요 ㅎㅎ..


업데이트가 있다는 알림이 뜨면 파일 다운로드 링크를 통해서 받으시면 안됩니다.




업데이트를 진행하기 위해서 아래의 명령을 SSH 에서 입력합니다.


root@u5pvr-debian:~# apt-get update && apt-get install plexmediaserver-installer

Hit http://linux-packages.resilio.com resilio-sync InRelease

Hit http://linux-packages.resilio.com resilio-sync/non-free armhf Packages

Ign http://ftp.debian.org jessie InRelease

Hit http://ftp.debian.org jessie-backports InRelease

Hit http://ftp.debian.org jessie Release.gpg

Hit http://ftp.debian.org jessie Release

Ign http://linux-packages.resilio.com resilio-sync/non-free Translation-en

Get:1 http://ftp.debian.org jessie-backports/main armhf Packages/DiffIndex [27.8 kB]

Hit https://dev2day.de jessie InRelease

Get:2 http://ftp.debian.org jessie-backports/main Translation-en/DiffIndex [27.8 kB]

Hit https://dev2day.de jessie/main armhf Packages

Hit http://ftp.debian.org jessie/main Sources

Get:3 https://dev2day.de jessie/main Translation-en [320 B]

Hit http://ftp.debian.org jessie/contrib Sources

Get:4 https://dev2day.de jessie/main Translation-en [320 B]

Hit http://ftp.debian.org jessie/non-free Sources

Hit http://ftp.debian.org jessie/main armhf Packages

Hit http://ftp.debian.org jessie/contrib armhf Packages

Hit http://ftp.debian.org jessie/non-free armhf Packages

Hit http://ftp.debian.org jessie/contrib Translation-en

Hit http://ftp.debian.org jessie/main Translation-en

Get:5 https://dev2day.de jessie/main Translation-en [320 B]

Hit http://ftp.debian.org jessie/non-free Translation-en

Get:6 https://dev2day.de jessie/main Translation-en [320 B]

Get:7 https://dev2day.de jessie/main Translation-en [320 B]

Ign https://dev2day.de jessie/main Translation-en

Fetched 55.6 kB in 17s (3171 B/s)

Reading package lists... Done

Reading package lists... Done

Building dependency tree

Reading state information... Done

plexmediaserver is already the newest version.

0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

root@u5pvr-debian:~#


저는 이미 업데이트가 되어서 이미 최신버전이라고 나옵니다. 


이 작업 이후에 플렉스 서버가 최신버전으로 업데이트가 되어 있음을 확인하실 수 있습니다.




감사합니다.






안녕하세요. 이번에는 클라우드 동기화 대용 비트토렌트 싱크 서버를 설치해 보도록 하겠습니다.


https://www.resilio.com/




예전에는 비트토렌트 싱크라고 불렸는데 기능은 같은데 다른 회사로 인수가 된듯한 느낌입니다.


resilio sync 라고 불리네요.


비트토렌트 싱크는 동기화할 폴더를 지정해서 코드로 공유폴더를 공유한 다음 클라이언트와 클라이언트 간 토렌트 프로토콜을 통해서 파일 공유가 되는 방식입니다.


0. 활용 예시


저의 경우에는 장비가 총 3대를 사용합니다. 

1. 태블릿

2. 휴대폰

3. PC

(4. 백업 서버)


저는 학부생으로써, 수업자료들과 제가 쓴 리포트 등을 이때까지 모아오고 있습니다.

예로써 리포트를 작성한다고 합니다.


태블릿에서 리포트를 작성 하다가 저장을 합니다. 그 후 PC로 이어서 작성하려고 하려고 합니다.

이 경우에는 어쩔 수 없이 파일을 USB에 담아서 옮기거나 이메일로 보내서 다시 여는 등의 번거로운 작업을 해야합니다.


그러나 한 폴더를 비트 토렌트 싱크로 동기화를 걸어두면, 태블릿에서 작성하다가 저장된 문서는 자동으로 PC 의 지정한 폴더로 전송이 됩니다. 자동으로 동기화가 되기 때문에 PC에 그대로 앉아서 작업을 하면 됩니다.


(그러나 동시에 1개의 파일을 수정할 수는 없습니다.)


한편, 태블릿에서 작성한 문서가 PC가 전원이 꺼져있어서 동기화가 되지 않을경우에는 4번 백업서버를 통해 동기화가된 상태이기 때문에 차후에 태블릿이 꺼져있거나 하여도 4번 백업서버와 PC가 동기화 되기 때문에 문제가 없습니다.


즉, 한 폴더를 4개의 기기가 동일한 상태를 유지하는 것입니다.


아래는 제가 사용하고 있는 btsync 사진입니다.



위 사진에서 알 수 있듯이 읽기전용으로도 공유가 가능합니다.


한편, 서버에서 서버로 백업을 하고자 할 경우에도 요긴하게 사용이 됩니다. 토렌트 프로토콜을 사용하기 떄문에 속도는 굉장히 빠릅니다.


휴대폰의 경우에도 마켓에 검색을 해 보면 앱이 존재합니다.


https://play.google.com/store/apps/details?id=com.resilio.sync


휴대폰의 사진을 그대로 서버에 백업하거나 다른 컴퓨터에 동기화 하는 용도로도 사용이 가능합니다.



결론적으로는 U5PVR 에 상기 앱을 설치하는 것이나 리눅스쪽에 btsync 를 설치하는 것이나 동일한 효과입니다. btsync 는 서로가 클라이언트이고 서버가 되기 떄문입니다.


그러나 웹으로 관리를 하려는 편리함 때문에 우분투/데비안 패키지를 설치하는 것입니다.


1. btsync 패키지 설치하기


먼저 btsync 레포를 추가합니다.


root@u5pvr-debian:~# nano /etc/apt/sources.list


# debian jessie repo

deb http://ftp.debian.org/debian/ jessie main contrib non-free

deb-src http://ftp.debian.org/debian/ jessie main contrib non-free


# debian jessie backports repo

deb http://ftp.debian.org/debian jessie-backports main


# plexmediaserver repo

deb https://dev2day.de/pms/ jessie main


# btsync repo

deb http://linux-packages.resilio.com/resilio-sync/deb resilio-sync non-free

# 위의 주소를 추가합니다.


다음으로 키 값을 추가합니다.


root@u5pvr-debian:~# wget -qO - https://linux-packages.resilio.com/resilio-sync/key.asc | sudo apt-key add -

OK

root@u5pvr-debian:~#


패키지 리스트를 업데이트 하고 btsync 를 설치합니다.

공식 레포에서 설치를 하니 패키지 이름이 resilio-sync 이네요.


root@u5pvr-debian:~# apt-get update

Get:1 http://linux-packages.resilio.com resilio-sync InRelease [3730 B]

Get:2 http://linux-packages.resilio.com resilio-sync/non-free armhf Packages [477 B]

Ign http://ftp.debian.org jessie InRelease

Get:3 http://ftp.debian.org jessie-backports InRelease [166 kB]

Ign http://linux-packages.resilio.com resilio-sync/non-free Translation-en

Hit https://dev2day.de jessie InRelease

Hit https://dev2day.de jessie/main armhf Packages

Get:4 https://dev2day.de jessie/main Translation-en [320 B]

Hit http://ftp.debian.org jessie Release.gpg

Get:5 https://dev2day.de jessie/main Translation-en [320 B]

Hit http://ftp.debian.org jessie Release

Get:6 https://dev2day.de jessie/main Translation-en [320 B]

Get:7 https://dev2day.de jessie/main Translation-en [320 B]

Get:8 https://dev2day.de jessie/main Translation-en [320 B]

Ign https://dev2day.de jessie/main Translation-en

Get:9 http://ftp.debian.org jessie-backports/main armhf Packages/DiffIndex [27.8 kB]

Get:10 http://ftp.debian.org jessie-backports/main Translation-en/DiffIndex [27.8 kB]

Hit http://ftp.debian.org jessie/main Sources

Hit http://ftp.debian.org jessie/contrib Sources

Hit http://ftp.debian.org jessie/non-free Sources

Hit http://ftp.debian.org jessie/main armhf Packages

Hit http://ftp.debian.org jessie/contrib armhf Packages

Hit http://ftp.debian.org jessie/non-free armhf Packages

Hit http://ftp.debian.org jessie/contrib Translation-en

Hit http://ftp.debian.org jessie/main Translation-en

Hit http://ftp.debian.org jessie/non-free Translation-en

Get:11 http://ftp.debian.org jessie-backports/main armhf 2017-04-04-0826.17.pdiff [1118 B]

Get:12 http://ftp.debian.org jessie-backports/main armhf 2017-04-04-0826.17.pdiff [1118 B]

Get:13 http://ftp.debian.org jessie-backports/main 2017-04-04-0826.17.pdiff [312 B]

Get:14 http://ftp.debian.org jessie-backports/main 2017-04-04-0826.17.pdiff [312 B]

Fetched 227 kB in 17s (13.0 kB/s)

Reading package lists... Done


root@u5pvr-debian:~# apt-get install resilio-sync

Reading package lists... Done

Building dependency tree

Reading state information... Done

The following NEW packages will be installed:

  resilio-sync

0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.

Need to get 9292 kB of archives.

After this operation, 11.6 MB of additional disk space will be used.

Get:1 http://linux-packages.resilio.com/resilio-sync/deb/ resilio-sync/non-free resilio-sync armhf 2.4.4-1 [9292 kB]

Fetched 9292 kB in 6s (1480 kB/s)

Selecting previously unselected package resilio-sync.

(Reading database ... 27475 files and directories currently installed.)

Preparing to unpack .../resilio-sync_2.4.4-1_armhf.deb ...

Running in chroot, ignoring request.

Unpacking resilio-sync (2.4.4-1) ...

Processing triggers for systemd (215-17+deb8u6) ...

Processing triggers for man-db (2.7.0.2-5) ...

Setting up resilio-sync (2.4.4-1) ...

Starting Resilio Sync

Processing triggers for systemd (215-17+deb8u6) ...

root@u5pvr-debian:~#


다음으로 WebUI 포트를 수정하기 위해 아래의 파일을 수정합니다.


포트의 경우 U5PVR 의 경우 안드로이드 단의 oscam 이 사용중이라 사용할 수가 없습니다. 


따라서 저는 11111 포트로 할당해 보았습니다.

(마음에 드시는 포트를 할당해서 사용하시면 됩니다만 안드로이드 서비스와 겹치지 않는 것으로 사용하셔야 합니다.)


root@u5pvr-debian:~# nano /etc/resilio-sync/config.json


{

    "storage_path" : "/var/lib/resilio-sync/",

    "pid_file" : "/var/run/resilio-sync/sync.pid",


    "webui" :

    {

        "listen" : "0.0.0.0:11111"     <-- 기본적으로 포트가 8888 이나 11111 로 지정함

    }

}



포트가 현재 사용중인지 아닌지 체크하는 방법입니다.


# 80번 포트가 사용중인지 체크하기

root@u5pvr-debian:~# netstat -nlp | grep 80

tcp        0      0 0.0.0.0:25807           0.0.0.0:*               LISTEN      2578/com.hisilicon.

tcp        0      0 0.0.0.0:25808           0.0.0.0:*               LISTEN      2578/com.hisilicon.

tcp        0      0 0.0.0.0:25809           0.0.0.0:*               LISTEN      2578/com.hisilicon.

tcp        0      0 0.0.0.0:8008            0.0.0.0:*               LISTEN      3233/com.google.and

tcp        0      0 0.0.0.0:25806           0.0.0.0:*               LISTEN      2578/com.hisilicon.

tcp6       0      0 127.0.0.1:58480         :::*                    LISTEN      18717/com.google.an

tcp6       0      0 :::8080                 :::*                    LISTEN      5042/java

tcp6       0      0 :::80                   :::*                    LISTEN      3726/apache2

tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN      5042/java

tcp6       0      0 :::8009                 :::*                    LISTEN      3233/com.google.and

unix  2      [ ACC ]     STREAM     LISTENING     16932    3480/daemonsu:10075 @eu.chainfire.supersu:10075


# 32400 포트가 사용중인지 체크하기

root@u5pvr-debian:~# netstat -nlp | grep 32400

tcp        0      0 0.0.0.0:32400           0.0.0.0:*               LISTEN      4851/Plex Media Ser


# 8080 포트가 사용중인지 체크하기

root@u5pvr-debian:~# netstat -nlp | grep 8080

tcp6       0      0 :::8080                 :::*                    LISTEN      5042/java


# 사용중이지 않은 경우 아무것도 출력되지 않습니다.

root@u5pvr-debian:~# netstat -nlp | grep 1234

root@u5pvr-debian:~#


데몬 실행 권한을 root 권한으로 실행하기 위해 아래의 설정을 진행합니다.


root@u5pvr-debian:~# nano /etc/init.d/resilio-sync


#!/bin/sh

### BEGIN INIT INFO

# Provides: resilio-sync

# Required-Start: $local_fs $remote_fs

# Required-Stop: $local_fs $remote_fs

# Should-Start: $network

# Should-Stop: $network

# Default-Start: 2 3 4 5

# Default-Stop: 0 1 6

# Short-Description: daemonized version of resilio-sync.

# Description: Starts the resilio-sync daemon.

### END INIT INFO



DAEMON=/usr/bin/rslsync

SYNC_USER=root    <-- root 로 수정합니다.

CONFIG=/etc/resilio-sync/config.json



. /lib/lsb/init-functions



wait_process()

{

    while kill -0 "$1" 2> /dev/null; do

        sleep 0.5

    done

}

    done
}


start()
{
    echo "Starting Resilio Sync"
    mkdir -p /var/run/resilio-sync
    chown -R $SYNC_USER:$SYNC_USER /var/run/resilio-sync
    start-stop-daemon --start --quiet -b -o -c $SYNC_USER -u $SYNC_USER --exec $DAEMON --umask 0000 -- --config $CONFIG
}

# umask 값을 0000 으로 설정합니다.

stop()
{
    start-stop-daemon --stop -o -c $SYNC_USER -K -u $SYNC_USER -x $DAEMON
    wait_process $(pidof $DAEMON)
}

case "$1" in
  start)
    start
    ;;
  stop)
    stop
    ;;
  restart|reload|force-reload)
      stop
.....................


설정이 끝났음으로 resilio-sync 를 재시작 합니다.


root@u5pvr-debian:~# service resilio-sync restart

Starting Resilio Sync

root@u5pvr-debian:~# netstat -nlp | grep 11111

tcp        0      0 0.0.0.0:11111           0.0.0.0:*               LISTEN      4654/rslsync

root@u5pvr-debian:~#



2. 윕UI 접근 및 설정하기


접근은 http://U5PVR아이피:포트/ 로 하시면 됩니다. 저는 포트 번호를 11111 로 했습니다.


접근을 하게 되면 초기 접속이라 아이디 비밀번호를 설정하라는 창이 뜹니다. 설정을 해 줍니다.



친근한 이름을 지어줍니다. 



설정이 끝나면 설정된 아이디와 비밀번호로 로그인을 하시면 됩니다.



정상적으로 로그인이 되었습니다.



간단한 설정을 진행합니다.


우측 상단에 톱니바퀴를 누르면 설정창이 뜹니다.


기본적으로 보여줄 위치를 지정합니다. 저는 /mnt 로 지정을 하였습니다.




3. 동기화 사용하기


테스트로 아래의 폴더를 생성해 보겠습니다.


왼쪽 상단의 Add Folder 를 눌러 폴더를 추가합니다.



추가가 완료되면 아래와 같이 공유설정이 뜹니다.


퍼미션을 설정할 수 있으며 이메일이나 바로 복사가 가능합니다.


저는 복사를 해 보도록 하겠습니다.




복사한 주소를 웹에 붙여넣으면 싱크 프로그램을 다운받으라고 창이 뜹니다.


설치를 하고 아래와 같이 추가를 누르거나 혹은 프로그램에 직접적으로 등록하여 사용하시면 됩니다.


저는 직접적으로 등록해 보겠습니다.



키를 입력하고 동기화할 폴더를 지정합니다.



추가가 완료 되면 상대측에서 승인을 해줘야 합니다. 그래서 승인 대기중이라고 뜹니다.



다시 웹 UI 로 돌아와서 승인을 체크해 줍니다.



승인을 해 주고 폴더에 파일을 추가하게 되면 동기화가 일어납니다.



정상적으로 U5PVR 내부 지정한 디렉터리에 파일이 존재함을 알 수 있습니다.



피어목록에도 잘 뜹니다.




감사합니다.




http://cafe.naver.com/mk802/20283







안녕하십니까 ?  EddyLab입니다.,

ㅋㅋ잠자님이 U5PVR PLEX 관련으로 하기와 같이 게시글을 올려 주셨고,





저는 실전 관련으로 Plex 관련 글을 올려 드립니다 ^^

Plex Media Server 설정은 PC에서 하셔도 되고,
U5PVR에서 직접 하셔도 문제 없습니다.

기본 설정은 상기 ㅋㅋ잠자님의 강의를 기초로 설정 하신 후의 내용입니다.

U5PVR의 크롬웹브라우저에서 리눅스 Server 관련 설정을 직접 작업합니다.
(무선 키보드 마우스가 필요로 됩니다. ^^)

크롬웹브라우저에서 127.0.0.1:32400/web  주소 입력을 합니다.

가급적이면, 자주 사용하시게 될 것이므로, 별표로 북마크를 하시기 바랍니다.
(다른 서버 관리 웹 주소도 이렇게 북마크로 관리하시면 편리합니다.) ^^

Plex 서버 웹에서 라이브러리를 등록 합니다.

라이브러리 목록에서 "+"를 누르시면 되겠네요..

하기와 같이 + 라이브러리 추가 창이 뜹니다.

라이브러리 이름을 "U5PVR방속녹화"로 적고, 언어는 한국어로 설정한 후 다음을 누릅니다.





폴더 추가 화면으로 넘어가게 됩니다.

하기 폴더는 U5PVR 루트 폴더로 연결 됩니다.

저는 HDD내장 U5PVR디럭스로 test 하고 있고,
HDD는 sda1으로 잡혀 있습니다.  그래서 sda1을 선택합니다.





sda1 HDD에는 이미 U5PVR의 eON런처에서 녹화를 한 녹화방송은 
pvr 이라는 폴더에 저장되게 됩니다. 




pvr 폴더를 보면, KBS1 과 SBS 폴더가 있습니다. 
pvr방송 녹화는 방송사명 기준 폴더 내에 녹화 저장되게 됩니다.

라이브러리 폴더 추가는 pvr 폴더로 잡아 놓겠습니다.





라이브라리 추가가 완료 되었습니다.

별도로 Kodi에서 녹화를 하는 경우, 다른 경로로 녹화를 하시고 계시면,
추가로 미디오폴더 찾아보기로 경로를 추가 하시면 됩니다.





라이브러리 추가 후 왼쪽 라이브러리 목록에서 U5PVR방송녹화를 선택하면,
앞서 pvr 폴더내에 있는 녹화된 방송 파일을 보여주게 됩니다.





일단 Plex 서버 설정은 완료 되었으므로, Home으로 넘어옵니다.
이제는 Plex 클라이언트를 실행합니다.





Plex 클라이언트를 선택하면 계정관련 내용이 먼저 보이게 됩니다.

저는 Plex 계정을 2개 만들어서 test를 하고 있습니다.
Main 계정(Sever 관리 계정)이나 부 계정 어느것으로 들어가셔도 무방합니다.





Plex 클라이언트 라이브러리 목록이 맨 위에 뜨게 됩니다.
여기서 U5PVR방송녹화 라이브러리를 선택합니다.





U5PVR방송녹화 라이브러리에 들어왔습니다.

하기 녹화된 2개의 영상이 보입니다.

만일 다음 메타데이터 plug-in이 설치 되어 있다면
관련 녹화방송에 맞는 메타데이터를 찾아서 포스터 등을 자동으로 올려주게 됩니다.

드라마를 녹화하면, 드라마 포스터가 뜨게 될 것 입니다.

(주)여기서 녹화 방송이름과 Plex의 이름 설정관련 내용은 좀 더 확인을 추후에 해 보겠습니다. 





여기서는 아직 방송 제목이 Plex 파일 네이밍 방식과 차이가 있어서
이렇게 방송이름이 보이게 되네요.. ^^

중요한 내용은 지상파 녹화방송 비디오 코덱은 TS이고, 오디오는 AC3라는 점입니다.

일반 자체재생기나 Kodi에서는 포멧에 구애를 받지 않습니다만,
Plex에서는 포멧지원에 따라서 트랜스코딩에 대한 문제 때문에 재생이 되지 않는 경우가 있습니다.

하기에 올려드린 게시글과 같이

Plex가 지원하는 기본 코덱만 맞춰지면(Direct Play) 몇개의 동영상을 여러 디바이스에 걸어서 동시 재생이 지원됩니다.  

그러나, 하나라도 조건이 맞지 않으면 비디오 재생상태가 문제가 발생됩니다.

전에 하기와 같은 내용으로 Plex 코덱 지원 내용을 올려 드린 바 있습니다.

Plex Client : (원본보기 기준)
  Video   Audio  자막 
  TS(Mpeg2)MP4HEVCVP9AACAC3DTSSRTSMI
U5PVRDirect Play(수정1)oo?oxxox
Audio transcoding Only (주1)ooo
스마트폰외장재생기
(MXPlayer with AC3. DTS 코덱지원)
ooo
(주1) Audio transcoding이 진행되는 경우에는, 다른 기기에서 재생 시도시, Direct Play 조건이 아니면 재생이 안됩니다.
(주2) SMI 자막 사용시, 4K@10bit HEVC에서는 8bit로 재생이 되는 현상이 나타났습니다.
기본적으로 Plex를 쓰시고자 하시면, 자막은 SRT를 반드시 사용하시고, SMI to SRT 자막변환기를 사용하시기 바랍니다
(주3) 컨텐츠를 입수하실때 Plex 사용을 고려하신다면, 비디오는 MP4 또는 HEVC / 오디오는 AAC 기준에 맞춰서 선택 다운로드하시면 무난합니다. 
(주4)Audio에서 AC3나 DTS는 Kodi를 사용하시고, Kodi에서는 SMI자막사용도 문제없습니다.
Kodi with Plex Add-on은 Plex와 동일한 상태에서 재생되기 때문에 상기 재생 조건을 맞추셔야 합니다.
(주5)PC에서는 Plex 지원이 되지 않고 있습니다.
(수정1) 170406 TS(Mpeg2)는 Direct play 재생 지원이 되는 것을 확인하였습니다.






그래서 녹화방송은 MP2(TS)코덱이므로 전에는 비디오 트랜스코딩이 걸리고,
오디오관련으로 AC3도 오디오 트랜스코딩이 걸릴 것입니다.





비디오 품질 재생은 원본으로 재생 설정하였습니다.




최근 Plex 서버 버젼이 계속 올라오고 있습니다만,
최근 Plex 서버 버젼에서는 하기와 같이 MP2(TS)가 "직접"(Direct play)가 되는 것을
확인 할 수 있습니다

오디오 AC3는 트랜스코딩이 걸립니다만, U5PVR에서 재생상태에서는
전혀 문제 없이 잘 재생되고 있습니다. 
((주) 물론 다수의 사용자가 동시 접속시에는 재생이 원할 하지 않을 수 있습니다.) 




LG G5 스마트폰에서 U5PVR Plex 서버에 접속하여 동일한 녹화영상 재생을 
Plex 클라이언트에서 재생해 보았습니다만,
하기와 같이 비디오쪽에 트랜스코딩이 걸려서, 
스마트폰에서 재생이 원활하지 않습니다. (하기영상은 720P로 트랜스코딩이 걸려있네요) 
이는 기본 안드로이드 스마트폰에는 MP2(TS)코덱과 AC3코덱을 지원하지 않기 때문에
원활한 재생이 불가능합니다. (LG G5가 CPU퍼포먼스가 높아도 이렇게 됩니다 ^^;;)

스마트폰에서 MP2(TS)코덱과 AC3를 재생하시려면,
외부재생기 설정을 하시고, AC3코덱 내장용 MX Player를 사용하시면
문제 없이 재생이 됩니다.











안녕하세요. 이번에는 U5PVR 에 음성통화 서버를 설치해 보겠습니다.


프로토콜로써 SIP 을 사용하며 서버로 asterisk 가 사용됩니다.


실제로 asterisk 를 상세하게? 사용하기 위해서는 컴파일 작업을 해야 최신버전을 설치할 수 있고 마음대로 기능을 넣었다가 뺐다가 할 수 있습니다. 


asterisk 의 홈페이지는 아래와 같습니다.


http://www.asterisk.org/



기본적으로 웹 UI 를 통해서 관리를 하도록 FreePBX 나 digium-gui 를 설치할 수 있지만, 이번 게시글의 목표는 통화가 되게 하는 것임으로 최대한 간단한 방법으로 설치하는 방법을 작성하겠습니다.


그럼 시작합니다~~



1. asterisk 패키지 설치하기 및 작동 테스트


아래의 명령어를 통하여 asterisk 를 설치합니다. 실제로 설치되는 버전은 asterisk 11 버전이네요.


root@u5pvr-debian:~# apt-get install asterisk

Reading package lists... Done

Building dependency tree

Reading state information... Done

The following extra packages will be installed:

  asterisk-config asterisk-core-sounds-en asterisk-core-sounds-en-gsm asterisk-modules asterisk-moh-opsound-gsm asterisk-voicemail freetds-common gnupg-agent gnupg2 libassuan0 libcfg4 libcoroipcc4 libcpg4

  libfreeradius-client2 libgmime-2.6-0 libgomp1 libgpgme11 libgsm1 libical1a libiksemel3 libjack-jackd2-0 libksba8 libneon27-gnutls libodbc1 libopencore-amrnb0 libopencore-amrwb0 libopus0 libpci3 libperl5.20

  libpj2 libpjlib-util2 libpjmedia-audiodev2 libpjmedia-codec2 libpjmedia-videodev2 libpjmedia2 libpjnath2 libpjsip-simple2 libpjsip-ua2 libpjsip2 libpjsua2 libportaudio2 libpq5 libpth20 libresample1

  libsamplerate0 libsensors4 libsnmp-base libsnmp30 libsox-fmt-alsa libsox-fmt-base libsox2 libspandsp2 libspeex1 libspeexdsp1 libsqlite0 libsrtp0 libsybdb5 libwavpack1 pinentry-gtk2 sox

Suggested packages:

  asterisk-doc asterisk-dev asterisk-ooh323 asterisk-dahdi asterisk-vpb gnupg-doc parcimonie xloadimage gpgsm jackd2 libmyodbc odbc-postgresql tdsodbc unixodbc-bin opus-tools lm-sensors snmp-mibs-downloader

  libsox-fmt-all speex srtp-utils pinentry-doc

The following NEW packages will be installed:

  asterisk asterisk-config asterisk-core-sounds-en asterisk-core-sounds-en-gsm asterisk-modules asterisk-moh-opsound-gsm asterisk-voicemail freetds-common gnupg-agent gnupg2 libassuan0 libcfg4 libcoroipcc4

  libcpg4 libfreeradius-client2 libgmime-2.6-0 libgomp1 libgpgme11 libgsm1 libical1a libiksemel3 libjack-jackd2-0 libksba8 libneon27-gnutls libodbc1 libopencore-amrnb0 libopencore-amrwb0 libopus0 libpci3

  libperl5.20 libpj2 libpjlib-util2 libpjmedia-audiodev2 libpjmedia-codec2 libpjmedia-videodev2 libpjmedia2 libpjnath2 libpjsip-simple2 libpjsip-ua2 libpjsip2 libpjsua2 libportaudio2 libpq5 libpth20

  libresample1 libsamplerate0 libsensors4 libsnmp-base libsnmp30 libsox-fmt-alsa libsox-fmt-base libsox2 libspandsp2 libspeex1 libspeexdsp1 libsqlite0 libsrtp0 libsybdb5 libwavpack1 pinentry-gtk2 sox

0 upgraded, 61 newly installed, 0 to remove and 0 not upgraded.

Need to get 19.2 MB of archives.

After this operation, 38.3 MB of additional disk space will be used.

Do you want to continue? [Y/n]


다음으로 asterisk 는 asterisk 계정으로 구동되기 때문에 안드로이드 권한에 맞추어 aid_inet 그룹에 추가해 주어야 정상적으로 포트가 열립니다. 아래의 명령으로 asterisk 계정을 aid_inet 그룹에 추가해 줍니다.


root@u5pvr-debian:~# adduser asterisk aid_inet

Adding user `asterisk' to group `aid_inet' ...

Adding user asterisk to group aid_inet

Done.


그리고 asterisk 를 한번 재시작 해 줍니다.


root@u5pvr-debian:/etc/asterisk# service asterisk restart

Stopping Asterisk PBX: asterisk.

Starting Asterisk PBX: asterisk.


netstat 명령을 통해 아래처럼 포트가 정상적으로 열렸는지 확인해 줍니다.


추가적으로 asterisk 콘솔을 열어서 정상적으로 동작중인지 확인합니다.


root@u5pvr-debian:~# netstat -nlp | grep asterisk

tcp        0      0 0.0.0.0:2000            0.0.0.0:*               LISTEN      29173/asterisk

tcp        0      0 127.0.0.1:5038          0.0.0.0:*               LISTEN      29173/asterisk

udp        0      0 0.0.0.0:5000            0.0.0.0:*                           29173/asterisk

udp        0      0 0.0.0.0:4520            0.0.0.0:*                           29173/asterisk

udp        0      0 0.0.0.0:5060            0.0.0.0:*                           29173/asterisk

udp        0      0 0.0.0.0:4569            0.0.0.0:*                           29173/asterisk

unix  2      [ ACC ]     STREAM     LISTENING     853931   29173/asterisk      /var/run/asterisk/asterisk.ctl

root@u5pvr-debian:~#


root@u5pvr-debian:~# asterisk -rvvvvvvvvvv

Asterisk 11.13.1~dfsg-2+deb8u2, Copyright (C) 1999 - 2013 Digium, Inc. and others.

Created by Mark Spencer <markster@digium.com>

Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.

This is free software, with components licensed under the GNU General Public

License version 2 and other licenses; you are welcome to redistribute it under

certain conditions. Type 'core show license' for details.

=========================================================================

Connected to Asterisk 11.13.1~dfsg-2+deb8u2 currently running on u5pvr-debian (pid = 29173)

u5pvr-debian*CLI>


설치가 정상적으로 되었습니다.



2. asterisk 기초 설정하기 및 계정 N개 추가하기


일단 설정파일들이 위치하고 있는 폴더로 이동합니다. 


root@u5pvr-debian:~# cd /etc/asterisk/

root@u5pvr-debian:/etc/asterisk# ls

acl.conf            ccss.conf                cel.conf                 codecs.conf       extensions.conf         iaxprov.conf      modules.conf      res_config_mysql.conf    res_stun_monitor.conf  users.conf

adsi.conf           cdr.conf                 cel_custom.conf          confbridge.conf   extensions.lua          indications.conf  motif.conf        res_config_sqlite.conf   rtp.conf               voicemail.conf

agents.conf         cdr_adaptive_odbc.conf   cel_odbc.conf            config_test.conf  extensions_minivm.conf  jabber.conf       musiconhold.conf  res_config_sqlite3.conf  say.conf               vpb.conf

alarmreceiver.conf  cdr_custom.conf          cel_pgsql.conf           console.conf      features.conf           jingle.conf       muted.conf        res_corosync.conf        sip.conf               xmpp.conf

alsa.conf           cdr_manager.conf         cel_sqlite3_custom.conf  dbsep.conf        festival.conf           logger.conf       ooh323.conf       res_curl.conf            sip_notify.conf

amd.conf            cdr_mysql.conf           cel_tds.conf             dnsmgr.conf       followme.conf           manager.conf      osp.conf          res_fax.conf             skinny.conf

app_mysql.conf      cdr_odbc.conf            chan_dahdi.conf          dsp.conf          func_odbc.conf          manager.d         oss.conf          res_ldap.conf            sla.conf

app_skel.conf       cdr_pgsql.conf           chan_mobile.conf         dundi.conf        gtalk.conf              meetme.conf       phone.conf        res_odbc.conf            smdi.conf

asterisk.adsi       cdr_sqlite3_custom.conf  cli.conf                 enum.conf         h323.conf               mgcp.conf         phoneprov.conf    res_pgsql.conf           telcordia-1.adsi

asterisk.conf       cdr_syslog.conf          cli_aliases.conf         extconfig.conf    http.conf               minivm.conf       queuerules.conf   res_pktccops.conf        udptl.conf

calendar.conf       cdr_tds.conf             cli_permissions.conf     extensions.ael    iax.conf                misdn.conf        queues.conf       res_snmp.conf            unistim.conf

root@u5pvr-debian:/etc/asterisk#


sip.conf 파일과 extensions.conf 파일을 삭제합니다.


root@u5pvr-debian:/etc/asterisk# rm sip.conf extensions.conf


sip.conf 파일을 아래과 같이 생성합니다.


저는 테스트로 계정 3개를 생성하였습니다.


root@u5pvr-debian:/etc/asterisk# nano sip.conf


[general]

context=public

allowoverlap=no

udpbindaddr=0.0.0.0:8000    <-- UDP 바인트 포트를 지정합니다. 본래 5060 이나 8000번으로 설정하였습니다.

tcpenable=no

tcpbindaddr=0.0.0.0:8000

transport=udp

srvlookup=yes

language=en

disallow=all

allow=ulaw

allow=ilbc

allow=alaw

allow=gsm

externhost=djjproject.iptime.org    <-- 외부 도메인 주소 혹은 외부 아이피 주소를 넣습니다.

externhostrefresh=10                 

localnet=192.168.100.0/255.255.255.0    <-- 로컬 네트워크 설정을 넣습니다.

# 로컬 네트워크가 192.168.0.XXX 이면 192.168.0.0/255.255.255.0 입니다.

nat=yes


[2001]

type=friend

username=2001    <-- 유저 이름을 지정합니다.

secret=test11!!      <-- 비밀번호를 지정합니다. 

callerid=nexus5     <-- 닉네임으로 사용할 이름을 적습니다.

host=dynamic

context=lan

canreinvite =no

qualify=yes

transport=udp


# 이하는 동일하게 계속 추가하실 수 있습니다.

[2002]

type=friend

username=2002

secret=test11!!

callerid=galaxy nexus

host=dynamic

context=lan

canreinvite =no

qualify=yes

transport=udp


[2003]

type=friend

username=2003

secret=test11!!

callerid=pc

host=dynamic

callerid=pc

host=dynamic

context=lan

canreinvite =no

qualify=yes

transport=udp


다음으로 extensions.conf 파일을 아래의 내용으로 생성합니다.


root@u5pvr-debian:/etc/asterisk# nano extensions.conf


[general]

static=yes

writeprotect=no

clearglobalvars=no


[public]

include => lan


[default]

include => lan


[lan]

exten => _XXXX,1,Dial(SIP/${EXTEN},30)

exten => _XXXX,n,Congestion

exten => _XXXX,n,Busy

exten => _XXXX,n,Hangup


다음으로 rtp 범위를 약간 수정하기 위해서 아래의 파일을 수정합니다.


동시 통화 수가 많을 경우에는 기본값인 10000 ~ 20000 을 사용하시거나 겹치는 경우 범위를 조정해 주시면 됩니다. 이번에는 소규모이기 때문에 1000개만 할당하였습니다.


root@u5pvr-debian:/etc/asterisk# nano rtp.conf



; RTP Configuration

;

[general]

;

; RTP start and RTP end configure start and end addresses

;

; Defaults are rtpstart=5000 and rtpend=31000

;

rtpstart=19000    <-- RTP 시작 포트

rtpend=20000     <-- RTP 끝 포트

;

; Whether to enable or disable UDP checksums on RTP traffic

;

;rtpchecksums=no

;

; The amount of time a DTMF digit with no 'end' marker should be

; allowed to continue (in 'samples', 1/8000 of a second)


이렇게 설정이 끝났습니다.


설정이 끝났음으로 서비스를 재시작 해 줍니다.


root@u5pvr-debian:/etc/asterisk# service asterisk restart

Stopping Asterisk PBX: asterisk.

Starting Asterisk PBX: asterisk.



3. 공유기 포트포워딩 하기


asterisk 의 경우는 아래의 포트를 사용합니다.


아래의 값은 2번에서 설정한 것에 따라 다를 수 있습니다. 


UDP 8000

UDP 19000~20000


아이피타임 공유기상으로는 아래와 같이 등록하시면 됩니다.




4. 통화 해보기 (2명 , 다자간 통화)


먼저 안드로이드에서는 아래의 앱을 주로 사용합니다.


https://play.google.com/store/apps/details?id=com.csipsimple&hl=ko



이 앱을 설치해 줍니다.



앱을 켜게 되면 아래의 설정창이 뜨는데 마음에 드시는 쪽으로 설정해 주시길 바랍니다. 


안드로이드 다이얼러와 통합은 비추천입니다. 


한편, UDP 로 통신을 대기하기 때문에 배터리가 상당히 빨리 빠지는 것을 느끼실 수 있습니다. 상황에 맞게 설정해 주시면 됩니다 ㅎㅎ



다음으로 계정을 설정하라는 알림이 뜨고 Basic 으로 추가를 하시면 됩니다.




아래의 양식에 맞추어 입력해 주시면 됩니다.



한편 3G 4G 모드에서는 사용할 수 없게 되어 있는데 설정 -> 네트워크로 이동하여 아래의 설정을 해 주시면 됩니다.



왼쪽 아래의 열쇄 모양을 누르면 계정 리스트가 나옵니다.



인액티브 상태 및 연결중에서 에러가 났거나 하면 안드로이드 모양을 눌러 연결을 시도합니다.


정상적으로 연결이 되면 등록 완료 라고 뜹니다.



동일하게 갤럭시 넥서스에도 2002번으로 설정을 하여 전화를 걸어 보도록 하겠습니다.



정상적으로 신호가 울리고 통화가 잘 됩니다.



반대로 갤럭시 넥서스 2002 -> 넥서스5 2001 로도 잘 옵니다.



이때 asterisk 서버 로그를 살펴보도록 하겠습니다.


큰 문제가 없이 작동이 잘 됩니다.


root@u5pvr-debian:/etc/asterisk# asterisk -rvvvvv

Asterisk 11.13.1~dfsg-2+deb8u2, Copyright (C) 1999 - 2013 Digium, Inc. and others.

Created by Mark Spencer <markster@digium.com>

Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.

This is free software, with components licensed under the GNU General Public

License version 2 and other licenses; you are welcome to redistribute it under

certain conditions. Type 'core show license' for details.

=========================================================================

Connected to Asterisk 11.13.1~dfsg-2+deb8u2 currently running on u5pvr-debian (pid = 3859)

    -- Unregistered SIP '2002'

    -- Registered SIP '2002' at 192.168.100.1:55133

[Apr  5 16:27:16] NOTICE[3894]: chan_sip.c:27868 handle_request_subscribe: Received SIP subscribe for peer without mailbox: 2002

    -- Unregistered SIP '2001'

    -- Registered SIP '2001' at 110.70.54.124:22120

[Apr  5 16:27:20] NOTICE[3894]: chan_sip.c:27868 handle_request_subscribe: Received SIP subscribe for peer without mailbox: 2001

  == Using SIP RTP CoS mark 5

    -- Executing [2002@lan:1] Dial("SIP/2001-00000008", "SIP/2002,30") in new stack

  == Using SIP RTP CoS mark 5

    -- Called SIP/2002

    -- SIP/2002-00000009 is ringing

# 아래는 RTP 흐름을 나타냅니다.

       > 0xb620b2c8 -- Probation passed - setting RTP source address to 192.168.100.37:4000

       > 0xb620b2c8 -- Probation passed - setting RTP source address to 192.168.100.37:4000

    -- SIP/2002-00000009 answered SIP/2001-00000008

    -- Locally bridging SIP/2001-00000008 and SIP/2002-00000009

       > 0xb620b2c8 -- Probation passed - setting RTP source address to 192.168.100.37:4000

       > 0xb8281570 -- Probation passed - setting RTP source address to 110.70.54.124:37151

       > 0xb8281570 -- Probation passed - setting RTP source address to 110.70.54.124:37151

       > 0xb8281570 -- Probation passed - setting RTP source address to 110.70.54.124:37151

       > 0xb8281570 -- Probation passed - setting RTP source address to 110.70.54.124:37151

  == Spawn extension (lan, 2002, 1) exited non-zero on 'SIP/2001-00000008'

  == Using SIP RTP CoS mark 5

    -- Executing [2001@lan:1] Dial("SIP/2002-0000000a", "SIP/2001,30") in new stack

  == Using SIP RTP CoS mark 5

    -- Called SIP/2001

    -- SIP/2001-0000000b is ringing

    -- SIP/2001-0000000b is ringing

       > 0xb620b2c8 -- Probation passed - setting RTP source address to 110.70.54.124:63990

       > 0xb620b2c8 -- Probation passed - setting RTP source address to 110.70.54.124:63990

    -- SIP/2001-0000000b answered SIP/2002-0000000a

       > 0xb620b2c8 -- Probation passed - setting RTP source address to 110.70.54.124:63990

       > 0xb620b2c8 -- Probation passed - setting RTP source address to 110.70.54.124:63990

       > 0xb8267558 -- Probation passed - setting RTP source address to 192.168.100.37:4002

       > 0xb8267558 -- Probation passed - setting RTP source address to 192.168.100.37:4002

  == Spawn extension (lan, 2001, 1) exited non-zero on 'SIP/2002-0000000a'

u5pvr-debian*CLI>


다음으로 다자간 통화를 해보도록 하겠습니다. 


일단 설정 -> 통화옵션으로 이동하여 멀티콜 설정을 켜 줍니다.



그리고 2002 번에 전화를 겁니다.


다음으로 아래쪽에 + 버튼을 통해 2003 번으로 통화를 겁니다.




결론적으로는 3명과 동시에 통화가 되고 화면상으로는 아래와 같이 뜹니다.



추가적으로 PC 클라이언트의 경우 X-lite 프로그램을 사용합니다.


http://www.counterpath.com/x-lite/


소프트폰 -> 계정설정으로 이동하여 아래와 비슷하게 입력해 주시면 됩니다.





감사합니다.



http://cafe.naver.com/mk802/20296



안녕하세요. 이번에는 U5PVR 에서 WebDAV 공유를 만드는 방법에 대해서 알아보겠습니다.


기본적으로 apache2 웹서버 패키지로 구동이 됩니다.


그럼 시작하겠습니다.


1. apache2 설치 및 설정하기


먼저 apache2 패키지를 설치합니다.


root@u5pvr-debian:~# apt-get install apache2

Reading package lists... Done

Building dependency tree

Reading state information... Done

The following extra packages will be installed:

  apache2-bin apache2-data apache2-utils libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap

  liblua5.1-0 ssl-cert

Suggested packages:

  www-browser apache2-doc apache2-suexec-pristine apache2-suexec-custom openssl-blacklist

The following NEW packages will be installed:

  apache2 apache2-bin apache2-data apache2-utils libapr1 libaprutil1 libaprutil1-dbd-sqlite3

  libaprutil1-ldap liblua5.1-0 ssl-cert

0 upgraded, 10 newly installed, 0 to remove and 0 not upgraded.

Need to get 1785 kB of archives.

After this operation, 4778 kB of additional disk space will be used.

Do you want to continue? [Y/n]


다음 설치가 완료되고 나면 webdav 관련 모듈을 활성화 해 줍니다.


root@u5pvr-debian:~# a2enmod dav dav_fs auth_digest

Enabling module dav.

Considering dependency dav for dav_fs:

Module dav already enabled

Enabling module dav_fs.

Considering dependency authn_core for auth_digest:

Module authn_core already enabled

Enabling module auth_digest.

To activate the new configuration, you need to run:

  service apache2 restart


여기서 다이제스트 인증을 하는 이유는 윈도우와 호환성을 높이기 위함입니다.


윈도우 8 이전까지는 레지스트리 수정을 해야 했으나 윈도우 8.1 이후 부터는 할 필요가 없습니다.


다음으로 기본적으로 활성화 되어 있는 000-default.conf 가상호스트를 disable 합니다.


(차후에 웹서버 기능까지 사용하실 분들은 아마도 고수분들이라 생각하고 코멘트를 남기지 않겠습니다 ㅎㅎ 본 가이드는 WebDAV 만 활용할 목적으로 작성이 되었습니다.)


root@u5pvr-debian:~# a2dissite 000-default

Site 000-default disabled.

To activate the new configuration, you need to run:

  service apache2 reload


webdav 전용으로 가상호스트 설정파일을 만듭니다.


아래의 설정파일은 /mnt 를 webdav 루트로 하는 설정파일입니다.


root@u5pvr-debian:~# nano /etc/apache2/sites-available/webdav.conf


<VirtualHost *:80>
    DocumentRoot /mnt
    <Directory /mnt>
        Options Indexes MultiViews FollowSymLinks
        AllowOverride none
        Require all granted
    </Directory>
    <Location />
        DAV On
        AuthType Digest
        AuthName "WebDAV"    <-- realm 값입니다. 
        AuthDigestDomain /
        AuthDigestProvider file
        AuthUserFile /etc/apache2/passwd.dav    <-- 패스워드 파일 위치
        Require valid-user
    </Location>
</VirtualHost>


설정을 완료 하였으면 가상호스트 파일을 활성화 해 줍니다.


root@u5pvr-debian:~# a2ensite webdav.conf

Enabling site webdav.

To activate the new configuration, you need to run:

  service apache2 reload


계정에 대해서 설정을 진행합니다.


djj9405 라는 계정을 추가할 예정입니다. 패스워드를 두번 입력합니다.


root@u5pvr-debian:~# htdigest -c /etc/apache2/passwd.dav WebDAV djj9405

# -c 패스워드파일위치 realm값 추가계정이름

Adding password for djj9405 in realm WebDAV.

New password:

Re-type new password:


설정이 완료 되었음으로 웹서버를 재시작 합니다.


아래처럼 에러가 뜨기는 하나 문제는 없습니다.


에러가 거슬리시는 분은 /etc/apache2/apache2.conf 에 ServerName localhost 라고 한 줄 추가해 주시면 됩니다.


root@u5pvr-debian:~# service apache2 restart

[....] Restarting web server: apache2AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerName' directive globally to suppress this message

. ok

root@u5pvr-debian:~#


추가적으로 안드로이드 권한과 맞춰야 함으로 www-data 계정을 aid_media_rw 와 aid_sdcard_r 에 추가해 줍니다.


root@u5pvr-debian:~# adduser www-data aid_sdcard_r

Adding user `www-data' to group `aid_sdcard_r' ...

Adding user www-data to group aid_sdcard_r

Done.

root@u5pvr-debian:~# adduser www-data aid_media_rw

Adding user `www-data' to group `aid_media_rw' ...

Adding user www-data to group aid_media_rw

Done.



2. WebDAV 에 연결하기


먼저 기초적으로 작동을 하는지 알아보기 위해서 브라우저로 접근을 시도해 봅니다.



정상적으로 작동합니다.





다음은 파일 탐색기에 연결해 보도록 하겠습니다.


내컴퓨터 -> 오른쪽 -> 네트워크 위치 추가 -> 아이피 입력 -> 설정한 아이디 비밀번호 입력



정상적으로 연결이 되었습니다.



파일 구조가 잘 뜹니다만, 무슨 이유인지는 모르겠으나 심링크로 된 sdcard 나 USBDevice 내부의 파일이 보이지 않습니다. 크롬으로 접속하였을 때에는 정상적으로 보였는데 여기서는 보이지 않네요.


(덧글로 팁좀 부탁드립니다!!)



한편 파일탐색기로는 파일을 옮기려고 하면 아래의 에러가 발생하기 때문에 레지스트리 값을 수정해야하는 문제를 안고 있습니다.


파일 용량을 수정한다한들 더블클릭으로 재생이 되지 않습니다.



따라서 이번에는 넷드라이브를 이용하여 붙여 보도록 하겠습니다.


넷드라이브 구버전을 구하셔서 설치를 하시고, 아래와 같이 설정해 주시면 됩니다.



한편, 한글 파일이 깨지는 문제가 발생함으로 아래의 Advanced 를 눌러 언어셋을 UTF-8 로 맞춥니다.



연결을 하게 되면 아래와 같이 로컬디스크 처럼 뜹니다.




파일이 정상적으로 보이고 아래의 걸스데이 뮤비를 하나 재생해 보도록 하겠습니다.



큰 버퍼링 없이 잘 재생이 됩니다.



추가적으로 안드로이드 ES 파일탐색기에서 연결을 시도해 보겠습니다.


(아이폰의 경우에는 WebDAV 를 지원하는 플레이어를 사용하시면 됩니다.)







테스트로 영상 파일 하나 재생 해 보았습니다.


문제 없이 재생이 됩니다 ㅎㅎ




감사합니다. ㅎㅎ


http://cafe.naver.com/mk802/20251




안녕하세요. 이번에는 U5PVR 의 토렌트 클라이언트에 대해서 알아보도록 하겠습니다.


데몬 정보는 아래와 같습니다.


데몬 : transmission-daemon

포트 : 9091

아이디 : u5pvr

비밀번호 : u5pvr


아래의 순서대로 알아보도록 하겠습니다.


1. 기본 접속방법

2. 아이디 비밀번호 및 세부 설정하기

3. Plex Media Server 와 연동



1. 토렌트 서버에 접근하기


웹 주소창에 아래의 주소를 입력합니다.



접근하게 되면 아이디 비밀번호를 물어보게 됩니다. 


초기 설정된 아이디 비밀번호는 u5pvr 입니다.


접근해 보시면 아래와 같이 UI 가 뜹니다.



기본적으로 웹 UI 에서 토렌트 파일 추가는 아래와 같이 하시면 됩니다.


왼쪽에 토렌트 추가를 누르면 아래의 UI 가 뜹니다.


자동 시작에 체크해 주셔야 바로 다운로드가 시작됩니다.



추가적으로 다운로드 위치를 설정하는 방법은 아래와 같습니다.


왼쪽에서 4번째 아이콘 설정 아이콘을 눌러 기본 경로를 입력해 주시고 저장을 누르시면 됩니다.


(경로를 지정해 줄 경우 내장 ES 파일탐색기나 혹은 SFTP 혹은 SSH 로 경로를 확인하신 다음에 설정해 주시면 됩니다.)



예로 걸스데이 뮤직비디오와 우분투 서버 이미지를 추가해 보았습니다. 정상적으로 다운로드가 잘 됩니다.



다음은 안드로이드 스마트폰에서 Remote Transmission 앱을 통해 접근을 해 보도록 하겠습니다.


마켓 주소로 이동하셔서 설치를 해 주시길 바랍니다.


https://play.google.com/store/apps/details?id=com.neogb.rtac&hl=ko



실행하시고 아이피 정보와 계정정보를 설정합니다.



연결이 정상적으로 완료 되었습니다.



예시로 토렌트 파일을 하나 추가해 보도록 하겠습니다.





정상적으로 추가가 되었습니다.



마지막으로 PC와 연동을 해 보도록 하겠습니다.


아래의 주소로 이동하여 설치 파일을 받아주시길 바랍니다.


https://sourceforge.net/projects/transgui/files/latest/download


처음 실행하게 되면 클라이언트를 설정하는 화면이 나옵니다. 아래와 같이 설정을 해 줍니다.



정상적으로 완료가 되었다면 아래와 같이 뜨게 되고 파일을 utorrent 사용하듯이 추가를 할 수 있습니다.







2. 토렌트 클라이언트 설정하기


설정파일의 경우 /mnt/sdcard/config_linux/transmission-daemon/settings.json 파일을 직접 수정하시면 됩니다. 설정파일을 수정하는 동안 transmission-daemon 이 동작중이면 설정이 반영되지 않음으로 중지하고 수정하셔야 합니다.


수정의 경우 쉘에서 직접적으로 nano 나 vi 에디터를 사용해도 되고 WinSCP 를 통해 SFTP 로 접근하여 수정하셔도 됩니다.


저는 쉘로 작업해 보도록 하겠습니다.


먼저 데몬을 중지한 다음, 설정파일을 수정하고 다시 실행시키면 됩니다.


root@u5pvr-debian:~# service transmission-daemon stop

[ ok ] Stopping bittorrent daemon: transmission-daemon.

root@u5pvr-debian:~#


root@u5pvr-debian:~# nano /mnt/sdcard/config_linux/transmission-daemon/settings.json

{
    "alt-speed-down": 50,
    "alt-speed-enabled": false,
    "alt-speed-time-begin": 540,
    "alt-speed-time-day": 127,
    "alt-speed-time-enabled": false,
    "alt-speed-time-end": 1020,
    "alt-speed-up": 50,
    "bind-address-ipv4": "0.0.0.0",
    "bind-address-ipv6": "::",
    "blocklist-enabled": false,
    "blocklist-url": "http://www.example.com/blocklist",
    "cache-size-mb": 4,
    "dht-enabled": true,
    "download-dir": "/mnt/sda/sda1",
# 다운로드 경로 수정
    "download-limit": 100,
    "download-limit-enabled": 0,
    "download-queue-enabled": true,
    "download-queue-size": 5,
    "encryption": 1,
    "idle-seeding-limit": 30,
    "idle-seeding-limit-enabled": false,
    "incomplete-dir": "",
    "incomplete-dir-enabled": false,
    "lpd-enabled": false,
    "max-peers-global": 200,
    "message-level": 2,
    "peer-congestion-algorithm": "",
    "peer-id-ttl-hours": 6,
    "peer-limit-global": 200,
    "peer-limit-per-torrent": 50,
    "peer-port": 51413,
    "peer-port-random-high": 65535,
    "peer-port-random-low": 49152,
    "peer-port-random-on-start": false,
    "peer-socket-tos": "default",
    "pex-enabled": true,
    "port-forwarding-enabled": false,
    "preallocation": 1,
    "prefetch-enabled": 1,
    "queue-stalled-enabled": true,
    "queue-stalled-minutes": 30,
    "ratio-limit": 2,
    "ratio-limit-enabled": false,
# 시딩 비율 설정
    "rename-partial-files": true,
    "rpc-authentication-required": true,
    "rpc-bind-address": "0.0.0.0",
    "rpc-authentication-required": true,
    "rpc-bind-address": "0.0.0.0",
    "rpc-enabled": true,
    "rpc-password": "{93edd1db9aa903c1b898a29d3eac2a803b9c60faj.8BbWco",
# 비밀 번호 설정
# 입력을 하고 저장을 한 다음 다시 들어와 보면 위 처럼 암호화 되어 저장이 되어 있습니다.
    "rpc-port": 9091,
    "rpc-url": "/transmission/",
    "rpc-username": "u5pvr",
# 아이디 설정
    "rpc-whitelist": "127.0.0.1",
    "rpc-whitelist-enabled": false,
    "scrape-paused-torrents-enabled": true,
    "script-torrent-done-enabled": false,
    "script-torrent-done-filename": "",
    "seed-queue-enabled": false,
    "seed-queue-size": 10,
    "speed-limit-down": 100,
    "speed-limit-down-enabled": false,
    "speed-limit-up": 100,
    "speed-limit-up-enabled": false,
    "start-added-torrents": true,
    "trash-original-torrent-files": false,
    "umask": 0,
    "upload-limit": 100,
    "upload-limit-enabled": 0,
    "upload-slots-per-torrent": 14,
    "utp-enabled": true
}


root@u5pvr-debian:~# service transmission-daemon start
[ ok ] Starting bittorrent daemon: transmission-daemon.
root@u5pvr-debian:~#


실질적으로 U5PVR 에서는 UUID 현재로써는 UUID 마운트를 지원하지 않고 있습니다. (차후에 대응 업데이트가 있을 수도 있습니다.)


따라서, 연결되는 외부 장치에 따라서 sda sdb sdc 등 순서가 뒤바뀔 수 있습니다.




3. Plex Media Server 와 연동


기본적으로 플렉스 서버의 라이브러리에 토렌트 다운로드 폴더가 포함이 된다면 아래처럼 다운로드 완료 시, 미디어 스캔이 자동적으로 일어남으로 미디어가 추가가 됩니다.

(변경사항 발생 시 자동으로 미디어 스캔 옵션에 체크가 되어 있어야 합니다.)



테스트로 받은 영상을 웹에서 재생해 보도록 하겠습니다.




이상으로 토렌트 서버 사용 및 설정방법에 대한 게시글을 마치도록 하겠습니다.


감사합니다.



http://cafe.naver.com/mk802/20250




안녕하세요. 이번에는 FTP 서버를 설정하고 사용하는 방법에 대해서 알아보도록 하겠습니다.


기본적으로 FTP 서버의 정보는 아래와 같습니다.


데몬정보 : pure-ftpd

포트 : 21

패시브포트 : 49152 ~ 65534

언어셋 : utf8

인증방식 : 가상계정 (pure-db 이용)


파일질라 , WinSCP , 윈도우 탐색기 , 안드로이드의 ES 파일 탐색기 , 아이폰의 N플레이어 등등 호환이 가능합니다.


아래의 순서대로 진행 하도록 하겠습니다.


1. 접속방법

2. 서버 및 계정 설정방법

3. 포트포워딩 방법


그럼 시작하겠습니다.


1. FTP 서버 접근하기


(이 글을 작성할 때 원격지에서 작성을 하여 아이피가 iptime.org 도메인으로 되어 있는점 양해 부탁드립니다.)


접속 아이피 : U5PVR 아이피 주소

포트 : 21

아이디 : u5pvr

비밀번호 : u5pvr


u5pvr 은 기본적으로 생성되어 있는 계정으로 추후 설정시 제거하셔야 합니다! 


윈도우 탐색기의 경우 ftp://U5PVR아이피주소:21/ 을 탐색기 주소에 입력하시고 아이디 비밀번호를 입력하시면 아래와 같이 접근이 됩니다.


저의 경우에는 sda 로 SATA 2.5인치 하드디스크, sdb 로 USB 메모리가 장착되어 있는 상태입니다.



내장 SD카드도 정상적으로 접근이 됩니다.


다음으로 Filezilla 프로그램으로 접근을 해 보겠습니다.


빠른연결에서 호스트에 U5PVR 아이피주로를 입력하시고 사용자명에 u5pvr 그리고 비밀번호도 u5pvr 로 입력하고 포트는 21 을 넣으시면 정상적으로 접근이 됩니다.


(원격지에서 글을 작성중이라 사진에는 2211로 되어 있습니다.)



상세하게 보도록 하겠습니다.




다음은 크롬 브라우저를 통해서 접근을 해 본 사진입니다. 파일 업로드는 할 수 없지만 다운로드는 가능하게 되어 있습니다.


WinSCP 를 통해서 접근하여 보겠습니다.


(기본적으로 SSH 가 작동중이기 때문에 SFTP 로도 접근이 가능합니다.)





마지막으로 ES 파일탐색기에서 접근해 본 사진입니다.







2. FTP 서버 설정하기


먼저 패시브포트 범위를 바꾸는 방법에 대해서 알아보겠습니다.


기본적으로는 49152 ~ 65534 로 FTP 서버 기본 값으로 설정이 되어 있습니다.


아래처럼 설정을 해 주시고 재시작 하시면 설정이 적용됩니다.


root@u5pvr-debian:~# nano /etc/pure-ftpd/conf/PassivePortRange


49152 65534

# 요기서 범위를 수정해 주시면 됩니다.


root@u5pvr-debian:~# service pure-ftpd restart

Restarting ftp server: Running: /usr/sbin/pure-ftpd-virtualchroot -l puredb:/etc/pure-ftpd/pureftpd.pdb -l pam -8 utf8 -J ALL:!aNULL:!SSLv3 -u 0 -b -E -A -O clf:/var/log/pure-ftpd/transfer.log -9 utf8 -H -U 000:000 -p 49152:65534 -B

root@u5pvr-debian:~#


다음은 계정 설정을 해 보겠습니다.


root@u5pvr-debian:~# pure-pw list

# 현재 설정된 계정 리스트 보기

u5pvr               /mnt/./

djj9405             /mnt/./

root@u5pvr-debian:~# pure-pw userdel u5pvr

# u5pvr 계정 삭제

root@u5pvr-debian:~# pure-pw list

djj9405             /mnt/./

root@u5pvr-debian:~# pure-pw userdel djj9405

# djj9405 계정 삭제

root@u5pvr-debian:~# pure-pw list

# 설정된 계정이 없음으로 리스트에 뜨지 않음

root@u5pvr-debian:~# pure-pw useradd djj9405 -u 1023 -g 1028 -d /mnt -m

# djj9405 계정 추가

# pure-pw useradd <추가할아이디> -u <유저지정> -g <그룹지정> -d <홈폴더 지정> -m (db에 바로 업그레이드 하는 옵션)

Password:

Enter it again:

# djj9405 계정에 사용할 비밀번호를 두번 입력합니다.

root@u5pvr-debian:~# pure-pw list

djj9405             /mnt/./

# 생성한 계정이 보입니다.

root@u5pvr-debian:~# pure-pw mkdb

# 혹시 모르니 db 를 갱신해 줍니다.


계정을 생성할 경우 U5PVR 리눅스는 안드로이드 커널을 공유하기 때문에 사용자는 1023 그룹은 1028 로 꼭 설정하셔야 권한 문제가 발생하지 않습니다. 


명령어 끝에 -m 을 넣는 이유는 바로 db 에 반영을 하기 위함입니다. -m 을 넣지 않고 작업하시면 db 에 반영이 되지 않기 때문에 삭제한 계정으로도 접속이 가능해지는 경우가 있습니다. pure-pw mkdb 를 통해 db를 업데이트 하시면 바로 반영이 됩니다.


홈폴더의 경우 /mnt 로 하시면 안드로이드에서 바라보는 /mnt 와 동일한 위치입니다. 즉, 내장 SD카드와 USB나 SATA 포트로 연결된 디스크가 모두 보이는 위치입니다.



여타 계정 설정으로 속도 제한이나 접근 허용 아이피 등등을 설정할 수 있습니다.


추가적으로 홈폴더 관련하여 가상 디렉터리를 사용할 수 있습니다. 예를 들어서 보여주고 싶은 것만 공유하고 싶다면 빈 폴더를 하나 생성하여 그 폴더를 홈폴더로 지정하고 그 폴더에 심링크로 폴더를 추가하는 것입니다.


예시로 mk802 라는 계정에 홈폴더를 /home/mk802 로 설정하고 /home/mk802 폴더에 /mnt/sda/sda1 을 심링크 걸어 보도록 하겠습니다.


root@u5pvr-debian:~# mkdir -p /home/mk802

# /home/mk802 디렉터리 생성

root@u5pvr-debian:~# pure-pw useradd mk802 -u 1023 -g 1028 -d /home/mk802 -m

# mk802 계정 생성

Password:

Enter it again:

root@u5pvr-debian:~# cd /home/mk802

root@u5pvr-debian:/home/mk802# ln -s /mnt/sda/sda1 disk1

# sda1 을 disk1 과 심링크

root@u5pvr-debian:/home/mk802# ls

disk1

root@u5pvr-debian:/home/mk802#


mk802 계정으로 접근을 해 보도록 하겠습니다.




설정한 구성대로 작동이 잘 됩니다. 이처럼 원하는 방식대로 폴더를 심링크하여 홈폴더를 구성하실 수 있습니다.


기본적으로는 /mnt 를 홈폴더로 잡으면 모든 디스크에 접근이 가능하게 되어 있습니다.


폴더를 여러번 진입하는 것이 귀찮으시면 /mnt/sdcard 등을 홈폴더로 지정하면 됩니다. 그러나 다른 디스크에 접근을 할 수가 없기 때문에 심링크를 통한 작업을 하시면 더욱 더 편하게 사용이 가능합니다.



3. 외부접속을 위한 포트포워딩 하기


포트포워딩의 정보는 아래와 같습니다.


TCP 21

TCP 49152 ~ 65534


아이피 타임 공유기 기준으로는 아래와 같이 포워딩을 합니다.



21 번 포트 말고 다른 포트를 사용하셔도 되고 저는 2211 포트를 사용합니다.


패시브 포트는 설정해 주신대로 해주시면 됩니다. 기본값으로 위의 사진으로 설정하시면 됩니다.


감사합니다.


http://cafe.naver.com/mk802/20231





안녕하십니까 ?  

2012년부터 미니PC관련 test리뷰를

1,2개씩 꾸준히 진행하고 있는 EddyLab입니다. ^^

(벌써 5년차가 되었네요 ^^;;)

 

이번에 test하고 있는 미니PC기기는

국내 개발사와 유저포럼에서 협업으로 개발된 

2개 ATSC 튜너(트윈튜너) 내장 안드로이드 TV U5PVR셋탑을 test 하면서

작성한 글들을 정리하여 올려 드립니다.



국내 개발사와 유저포럼에서 협업으로 개발한 

2개 ATSC 튜너(트윈튜너) 내장 안드로이드 TV U5PVR셋탑을 test 하면서

작성한 글들을 정리하여 올려 드립니다.



1. Kodi포럼 HW 세션에 U5PVR 제품 소개가 올라가 있고, 기술검증을 하고 있습니다. 
[Android] U5PVR Hybrid 4K UHD Broadcast Tuner Set-Top (2017) - UPDATED: 17/02/19 
http://forum.kodi.tv/showthread.php?tid=305097 


==> HW 제품 사진과 상세 SPEC은 상기 Kodi 포럼 링크를 참조 해 주시기 바랍니다. 




2. U5PVR 슬림형 4K UHD 안드로이드 TV 튜너셋탑 (1) - HW관련 정보 

http://cafe.naver.com/mk802/19767 




System Resources
CPUHi3798CV200(ARM Cortex A53, Quad core 64bit)
GPUHigh-performance multi-core Mail T720
Storage Memory16GByte, eMMC 5.0
System Memory2 GByte, SDRAM

 




U5PVR제품은 2개의 제품이 있습니다.

U5PVR 슬림형 / U5PVR 디럭스형 2가지가 있습니다.

 

2개 제품의 차이점은 (U5PVR디럭스형 기준)

- RAM : 2G DDR4

- Tuner : 수신율이 향상된 튜너 (안테나 Input & Pass 단자 구성)

==> 2개의 튜너가 내장되어 있습니다만, 안테나 Input 1개로 구성이 가능하며,

Pass단자를 추가하여 TV의 튜너 안테나 입력에 추가로 연결이 가능하도록 되어 있습니다.

- 내장 3.5 inch HDD 가능 (8T / NTFS 지원)

(U5PVR 슬림형은 USB 3.0 포트 2개를 통하여 외장 2.5Inch(무전원) 지원합니다.) 


내장 ATSC 튜너를 기반으로 지상파 방송 수신과 케이블 방송 (암호화채널 제외) 시청 및

녹화(외부에서 예약 녹화 가능)가 가능하게 되었습니다.



3 U5PVR 슬림형 4K UHD 안드로이드 TV 튜너셋탑 (2) - SW관련 정보 
http://cafe.naver.com/mk802/19767 


U5PVR 튜너셋탑 제품은 안드로이드 TV OS(ATV) 5.x  기반 셋탑입니다.


이 제품은 기본적으로 4K@60fps@HEVC@10bit@BT2020@HDR10 재생 출력이 가능하고,

오디오는 ATMOS HDMI 패스쓰루를 지원 할 예정입니다.


2개의 ATSC 튜너가 내장이 되어 있어서,

지상파 방송 시청과 녹화를 동시에 지원하고 있습니다.




4. 안드로이드 & 리눅스 동시 부팅


개발사와 포럼과 협업을 통하여

최초로 안드로이드 셋탑에서 리눅스가 동시에

동작이 되도록 SW개발을 함으로써 새로운 기능을 구현하게 되었습니다.


  

즉, 기본 안드로이드TV OS(ATV OS) 기반에서 동시에 리눅스가 구동되기 때문에, 
하기 내용의 리눅스(데비안기반) 서버를 내장 하고 있습니다. 
[U5PVR] U5PVR 리눅스 펌웨어 기본 패키지 (Plex, TVheadend, FTP, Torrent) 
http://muritzy.tistory.com/1289 



이렇게 U5PVR 제품이 개발되게 된 이유는,


안드로이드 부팅만으로는 개인화 기기로만 사용이 되기 때문에, 기능이 부족하다는 점과,

리눅스 부팅 기반으로는 4K UHD 재생에 필요한 HW디코딩 지원이 어렵다는 점이 있습니다.


이를 상호 보완적 기능을 구현하기 위하여서,

별도의 OS부팅 지원이 아닌, 동시 기능 구현을 위하여 

안드로이드 커널기반으로 리눅스가 동시에 동작이 가능하도록 개발하였습니다.


아직까지 이러한 형태의 제품은 전세계에 없는 것으로 알고 있습니다. ^^


이 리눅스 Shell 환경에서 유저가 원하는 기능을 자유롭게 구축해서

사용이 가능한 환경을 제공해 드릴 수 있게 되었습니다.


이를 통하여 U5PVR은 간이 NAS수준의 기능을 구현 가능하게 되었습니다.




5. TVHeadend Server


물리적 2개튜너 + TVHeadend Server 2개 (TVH#1, TVH#2) 가 내장 구축되어져 있습니다.

TVH#1은 물리적 2개튜너의 드라이버가 연동된 스탠드얼론 TVHeadend V3.2 커스텀입니다.

TVH#2는 리눅스 기반의 TVHeadend V4.1 버젼으로서 개인적으로 쉽게 TVH를 구축 하실 수 있습니다.


EPG는 본인이 사용하기 편리한 것을 선택적으로 설정을 하시고, TVH#2에 연결하여 사용하시면 됩니다.




6. 방송 시청


방송시청 방법은 크게 3가지 방법을 지원하고 있습니다.


- U5PVR 자체 eON런처를 통하여 TVH 방송시청 및 녹화가 가능하며, 원격 녹화 예약 지원이 됩니다. (별도 스마트폰 앱 지원)

- Kodi 나 Plex Server를 통한 TVH 방송 시청 및 녹화가 가능합니다. 

(기본적으로 트랜스코딩은 지원을 하지 않고, Bypass기능만 가능하다고 보시면 됩니다.)

- 안드로이드 TV OS 기반 Live Channel 앱을 통하여 방송 시청이 가능합니다. (녹화는 향후 지원 예정)


U5PVR TVHeadend Live Channel (Beta) 동작 확인 
http://muritzy.tistory.com/1295 


채널변환 속도와 채널선택 후 화면출력 반응속도가 탁월합니다. ^^

UHDTV(UMAX) 재생도 확인하였습니다.

올해(2017년) 새로운 안드로이드 TV OS O 버젼에서는
Live Channel 기능에 PIP기능(2채널 ??)이 추가 될 예정이라고 합니다.



U5PVR TVHeadend Live Channel  동영상 캡춰 - 유투브 



7. Plex Server 내장


기본적으로 트랜스코딩 지원은 없고, Bypass기능으로 

Plex Server를 구축하여 미디어 통합 관리가 가능하도록 되었습니다.


물론 Kodi에서 Plex add-on 0.9 버젼을 쓰면 Kodi에서도 동작이 가능합니다.


아시다시피, Plex는 풍부한 메타데이터를 지원해 주는 대신에,

비디오 오디오포멧에 따라서 HW부하(트랜스코딩)을 요구하게 됩니다.


비디오 : MP4 / HEVC

오디오 : AAC

자막 : SRT

제목 : 작성법에 의하여 제목이 만들어져 있어야 합니다.

상기 4가지 조건만 맞추면, 트랜스코딩은 불필요 하게 되면서,

동시에 여러개의 영상을 재생이 가능하게 됩니다.


Plex Server의 장점은 친구 계정을 만들어서 라이브러리를 공유 할 수 있기 때문에,

어르신들께서 보실 수 있는 영화 라이브러리를 구축하여 공유가 가능합니다.

Plex 클라이언트 앱은 ATV OS기반에서는 무료로 사용이 가능합니다.

스마트폰 Plex 클라이언트 UI보다 훨씬 좋은 UI를 가지고 있습니다만,

아쉽게도 외장 재생기 연결 기능은 지원하지 않고 있습니다.



8. 내장 플레이어 영상 재생 지원 기능


기본적으로  4K@60fps@HEVC@10bit@BT2020@HDR10을 지원합니다.

PQ 영상 화질 보정 엔진을 가지고 있어서, 어떤 영상에서도 화질 보정 엔진을 이용하여,

원하시는 색감을 맞출 수 있습니다. (HDR모드에서는 PQ엔진은 지원하지 않습니다.)


블루레이 재생관련으로 ISO파일과 폴더형태 파일을 원터치로 재생 지원이 가능합니다.


3D 블루레이 재생을 지원하고, 3D 자막 댑스를 지원합니다.


3D 블루레이 재생에서 외부 자막지원은 SRT만 지원하고 있습니다.

기본적으로 Kodi에서 재생하는 것 보다 훨씬 향상된 색감으로 영상 재생이 됩니다.



9. 네트워크 지원


기본적으로 DLNA / LAN(SAMBA) / NFS 등을 지원합니다.


내부 네트워크 NAS와 CIFS로 드라이버 연결이 지원됩니다.

(가끔 연결 링크가 깨지기도 합니다만, 미디어 센터에서 네트워크 연결 상태만 확인하면

자동으로 재 연결이 되어지게 됩니다.)


내부 HDD 또는 USB 외장HDD에 녹화가 가능하고,

네트워크 지원으로 외부 NAS에 녹화도 가능합니다.


클라우드 지원으로 구글 드라이버 커넥티비티를

리눅스 기반에 설정하여 네트워크 클라우드 연동 지원이 가능합니다.

외부에서 U5PVR의 TVH서버와 연동하여 지상파 재생 시청이 가능하고,

원격으로 토랭이 다운로드와 FTP서버, 스트리밍 재생(원본화질) 지원이 가능합니다.


10. 결론


더 많은 기능을 소개 (게임 등)을 해 드리고 싶습니다만,

아직 test를 하지 못한 분야 및 좀 더 관심을 가지고 리눅스 기능을 구현해 보고 싶은 기능은

많이 있습니다.  ^^


게임은 ATV OS기반에서 2개의 게임패드를 지원하기 떄문에

2인용 게임이 가능하다고 알고 있습니다. 그러나 아직 test는 해 보지 못하였습니다.


제일 문제가 되는 기능은 안드로이드 TV OS의 태생적 문제로

안드로이드 마켓이 ATV용 마켓이라는 점입니다. 이는 쉴드TV셋탑도 마찬가지 입니다만,

원하시는 앱을 쉽게 마켓에서 다운로드 받거나 자동 업그레이드 지원이 되지 않는다는 점입니다.


이는 스마트폰을 이용하여 사이드 로딩을 위한 작업이 필요합니다만,

Send Anywhere를 이용하여 앱을 쉽게 U5PVR에 업로드가 가능하기 때문에 크게 문제는 없네요..


별도로 3'rd 마켓앱도 지원을 할 예정이라고 합니다.

 


아직 몇가지 버그등은 보입니다만,

안정화 측면에서는 ATV OS가 워낙 견고(?)해서 시스템이 죽는 일은 거의 없네요 ^^;;



Widevine DRM은 지원이 되지 않기 때문에

Netflix는 480P까지만 지원이 됩니다만,

Youtube는 4K@30까지는 지원이 됩니다.

아직 4K@60fps는 재생중 끊김현상이 있습니다.



ARM기반 시놀로지 NAS급 + 4K UHD 안드로이드 셋탑 + 트윈튜너 기능이

일체화 되어 있는 제품은 아직까지 없는 것 같습니다.



중요한 것은 가성비라고 보여집니다만,

안드로이드 기반에서 리눅스를 이용하는 자율도에 있어서는

지금까지 누려보지 못한 자유가 느껴지고, 여러가지를 즐길 수 있다는 느낌이 팍팍 듭니다. ^^


  

많은 기능중에 내가 꼭 써 보고 싶은 기능을 최대한 최적화 시켜서

사용 빈도가 높게끔 하는 것이 제일 중요하다고 판단됩니다.  ^^



U5PVR 컨텐츠 관리 아카이빙 및 재생관련







자세한 사항은 "EddyLab - 미니PC포럼"에서 자료를 참조 하시기 바랍니다.

http://www.eddylab.co.kr  /  http://cafe.naver.com/mk802












U5PVR TVHeadend Live Channel (Beta) 동작 확인

 

안녕하십니까 ?  EddyLab입니다.

이전에 하기 내용으로 올려드린 TVHeadend Live Channel (Beta)는 쉴드TV셋탑에서 설정을 하고 설정관련 글을 올려 드린 바 있습니다.





금번에는 U5PVR에서 TVHeadend Live Channel APP 동작 확인을 해 보았습니다.

먼저 하기 U5PVR 컨텐츠관리 아카이빙 및 재생관련 내용을 기초로 설명드리면,

컨텐츠입수의 아래쪽의 TVH 서버와 컨텐츠 재생기 중에 TV Headend Live Channel APP을
상호 연동을 시킨 내용입니다.

U5PVR 컨텐츠 관리 아카이빙 및 재생관련 170222





앞서서, 이 Test를 U5PVR에서 실행하지 못한 이유는,
TV Headend Live Channel APP의 버그가 있어서 test를 못하고 있었습니다.

0228FW에서 TVH#2의 port를 수정하고 9981,9982로 변경하므로써
이제부터 이용이 가능하게 되었습니다.

ATV 린백런처에서 Live Channel APP(오른쪽 끝)을 실행 합니다.









TVHeadend를 선택 합니다.




TVHeadend를 선택하면, TV Headend Live Channel APP이 실행됩니다.





TV Headend Live Channel APP의 설정 방법은 

이전 쉴드TV 설정떄와 같습니다.

[Live Channel] 쉴드TV셋탑에서 TVHeadend Live Channel (Beta) 설정 방법 1




설정 중에 다른 점은 Live Channel 재생 관련 어플 설정에서,
2번째 "Media Player"로 설정합니다.
Media Player는 Android Media 기본 코덱을 사용하도록 되어 있습니다.





TVHeadend Live Channel APP에서 TVH Settings 내용을 보았습니다만,
수정할 부분은 안보여서 Pass하였습니다.








Live Channel로 돌아오게 되며, 

설정된 TVHeadend에 173개 채널이 보입니다.

















Live Channel 시청 중에 F12를 누르면,

U5PVR의 eON런처로 바로 넘어 오고, 
TV Tuner 시청으로 들어 오게 됩니다.

특이한 것은 Live Channel 방송과 TV Tuner의 시차가 조금도 없다는 점이네요 ^^;;

방송화질은 TV Tuner쪽이 조금 더 좋습니다. ^^






아시다시피, Kodi에서도 TVH add-on을 설치하여 
시청이 가능합니다만, Kodi17 기준으로 TS를 SW로 디코딩을 하는 바람에
아직 TS채널 시청이 원할하게 재생이 되지 않고 있습니다. ^^;;

이는 Kodi17에서 HW디코딩으로 설정기준만 바꾸어주면
재생자체는 앞서 Live Channel과 동급으로 재생이 되게 됩니다.

사유는 Kodi17부터 안드로이드 OS기반에서
Kodi 자체적인 코덱을 버리고, 안드로이드 기본 코덱(Media Player)을 쓰게 되었습니다.
이로서 Live Channel과 Kodi의 재생 결과값은 동일해야 합니다.



하기 U5PVR live Channl 동영상 캡춰 내에는 UHD방송(UMAX) 재생 내용도 함께 있습니다.

중요한 점은 채널 반응 속도가 엄청 빠르다는 점입니다. ^^

향후에 안드로이드 O 버젼에서는 PIP(2채널 ?)를 지원하게 될 예정이라고 합니다.


 







이번에는 플렉스 서버에 플러그인을 설치해 보도록 하겠습니다.


이 글에서 예시로 다음 무비 에이전트, 유튜브 채널 플러그인을 설치해 보도록 하겠습니다.



1. Plex Media Server 라이브러리 폴더 구조


SFTP 나 FTP 혹은 SAMBA 로 Plex Media Server 라이브러리 폴더에 접근을 해 보겠습니다.


경로는 아래와 같습니다.


/mnt/sdcard/config_linux/Plex Media Server


# sdcard 경로는 심링크가 되어 있기 때문에 물리적인 경로는 아래와 같습니다.

/storage/sdcard/config_linux/Plex Media Server


SFTP 로 접근한 화면 입니다.



다음은 SAMBA 를 통해 접근한 화면입니다.



마지막으로 FTP 를 통해 접근한 화면입니다.



마지막으로 Plex Media Server 라이브러리 폴더를 다른곳으로 옮기고 싶으신 분들은 아래의 설정을 참고해 주시면 됩니다.

(SSH 로 접근하여 작업하는 과정입니다.)


차후에 라이브러리가 너무 많아져서 내부 ROM 용량이 부족할 수 있기 때문에 아래의 설정을 통하여 라이브러리를 SATA 디스크나 USB 외장하드로 옮기셔도 됩니다. 


일반적으로는 옮기실 필요가 없습니다.


nano /etc/default/plexmediaserver


# default script for Plex Media Server


# the number of plugins that can run at the same time

PLEX_MEDIA_SERVER_MAX_PLUGIN_PROCS=6


# ulimit -s $PLEX_MEDIA_SERVER_MAX_STACK_SIZE

PLEX_MEDIA_SERVER_MAX_STACK_SIZE=3000


# where the mediaserver should store the transcodes

PLEX_MEDIA_SERVER_TMPDIR=/tmp


# uncomment to set it to something else

PLEX_MEDIA_SERVER_APPLICATION_SUPPORT_DIR="/mnt/sdcard/config_linux"

# 이 부분을 수정해 주시면 됩니다.



# the user that PMS should run as, defaults to 'plex'

# note that if you change this you might need to move

# the Application Support directory to not lose your

# media library

PLEX_MEDIA_SERVER_USER=root


2. Daum Movie 에이전트 설치하기


다음 에이전트는 아래의 링크에서 다운받습니다.


https://github.com/axfree/DaumMovie.bundle



파일을 받으시고 압축을 풀어줍니다.


압축을 풀면 아래의 이름인데 Plex Media Server 에서 사용을 하려면 .bundle 로 끝이 나야 됩니다.


아래처럼 이름을 바꾸어 줍니다.



추가적으로 압축 푸는 프로그램에 따라서 폴더가 내부에 하나 더 생길 수 있는데 체크해 보시길 바랍니다.


해당 파일을 저는 SFTP 를 통해서 옮겨 보도록 하겠습니다. /mnt/sdcard/config_linux/Plex Media Server 로 이동하여 Plug-ins 폴더로 이동합니다.



Plug-ins 폴더에 아래처럼 복사를 하시면 됩니다.



플러그인을 추가했음으로 Plex Media Server 를 재시작 해야 합니다.


root@u5pvr-debian:~# service plexmediaserver restart

Killing Plex Media Server: done

Starting Plex Media Server: done

root@u5pvr-debian:~#


설치가 완료 되었으니 한번 확인을 해 보도록 하겠습니다.


설정 - 서버 - 에이전트에 다음 무비가 있는지 확인합니다. 


저는 기본적으로 활성화가 되어 있는데 활성화가 되지 않았을 수 있으니 체크박스로 활성화가 되었는지도 체크해 줍니다.



라이브러리를 추가해 보도록 하겠습니다.


저는 TV쇼를 추가할 예정입니다. TV쇼를 누르고 언어는 한국어로 선택해 주시면 됩니다.



미디어가 들어있는 폴더를 지정합니다.


중요한것이 있습니다. 제가 플렉스를 심도있게 사용해 보지 않아 잘 몰랐는데 드라마 폴더로 지정한 경우 하위 폴더에 드라마가 정리되어 있어야 하네요.


/

/구르미 그린 달빛

/썸남썸녀

/싸우자 귀신아

......


위 구조처럼 되어 있어야 스캔이 됩니다 ㅎㅎ..



폴더 추가를 하시고 창을 닫는것이 아니라 고급 탭으로 이동하여 에이전트를 다음 무비로 선택해 줍니다.



테스트로 1회차 드라마를 폴더를 만들어서 넣어 보았습니다. 


아래처럼 잘 작동합니다.




3. Youtube Channel Plug-in 설치하기


유튜브 채널 플러그인은 아래의 주소에서 설치합니다.


https://github.com/kolsys/YouTubeTV.bundle/releases/tag/v4.6


마찬가지로 압축을 푸실 때 이름에 유의하여 주시고 폴더 구조가 맞는지 확인을 하셔야 합니다.





이름을 바꾸시고 폴더 구조가 맞는지 확인을 하셨으면 SFTP 로 파일을 복사해 줍니다.



플렉스 미디어 서버를 재시작 합니다.


root@u5pvr-debian:~# service plexmediaserver restart

Killing Plex Media Server: done

Starting Plex Media Server: done

root@u5pvr-debian:~#


채널 탭으로 이동해 보시면 유튜브 채널 플러그인이 생겼음을 확인할 수 있습니다.



계정 연동 작업을 합니다.


아래 주소로 이동하여 코드를 넣고 허용을 누른 다음 Authorize 를 누르면 연동이 끝납니다.


https://www.google.com/device



연동이 끝나면 계정의 구독리스트 , 재생목록 등이 연동 됩니다.


테스트로 영상 하나 재생해 보겠습니다.




아쉬운 부분이지만 플러그인을 통한 유튜브 시청은 720p 만 지원이 되는 상태입니다..



동일하게 Plex 를 연동한 클라이언트에서도 채널 플러그인을 사용하실 수 있습니다.




감사합니다.



http://cafe.naver.com/mk802/20198

+ Recent posts