안녕하세요. 이번에는 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

저작자 표시 비영리 변경 금지
신고
TAG U5PVR



안녕하세요. 이번에는 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


저작자 표시 비영리 변경 금지
신고
TAG ftp, Linux, U5PVR




안녕하십니까 ?  

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

저작자 표시 비영리 변경 금지
신고



이번에는 U5PVR 에 설치된 Plex Media Server 를 U5PVR 에서 그리고 다른 기기에서 연동해 보도록 하겠습니다.



1. U5PVR ATV Plex 앱과 연동하기


먼저 구글 플레이 스토어로 이동하여 Plex 를 검색하여 설치합니다.




설치한 다음 앱을 시작하면 아래와 같이 로그인하라는 창이 뜹니다.


여기서 로컬로만 사용하시는 분들은 (서버에 계정 연동을 하지 않으신 분들은) 스킵을 누르시면 자동으로 찾아서 내부에 있는 Plex Media Server 로 연결이 됩니다.



아래의 코드가 주어지는데 저는 핸드폰에서 연동을 해 보았습니다.



웹에서 로그인을 하시고 연동 기기의 코드를 입력하면 연동이 됩니다.

(핸드폰 앱의 경우에는 연동을 아이디 비밀번호로 하지만 TV앱들은 다 코드로 하게 되어있네요 ㅎㅎ)


추가내용)

Plex 웹에서 로그인을 하시고 연동 기기의 코드를 입력해야 할때,

Plex 웹을 스마트폰에서 연결하여 코드 입력하시면 편리합니다.




연동이 완료되면 아래와 같이 핀 번호를 입력하는 창이 뜨고 핀 번호를 입력하면 로그인이 됩니다.


(핀 번호는 설정한 사용자만 뜹니다.)



먼저 Plex Media Server 에 트랜스코딩 부하를 주지 않기 위해서 아래의 설정을 진행합니다.


설정 - 비디오 - Remote Quality 를 Original 로 설정합니다.



로그인 해 보면 설정해 둔 미디어 라이브러리가 보입니다 ㅎㅎ



유명한 Apink 영상 재생해 보도록 하겠습니다.



무난하게 재생이 잘 됩니다만 스크린샷으로 찍으니 그냥 녹색으로만 나오네요 ㅎㅎ..



현재 DTS 는 안드로이드 미디어 코덱에 내장이 되어 있으나 이유는 모르겠지만 플렉스 미디어 서버에서 인식을 하지 못하고 있습니다.


그래서 아래의 소녀시대 영상은 오디오만 트랜스코딩이 걸립니다.



다음은 음악 재생 부분입니다. 


저는 아래의 김세정? 을 좋아하기 때문에 재생 테스트에 아래의 노래를 사용하도록 하겠습니다.



재생이 잘 되긴 합니다만 앨범아트가 뜨지는 않네요. 


플렉스 앱의 버그인지 .. 아니면 제가 무료 사용자라 그런것인지 ㅎㅎ




2. 안드로이드 폰과 연동하기


테스트에 사용된 안드로이드 폰은 아래와 같습니다.


넥서스5

스냅드래곤 800 / 2GB

안드로이드 7.1.1 (LOS 14.1)


Plex 앱을 설치하고 실행해 보았습니다. 저는 PIN 을 설정해 두어서 매일 핀이 뜹니다.




마찬가지로 서버에 트랜스코딩 부하를 주지 않기 위해서 아래의 설정을 합니다.


고급 -> 플레이어 -> 외부 플레이어 허용에 체크 합니다.




이렇게 설정을 하고 미디어를 재생해 보도록 하겠습니다.



재생을 할 때 어떤 재생기를 사용할지 물어보게 됩니다.



정상적으로 재생이 잘 됩니다.



음악의 경우 아래처럼 재생이 됩니다.



플레이어 화면으로 이동하면 크게 앨범아트를 보여주네요. ㅎㅎ




3. 윈도우 태블릿과 연동하기


마지막으로 윈도우 태블릿과 연동해 보도록 하겠습니다. 테스트에 쓰인 장비는 아래와 같습니다.


델베뉴8프로 5830

아톰 베이트레일 Z3740D / 2GB

윈도우10 RS1


마켓에 정식으로 Plex 클라이언트 앱이 있습니다.



추가해 둔 라이브러리가 정상적으로 보입니다.



테스트로 영상을 재생하려고 하면 제가 Pass 계정이 아니라서 활성화 하려면 돈을 내라고 하네요 ㅎㅎ..



테스트로 인코딩 된 영상을 재생시켜 보았습니다.



다음은 음악 라이브러리 부분입니다.



앨범아트도 정상적으로 뜨네요 ㅎㅎ



윈도우 앱 답게 볼륨과 같이 연동이 됩니다.





이렇게 U5PVR 에 저장된 미디어들을 다른 기기로 스트리밍 할 수 있습니다.


감사합니다.





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

저작자 표시 비영리 변경 금지
신고



오늘은 U5PVR 의 메인기능인 PlexMediaServer 의 초기 사용방법에 대해서 알아보겠습니다.



1. Plex Media Server 설정화면 접근하기


먼저 U5PVR 에 할당된 IP를 체크합니다. 


체크 방법은 이전 게시글을 참고해 주시길 바랍니다.


해당 아이피로 아래의 URL 로 웹브라우저에 접속합니다.



접근하게 되면 아래의 페이지가 열립니다.


로그인을 하지 않고 로컬로만 사용하실 분들은 우측 아래의 이건뭐죠? 를 눌러서 스킵하시면 됩니다. (비추천)


플렉스 계정이 있으신 분들은 로그인을 하시고 진행하시고 없으신 분들은 아래 주소로 가셔서 생성해 주시길 바랍니다.


https://www.plex.tv/sign-up/





2. Plex Media Server 초기설정 진행하기


아래처럼 로그인을 진행합니다.




원하시는 서버의 이름을 설정한 다음에 집 밖에서 사용하실 분들은 체크해 주시길 바랍니다.



다음은 미디어 라이브러리 설정 부분입니다. 

(미디어 라이브러리 설정은 Plex Pass (유료) 와 무료 계정 간 차이가 있습니다.)



지금 등록하려는 미디어를 선택하시면 됩니다.


영화 TV쇼 를 누르게 되면 PlexMediaServer 가 메타데이터를 검색해서 예고편, 줄거리, 포스터 등등을 받아 줍니다. 


저는 그냥 뮤직비디오 밖에 없기 때문에 기타 비디오를 누르고 넘어가겠습니다.



현재 추가하려는 라이브러리 이름을 입력합니다.



미디어 파일이 들어있는 곳을 선택합니다.



기본적으로 마운트 되어 있는 USB 외장하드나 SATA 디스크는 왼쪽 목록에 뜹니다. 


위치를 정해 주시면 됩니다. 



다수의 미디어 폴더를 지정하고 싶으면 '미디어 폴더 찾아보기' 를 또 눌러 추가해 줍니다.



저는 음악도 있어서 음악 라이브러리도 추가 하였습니다.



아래는 선택적으로 해주시길 바랍니다.



설정이 완료 되었습니다 !


아래에 보시면 미디어 파일을 분석중이라는 알림이 뜹니다.



분석이 진행되면서 아래처럼 섬네일이 보이기 시작합니다.





3. Plex Media Server 세부설정 하기


설정으로 이동하여 고급설정 보이기를 누릅니다.


다음으로 스트리밍 품질을 모두 원본으로 합니다.


(U5PVR 이 트랜스코딩 능력이 매우 부족하기 때문에 아래 처럼 설정을 진행합니다.)



아래처럼 특이한 경우 오디오만 트랜스코딩을 할 수 있도록 아래처럼 설정을 하고 자막의 경우 자동으로 맞춥니다.



다음은 원격접속 부분입니다.


기본적으로 Plex Media Server 는 UPNP 를 통해 공유기와 통신하여 포트를 자동으로 열어서 원격접속이 가능하게 해 줍니다만, 그에 에러가 있을 경우에 수동포트 할당으로 작업하시길 바랍니다.



이에 따른 공유기 설정은 아래와 같습니다.




4. 웹으로 접속한 Plex Media Server 둘러보기


아래 영상은 웹에서 직접 재생을 해 본 것으로


Plex Media Server 의 최적화 기능을 통해 사전 인코딩 된 영상을 재생시키는 화면입니다. 



다음은 음악 라이브러리 사진입니다.


음악 라이브러리의 경우 Plex Pass 사용자는 한글로 메타 데이터 생성이 가능하나 무료 계정은 그 기능이 없습니다만... 아래처럼 어느 정도 정리가 잘 됩니다. ㅎㅎ



웹에서 음악을 재생시키면 아래와 같이 재생이 됩니다. 




1편 초기설정하기 게시글을 마치도록 하겠습니다 



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

저작자 표시 비영리 변경 금지
신고
TAG PLEX, U5PVR




U5PVR 안드로이드TV OS & 리눅스 (Dual OS) 관련 동작 동영상

 

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

앞서 U5PVR관련 개발 협업 사항을 올려 드린 바 있습니다.



오늘 처음으로 외부에 U5PVR ATV OS기반 Linux 서버 동작 관련 내용을 공개 해 드립니다.


U5PVR 제품관련은 하기 Kodi 포럼 링크를 참조 해 주시기 바랍니다.

[Android] U5PVR (2017) (4K / HDR / 3D / HD Audio)

http://forum.kodi.tv/showthread.php?tid=305097 



초기계획은 리눅스 부팅 후, 안드로이드 부팅 연결구조로 구축을 하려고 계획을 했었습니다. 

그러나,선 리눅스 부팅 후에 안드로이드쪽 USB포트를 인식 할 수 없는 현상이 발생되어서,
어쩔 수 없이 안드로이드 선 부팅 후, 리눅스가 부팅되는 형태로 전환 개발 되었습니다.

리눅스는 안드로이드 커널을 기반에서 Shell로 동작되는 것이기 때문에,
안드로이드와 리눅스는 한몸으로 이해하시면 편할 것 같습니다. ^^





하기의 동영상에서 U5PVR에서 리눅스기반으로 동작하는 
여러가지 서버 동작 상태를 보여드리게 될 예정입니다.

오해가 있을까 하여, 
기본적으로 U5PVR 셋탑의 IP (192.168.x.x)로 설정하지 않고,
127.0.0.1의 localhost IP로 설정해서 시연하였습니다.


U5PVR with ATV/Linux(Debian) at same time




웹브라이저에서 localhost 127.0.0.1 기반 서버 동작을 먼저 셋팅해 놓았습니다.

하기 목록은 보시기 편하게 런링타임기준으로
각각의 동작 내용에 대한 설명을 간추려서 올려 놓았습니다.

1. Plex Media Server test (0:09 ~ 0:57)
127.0.0.1:32400/web/index.html

2. Transmission Server (0:58~ 1:01)
127.0.0.1:9091/transmission/web/

3.FTP Server(1:02 ~ 1:43)
ftp://127.0.0.1

4. Kodi (1::52 ~ 2:52)
script plex add-on with kodi
(Resume start)

5. TVHeadend with Kodi (2:53 ~ 3:11)

6. Live TV (eON Launcher) (3:12 ~ 3:24)
Watching TV via tuner

7. Plex client on Android TV (3:31 ~ 3:52)
Resume start

8. ATV Settings (3:57 ~ 4:10)
Setting은 ATV OS형태의 셋팅 과 기존 안드로이드 셋팅 2가지를 모두 준비 해 놓았습니다.

9. SSH Server (4:17 ~ 4:56)
My Apps - JuiceSSH App으로 SSH접속

10. ATV 추천 컨텐츠 목록 재생 (Plex) (4:57 ~ End)


U5PVR의 사용에 있어서, U5PVR 초기 설정에 서버관련 설정이 좀 필요로 됩니다만,
기본적으로 안드로이드, 리눅스서버등을 구체적으로 아실 필요는 없습니다.
일단 간단한 서버 설정을 해 놓으면, 사용자는 편리한 UI에서 그냥 컨텐츠를 선택하여 재생만 하시면 됩니다. ^^


보시고 궁금한 점이 있으면 문의사항을 댓글로 올려 주시기 바랍니다.

감사합니다.








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

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


저작자 표시 비영리 변경 금지
신고


 
Google+