반응형


00. 링크


[DVR] 집에서 놀고 있는 컴퓨터로 DVR을 만들어보자 #1

[DVR] 집에서 놀고 있는 컴퓨터로 DVR을 만들어보자 #2 - V4L2로 스트리밍 하기

[DVR] 집에서 놀고 있는 컴퓨터로 DVR을 만들어보자 #3 - RTSP 클라이언트 <= (현재글)

[DVR] 집에서 놀고 있는 컴퓨터로 DVR을 만들어보자 #4 - CVLC 자동실행

[DVR] 집에서 놀고 있는 컴퓨터로 DVR을 만들어보자 #5 - DDNS와 Port Forwarding 설정

[DVR] 집에서 놀고 있는 컴퓨터로 DVR을 만들어보자 #6 - ffmpeg와 crontab을 이용한 녹화 기능 구현

[DVR] 집에서 놀고 있는 컴퓨터로 DVR을 만들어보자 #7 - 녹화 영상에 시간 넣기




01. 개요



스트리밍 영상을 제공하는 방법을 알았다면, 제공 받는 방법도 알아야 한다. 2편에서 V4L2와 CVLC를 이용하여 스트리밍 서버 구성을 완료 하였다. RTSP 서버 구성 방법을 자세히 알고 싶으신 분들은 1편2편을 먼저 참고하기 바란다.

본 포스팅에서는 VLC Player(컴퓨터)와 DafangCam - RTSP Player(안드로이드 모바일)을 이용하여 RTSP 영상을 재생하는 방법에 대해서 소개하려고 한다.

DVR 시스템까지는 필요 없고, 실시간 영상 확인 정도만 필요하다면, RTSP를 지원하는 ipCam 을 설치한 후 본 포스팅을 참고하면 된다.


02. 윈도우 기반에서 RTSP 영상 재생 방법



RTSP 영상은 RTSP 클라이언트 프로그램과, RTSP URL 정도만 알고 있다면 간단히 재생할 수 있다. 윈도우 기반의 RTSP 클라이언트 프로그램은 대표적으로 VLC 플레이어를 사용하면 된다. VLC 플레이어는 
http://www.videolan.org/ 홈페이지에서 다운로드 받을 수 있다.

[그림1] VLC media player 홈페이지[그림1] VLC media player 홈페이지


videolan.org 에 접속을 하게 되면 VLC 를 다운로드 받을 수 있는데, 자신의 운영체제에 맞게 다운로드를 받으면 된다.




[그림2] VLC 실행 후 RTSP 영상 재생하기 #1[그림2] VLC 실행 후 RTSP 영상 재생하기 #1


다운로드 받은 VLC 플레이어를 설치하고, 실행을 한다. 미디어 -> 네트워크 스트림 열기 를 클릭한다.


[그림3] VLC 실행 후 RTSP 영상 재생하기 #2[그림3] VLC 실행 후 RTSP 영상 재생하기 #2


[그림3]은 RTSP 주소를 설정하는 화면이다. RTSP 주소는 2편에서 실행한 cvlc 파라미터에서 확인할 수 있다. [그림3]의 하단부 터미널 화면을 보게 되면 마지막에 rtsp://:8554/test.sdp 부분이 있다. 이 부분을 서버의 ip 와 조합하여, rtsp://192.168.219.112:8554/test.sdp 라는 URL을 완성시키고, VLC 화면의 네트워크 주소 입력부에 입력을 한 후 재생을 누른다. 만약, RTSP를 지원하는 ipCAM 을 설치한 사용자라면, 보안이 설정된 URL 을 완성시켜야 한다. 보안이 설정된 URL 의 형식(ipCAM에서 id 와 password를 설정이 완료된 상태여야 한다.)은 다음과 같다.

rtsp://ID:Password@IP:Port/Path


[그림4] VLC 플레이어에서 RTSP 영상이 재생되는 화면[그림4] VLC 플레이어에서 RTSP 영상이 재생되는 화면


[그림4] 와 같이 VLC 플레이어에서 정상적으로 RTSP 영상이 재생되면 끝이다.




03. 안드로이드 기반에서 RTSP 영상 재생 방법



통신이 발달됨에 따라 대한민국에서는 스마트폰 하나만 있으면 언제 어디서든지 인터넷을 사용할 수 있게 되었다. 스마트폰에서 인터넷이 된다는 의미는 컴퓨터로 볼 수 있는 RTSP 영상을 스마트폰으로도 볼 수 있다는 것이다. 스마트폰에서 RTSP 영상을 보기 위해서는 컴퓨터(윈도우기반)에서 RTSP 영상을 재생 시켰던 것과 동일하게 RTSP 클라이언트 앱을 설치하면 된다.

필자는 안드로이드 기반의 스마트폰을 사용하고 있기 때문에 안드로이드에서 사용 가능한 RTSP 앱을 소개하려고 한다. iOS 기반의 스마트폰(아이폰) 유저들은 iOS 용 RTSP 플레이어를 설치한 후 URL 설정만 잘 하면 동일하게 RTSP 영상을 재생시킬 수 있을 것이다.

필자가 선택한, RTSP 플레이어는 DafangCam - RTSP Player 라는 앱이다. 필자가 DafangCam 앱을 선택한 이유는 무료 앱이면서 광고가 없는 앱이다. 또한, 화면 회전을 지원하여 가로 화면으로 영상을 확인할 수 있는 장점이 있다.

[그림5] DafangCam - RTSP Player 설치[그림5] DafangCam - RTSP Player 설치


플레이스토어에서 DafangCam 을 검색하여 설치를 진행한다.


[그림6] DafangCam - RTSP Player 설정 #1[그림6] DafangCam - RTSP Player 설정 #1




DafangCam - RTSP Player 를 실행하고 우측 하단에 + 버튼을 눌러 CAM을 등록(RTSP URL 등록)한다.


[그림7] DafangCam - RTSP Player 설정 #2[그림7] DafangCam - RTSP Player 설정 #2


캠 이름을 설정하고 RTSP URL 을 입력한 후 UPDATE 버튼을 누른다.

[그림8] DafangCam - RTSP Player 에서 영상 재생 화면[그림8] DafangCam - RTSP Player 에서 영상 재생 화면


추가된 캠을 선택하면, [그림8]과 같이 영상이 재생된다.


04. 마무리



본 포스팅에서는 RTSP 영상을 재생하는 방법에 대해서 확인해 보았다. 알고나면 쉬운 과정이지만, RTSP 영상을 재생하는 방법에 대해 모르고 있었다면 생각보다 많은 시간을 사용해야하는 부분 중에 하나이다. 특히 모바일에서 RTSP 영상을 재생하는 앱을 찾기 위해서는 여러 앱을 설치해 가면서 나에게 맞는 앱을 선택해야 하는데, 필자가 소개한 DafangCam 앱인 경우 간편하면서도 많은 장점을 가지고 있는 앱이다.




RTSP 영상을 확인하는 방법까지 알았지만, 여기서 큰 문제점이 한 가지가 있다. 바로 내부 네트워크 상에서만 실시간 영상을 확인할 수 있다는 것이다. 다음 편에서는 공유기에서 DDNS 설정을 통해 외부에서도 영상을 확인할 수 있는 방법에 대해서 소개하려고 한다.

1편 링크 : ([DVR] 집에서 놀고 있는 컴퓨터로 DVR을 만들어보자 #1)

2편 링크 : ([DVR] 집에서 놀고 있는 컴퓨터로 DVR을 만들어보자 #2 - V4L2로 스트리밍 하기)

4편 링크 : ([DVR] 집에서 놀고 있는 컴퓨터로 DVR을 만들어보자 #4 - CVLC 자동실행)

5편 링크 : ([DVR] 집에서 놀고 있는 컴퓨터로 DVR을 만들어보자 #5 - DDNS와 Port Forwarding 설정)

6편 링크 : ([DVR] 집에서 놀고 있는 컴퓨터로 DVR을 만들어보자 #6 - ffmpeg와 crontab을 이용한 녹화 기능 구현)

7편 링크 : ([DVR] 집에서 놀고 있는 컴퓨터로 DVR을 만들어보자 #7 - 녹화 영상에 시간 넣기)


2018년 11월 28일
Kunttang


반응형
블로그 이미지

매깡

- 각종 문의는 메일로 해주세요. 메일: soriel01@nate.com

,
반응형






01. 원격데스크톱



윈도우를 사용함에 있어 항상 느끼는 고민거리 중 하나가 작업의 연속성이다. 작업의 연속성이란 내가 컴퓨터에서 작업하던 것을 스마트폰에서 바로 이어할 수 있고, 다른 컴퓨터에서 다시 이어할 수 있는 것을 말한다. APPLE사의 환경은 그러한 것들이 잘 되어있다. iCloud 와 애플만의 연속성을 지원하는 플랫폼이 모든 것을 다 알아서 해 준다. MS에서도 이런 것을 인식했는지, 윈도우 8부터는 MS 계정에 로그인을 할 수 있도록 하여 모양은 어느 컴퓨터에서든 동일하게 만들어 준다. 하지만, 계정을 통한 동기화는 MS 의 제품들에 한정되어있고 오히려 동기화가 컴퓨터 사용환경을 방해하는 모습을 보이기도 한다.


그래서 필자는 연속성이 필요한 작업이 있는 경우 원격데스크톱을 이용한다. 노트북이나 휴대폰이 VPN 서버에 연결을 하고, 내부 네트웍으로 윈도우 PC에 RDP 로 접근을 하여 작업을 진행하고 있다. 대표적인 것이 블로그 포스팅 작업과 컴퓨터 견적 작업이다.


원격 데스크톱을 처음 접한 것은 Windows XP 시절 대학교 연구실에서이다. 필자의 대학생 시절에는 교수님 연구실에 소속되어 별도로 공부하곤 하였다. 각 연구실 마다 외부에서 접속 가능한 공인아이피가 몇 개 씩 주어졌었는데 필자는 이 아이피를 컴퓨터에 설정하고, 원격데스크톱이란 것을 설정하였었다. 그리하여 언제든지 수업 과제를 진행할 수 있었고, 연구실 프로젝트에 대한 코드를 작성할 수 있었다. 참으로 신세계였다. 외부에서 항상 동일한 환경을 사용할 수 있다는 것은 작업 능률을 엄청 올릴 수 있었다.




하지만 여기서도 많은 문제가 있었는데 원격데스크톱은 2가지 큰 단점을 가지고 있었다.


첫 번째로는 네트워크 상황에 따라 성능 차이가 심했다는 것이다. 대학생 시절, 남들 보다 신기한 것을 먼저 해보고 싶었던 마음에 넷스팟이라는 KT 무선 인터넷과 노트북을 사용하고 있었다. 대학 캠퍼스 내에는 넷스팟이 전부 지원되는 공간이라 넷스팟 월 정액은 아깝지 않은 금액이었다. 하지만 넷스팟의 인터넷 속도는 원격데스크톱을 부드럽게 쓰기에는 많이 느렸다. 그래서 효과라던지 표현 색상에 대한 설정을 저사양으로 설정하고 사용해야만 간신히 작업을 할 수 있는 수준이었다.


두 번째로는 네트워크 상황이 좋다 하더라도, 그래픽 성능이 엄청 떨어졌다. 동영상 플레이를 할 수 없는 것은 물론이고, 작업 중 마우스 스크롤을 많이 쓰는 작업을 하기라도 한다면, 화면 깨짐 및 딜레이가 엄청났다.



[그림1] 원격데스크톱 연결 프로그램(mstsc)



기술의 발달로 RDP의 버전도 올라가고, 인터넷 속도도 기하급수적으로 빨라졌다. 이젠 원격데스크톱이 실 사용 가능할 만큼 되었다. 하지만, 여전히 그래픽 가속이 필요한 부분에서는 답답함을 느끼게 된다. 이는 RDP 호스트에서 보내는 영상 데이터를 온전히 RDP Client 에서 처리를 해야 하기 때문이다. 따라서 패킷도 많아지고, Client의 부담도 늘어나게 된다. 호스트에 아무리 비싸고 성능 좋은 그래픽카드를 장착하여도 원격데스크톱을 이용할 경우 그래픽 카드의 성능을 1%도 사용할 수 없다.





[그림2] 원격 데스크톱 클라이언트의 옵션타협설정 화면






02. 원격데스크톱도 네이티브 컴퓨터처럼 사용할 수 있을까?



그래픽 성능만 제외한다면, 원격데스크톱의 성능은 수준급이다. 호스트의 성능을 그대로 사용할 수 있을 정도이다. 그럼 그래픽 성능만 해결하면된다. 다행히도 이러한 갈증을 해결해 줄 수 있는 기술이 있다. 바로 remoteFX 이다.



[그림3] Wikipedia 의 RemoteFX 설명 (출처: https://en.wikipedia.org/wiki/RemoteFX)



RemoteFX 기술이 무엇인지를 가장 손쉽게 다가갈 수 있는 Wikipedia에서 찾아 보았다. 일단, MS에서 개발한 것은 맞다. RDP를 위한 향상된 Visual Experience에 대한 기술이다. Windows Server 2008 R2 SP1 에서 최초 소개가 되었다고 한다. 설명만 읽어보게 되면 RDP 의 그래픽 성능을 향상시킬 수 있을 것으로 보인다.


 




[영상1] RemoteFX를 이용한 게임 플레이 영상



성능이 얼마나 좋을지 RemoteFX 를 활용한 영상을 유튜브에서 찾아 보았다. 3년전 영상이긴 하지만, RDP에 RemoteFX 기술을 적용하니, 게임플레이까지 가능하고, 실행 수준에 머문 것이 아니라 심지어 게임을 즐길 수 까지 있는 수준이다. 정말 필자가 원하던 그림이 나오기 시작한다.




03. RemoteFX의 조건



[그림4] Wikipedia 의 RemoteFX 요구사항 (출처: https://en.wikipedia.org/wiki/RemoteFX)



RemoteFX를 사용하기 위한 조건을 살펴본다. 일단 Windows 10 은 Version 1511 부터 지원을 한다고 한다. 현재 Windows 10 RS4 버전이 1803이니, 현재 버전이면 충분히 지원 가능한 조건이다. 그런데, client Hyper-V 라는 부분이 있다. 아무래도 Virtual Machine 상에서 지원이 가능한 것으로 보인다. 네이티브로 쉽게 설정될 수 있는 부분은 아닌 것으로 보인다.




vGPU Requirement 부분을 살펴보면 조금 더 명확해 진다. Hyper-V 는 호스트에 설치가 되어있어야 하는 필수조건이다. 그리고 Hyper-V 상의 VM 에서 동작을 한다고 한다. 역시 RemoteFX는 가상화 솔루션의 일부였다. 이 말의 의미는 결국 Windows 10 호스트 PC에 Hyper-V 를 이용한 VM 을 생성하고, 그 VM이 RemoteFX 기술을 사용한다는 것이다.


추가 조건을 살펴보니, DirectX 11.0 을 지원하는 그래픽 카드에 WDDM 1.2 드라이버가 서버에 설치 되어 있어야 한다. 즉, 호스트 PC 가 서버가 되는 것이고, 그 호스트 PC에는 DirectX 11.0 을 지원하는 그래픽카드가 장착되어있고, WDDM 1.2 이상의 드라이버로 구동되고 있어야 한다는 의미이다. 그 호스트 PC에 Hyper-V를 이용하여 VM 을 만들게 되면 호스트 PC의 GPU 자원을 remoteFX 기술을 이용하여 활용할 수 있다는 의미이다.




04. 조건을 알았으니, 충족하는지를 확인해 보자



필자가 RDP 용으로 사용하고 있는 서버는 필자의 메인 노트북인 Lenovo E440 모델이다. 평소에 최대 절전모드로 진입해 있고, RDP 사용이 필요할 경우 Wake On Lan 을 통한 Magic Packet으로 깨운다음 RDP 로 접근하여 사용하고 있다. Lenovo E440 모델은 Intel(R) HD Graphics 4600 내장그래픽과 Nvidia Geforce 840M 이라는 외장 그래픽이 장착되어 있다. 사실 노트북으로 게임을 하지 않으니, 지금까지의 외장그래픽은 무용지물이었다.


[그림5] Lenovo E440 그래픽 사양



드디어 GeForce 840M 이 빛을 보는 순간이 오는 것인가? 드라이버도 확인해 보았다. 이미 2016년 이후에 출시된 840M 드라이버들은 WDDM 2.1 을 지원하는 드라이버였다.


그럼 DirectX 11 이상을 지원하는 지 확인하면 된다.





[그림6] Nvidia 공식 홈페이지 840M 특징 설명 (출처: https://www.nvidia.co.kr/object/geforce-840m-kr.html)





05. 이제부터 시작이다.



기술을 알았고, 그 기술에 대한 범위를 알았다. 준비물도 준비가 되었다. 준비물이 기술에 대한 준비가 되었는지도 확인이되었다. 이제 시작만 하면 된다. 


어떤 기술들은 시작과 동시에 적용이 끝날 만큼 설정이 쉽다. 어떤 기술들은 가이드 대로 하면, 까다롭긴 하지만 순조롭게 진행이 된다. 최악의 경우는 간단할 것 같아 시작했지만 생각지도 않은 문제가 튀어나올 경우이다. 


이번 RemoteFX 역시 그러한 기술이 있다 정도만 듣고 정보를 수집해 본 것이다. 정보를 수집하면서 가상환경을 이용해야 한다는 것을 처음 알았고, 그 가상 환경은 Hyper-V 를 이용해야한다는 것이다. RDP 서버에서 remoteFX 를 지원하게 설정한 다음에는 remoteFX를 지원하는 RDP Client 를 선정해야 할 것이다. 윈도우 사용자라면 윈도우에 포함되어 있는 RDP 클라이언트(mstsc)를 사용하면 되겠지만, 리눅스 사용자 또는 안드로이드 사용자는 어떻게 할 것인가?




정보를 찾아보니, 리눅스와 안드로이드 모두 정답에 근접한 솔루션이 있다.(아이폰은 확인해 보지 못했다.)


일단 시작하는 단계이니 차근차근 호스트 설정부터 해본다. 2부에서 계속 진행하기로 한다.





2018년 8월 22일

Kunttang


반응형
블로그 이미지

매깡

- 각종 문의는 메일로 해주세요. 메일: soriel01@nate.com

,
반응형
안녕하세요.

건탱이 입니다.

현재 제가 사용하고 있는 휴대폰은 V10 입니다.

워낙 기계를 아껴 사용하는 편이어서 2년가까이 사용을 하였지만,

생활 기스 조차도 없습니다.

아무리 아껴 사용을 하여도 V10의 고질적인 문제인 무한 재부팅 현상은 피해갈수가 없더군요.

휴대폰으로 인터넷을 하고 있는데 갑자기 LG 로고가 뜨면서 무한재부팅..

엄청 당황스러웠습니다.



그래도.. 검색을 해 보니 1년 지난 휴대폰도 무한재부팅 현상이 발생하면, G4와 V10은 무상 수리더군요.

정말 다행이라고 생각이 들었습니다.

바로 동탄 서비스센터로 향했지만, 부품이 없어서 수리를 못하였지요..

임대폰도 없다고 하고...

한동안 어머니께서 사용하시던 갤럭시 그랜드2로 버텼습니다.

추석이 지나고 어느날 V10 부품이 도착하였다하여, 퇴근 후 냉큼 달려갔습니다.

부품을 교환하고, 액정까지 새걸로 교환하였지요.

사실 불량화소가 있는 액정으로 인해 액정을 수리 받은지 1년이 채 안되었는데, 이번 메인보드 교환을 진행하면서 액정의 멍이 발견된 것입니다.

그래서, 무상 수리로 액정까지 교환을 할 수 있었던 것이지요..

전원을 켜는 순간 뚜둥... 새폰이 되었습니다.

요즘 핸드폰을 바꾸고 싶은 마음도 없는데.. 끝까지 한번 써보자라는 생각이 들더군요..

그래서, 남들 다 있는 무선충전을 V10에 적용해 보기로 결심했습니다.

사실 V10은 백커버만 무선충전 커버로 교환해 주면 무선충전이 가능하지만,

무선충전 백커버를 한국에서는 판매를 하지 않지요..

그래서 패치를 구입하여 백커버에 무선충전 기능을 활성화 시켜주는 작업을 진행해 보았습니다.





패치가 플라스틱 커버에 잘 포장되어 도착을 했네요.

아무래도, 약한 재질이다 보니, 플라스틱 커버를 사용한 것 같습니다.

일단 패치를 플라스틱 커버에서 꺼내주었습니다.





함께 동봉되어 있던 무선충전 적용 방법을 대충 읽어봤습니다.

항상 무슨 작업에 앞서 메뉴얼을 꼼꼼히 읽어봐야 하지만...

설레임에 참을 수 없는 경우가 많습니다.

그래도 이번 작업은 별로 어려운 작업이 아니니.. 대충 읽어봤습니다.

다행히 큰 문제는 발생하지 않았지요.

그럼 작업을 시작해 보겠습니다.

일단 핸드폰에서 백커버를 분리 합니다.



저 백커버에 붙어있는 하얀색 필름이 NFC 안테나 입니다.

새로 구입한 패치는 NFC 안테나와 무선충전 코일이 함께 있는 제품입니다.

즉, 기존 패치를 제거하고 새로운 패치를 적용 시키는 작업이지요.





설명서에는, 기존 패치를 잘 제거하라고 되어있습니다.

이물질이 남게되면 새로 구입한 패치의 고정이 되지 않기 때문이라고 하더군요.

그래서.. 준비했습니다.

헤어드라이기..

어짜피 기존 패치도 양면테이프로 붙어 있을테니.. 열을 살짝 가하면 분명 깔끔히 제거될 것이기 때문이지요.

제 예상은 적중하였습니다.

깔끔히 제거가 되었지요..




패치를 제거하고 나니, 백커버에 네임펜인지.. 매직인지는 모를 펜으로 LG라고 손글씨가 적혀있네요. 

허허.. 작업자가 장난 친 것일까요??

암튼 끈끈이 하나 남지 않고 말끔하게 제거가 완료되었습니다.



새로 구입한 패치를 커버에 대어보았습니다.

커버에서 볼록 튀어나온 부분을 패치의 구멍에 잘 맞춰 주시면,

기존 위치 그대로 붙일 수 있습니다.



짠.. 하고 패치를 붙였네요.

그렇게 어렵지 않습니다.

현재 LG 폰 중에서 무선 충전을 추가할 수 있는 폰은 LG G2, G3, G3 Cat6, G4, V10 입니다.

분명, 무선 충전 스펙을 넣었는데도 불구하고, 왜 무선 충전 기능에 대해서는 언급을 하지 않을까요?

그리고, 저 패치 얼마나한다고 추가를 안해줬을까요?

솔직히 좀 의문 입니다.



LG가 삼성보다 먼저 폰에 무선 충전 기능을 넣은 것으로 알고 있는데..

정말 마케팅 부족인 것으로 보입니다.

암튼, 약정기간이 많이 남았거나 별 불편함 없이 충전을 하고 싶으신분들은, 한번 도전해 보세요.

알리익스프레스에도 무선 충전 패치를 팔고 있답니다.(정말 저렴한 가격에요..)

참고로 저는 아다요코리아의 람다 무선 패치를 구입하였습니다.

실제 사용해 보니 너무 좋습니다.

강추해 드립니다.

끝 !!


반응형
블로그 이미지

매깡

- 각종 문의는 메일로 해주세요. 메일: soriel01@nate.com

,