Swifter {Swift Developer}

메뉴

GoPro4 6대로 YouTube에서 360도 VR 생방송하기

Swift언어와는 크게 상관없지만, 최근 VR프로젝트를 진행하면서 VR촬영카메라를 구입하기에는 너무나도 고가인지라 직접 만들어 사용하기로 하고 그에 따른 레퍼런스를 남기고자 정리해본다. 총 6대의 GoPro Hero4를 사용하여 실시간으로 6개의 영상을 합쳐서(스티치) 360도 VR영상을 생방송하는 방법을 소개한다.

장비 만들기

  • 촬영카메라: GoPro Hero4 6대

라이브 영상을 HDMI로 출력하며 FullHD(1920×1080) * 6개의 화면을 연결해서 맞추면 360 ° VR영상을 만든다.

gopro4-vr1

  • 컴퓨터: 비디오카드와 CPU가 중요

비디오카드는 고성능으로 준비해야 하며, Nvidia GeForce그래픽카드중 3GB이상의 메모리를 내장한 카드를 선택하기 바란다. 단, ATI및 Intel Graphics내장그래픽은 사용하지 못한다. CPU의 경우 Core i7-6700을추천하고 GoPro 6대의 영상을 입력받을 수 있는 캡쳐보드를 추가해야 한다. 여기서 사용한 비디오 캡쳐보드는 BlackmagicDesign DeckLink Quad2인데 이 보드는 SDI입력만 가능하기 때문에 GoPro의 HDMI출력을 SDI로 변환해야 한다. 만약 HDMI입력이 가능한 비디오캡쳐보드라면 문제가 없지만 카메라와 PC간의 거리가 10m이상인 경우 HDMI는 표준기준으로 보면 전송상에 문제가 있기 떄문에 SDI(BNC동축케이블)로 사용했다. 단, SDI규격은 100m까지는 문제가 없었고 실제 서비스테스트시 18m이상 넘어가면 GoPro의 영상신호출력이 낮아서 그런지 영상이 전달되지 않았다.

gopro4-vr2

  • 기타 장비

카메라 영상을 SDI로 변환하는 변환기를 GoPro 6대 별로 준비해야 한다. (Blackmagic Micro Converter HDMI to SDI) 집음이어폰과 앰프 및 오디오 믹서(Roland 마이크이어폰, 마이크앰프, Behringer Xenyx 302USB믹서),

  • 소프트웨어

VideoStitch Vahana VR(Live) : 6대의 GoPro카메라 영상을 실시간으로 합치고 VR영상으로 변환하여 실시간으로 전달하기 위한 소프트웨어로 사용해본 결과 카메라와 카메라 사이의 영상이 위화감없이 맞추는 처리가 예술이다.

  • 네트워크

광케이블기반(최대 40Mbps정도 나옴)으로 구성했으며 1440p, 60fps로 전송하기 위해 최소 15Mbps가 가능하게 하기 위해 20~30Mbps정도 속도를 가진 회선을 고려했다.

  • 구성도

gopro-vr-live-hw-flow

gopro4-vr3

생방송 설정하기

Vahana VR 사이트에 공개되어 있는 설정방법을 보고 따라한 것이기 때문에 참고한다.

  • GoPro : 모든 카메라의 전원을 켜고 비디오 촬영상태로 두고 비디오모드는 16:9로 기본설정되어 있는 경우 위아래가 짤려서 나오고 영상들을 합칠때 이음새가 안좋기때문에 4:3으로 변경한다.
  • Vahana VR(Live)

다운로드: http://www.video-stitch.com/live-vr/

Trial을 다운로드 받는다. 평가판이라고 해도 VideoStich로고가 화면에 보이는 것뺴고는 크게 제약이 없다. 마음에 드신다면 구입하셔도 좋지만 가격이 생각보다 비싸다. ($2,195)

1-프로그램 시작하기

va1

2-Project만들기

오른쪽이 New Project를 클릭한다. (만약 이미 만든 프로젝트가 있는 경우 만들어진 프로젝트는 왼쪽에 나열된다)

va2

프로젝트명을 입력한다

va3

3-영상입력을 선택하기

Blackmagic 제품을 이용하기 때문에 Blackmagic DeckLink를 선택한다.

va4

6대의 카메라가 연결되어 있기 때문에 6개를 모두 체크한다. 그 아래에 옵션으로 [Enable Audio]를 체크하고 오른쪽 하단에 있는 저장버튼을 눌러 저장한다.

va5

4-영상을 서로 연결하기

입력설정이 완료되면 6개의 화면이 표시된다.

va6

화면 오른쪽에 있는 inputs info를 클릭하면 각 화면별 오른쪽 위에 있는 트리밍 아이콘을 클릭한다. 좌우가 까만부분을 없애주고 left 0->240, right 1920->1680으로 설정하고 오른쪽 하단 체크표시를 클릭한다.

va7

왼쪽 메뉴의 Configuration의 Panorama설정에서 출력해상도를 설정한다. YouTube는 1440p(2K, 라이브방송기준)으로 전송하기때문에 폭을 맞춘다. 폭을 2560, 세로폭은 너비의 1/2로 설정하기 때문에 1280으로 한다. 참고로 너비가 2560이 아니면 YouTube는 이를 1440p로 처리해주지 않는다.va8

오른쪽 Calibration을 클릭하여 모두 맞춘다. 초단위로 설정하는 부분이 있지만 0초라도 대부분 잘된다. 하지만 연결된 부분이 변경될 경우 20초로 설정한다.

va9

va10

합쳐진 느낌은 아래와 같다.

va11

5-색감 설정

GoPro설정화면에서 색감을 조절한다.

va12

왼쪽메뉴의 Configration의 Exposure라는 설정이 있다.

va14

Off되어 있는 것은 On으로 하고 Exposure설정을 사용할 수 있게 된다. 하지만 개별 설정이 실행되지 않는 것으로 보여진다. (개인적으로는 GoPro에서 노출부분을 조절하는걸 추천한다)

va15

6-가로길이와 세로길이 조절

Panorama화면에서 오른쪽 Orientation을 클릭후 화면을 위아래로 드래그하여 화면가운데 왜곡을 잡아주어 가운데 가로축이 수평이 되도록 한다. 좌우를 드래그하면 정면에 오도록 화면위치를 이동할 수 있다.

va16

오른쪽의 Grid를 추가한다.

va17

완성되었다.

va18

YouTube 라이브 만들기

1-라이브 이벤트 만들기

YouTube 라이브 이벤트를 만든다. 브라우저에서 Youtube를 접속하고 로그인한 상태에서 [크리에이티브 스튜디오]를 선택한다. 왼쪽메뉴에서 [실시간 스트리밍]-[이벤트]를 선택하고 [실시간 이벤트 만들기]버튼을 클릭한다.

vr-youtube1

이벤트명과 전송시간설정을 하고, [유형]에서 [맞춤설정]을 선택한다.

vr-youtube2

[고급 설정]탭을 선택하고 설정 옵션중에서 “360 ° 동영상”의 [360 ° 실시간 동영상]을 체크한후, 우측 상단의 [일정 만들기]버튼을 클릭하여 이벤트를 저장한다.

vr-youtube3

이벤트가 저장되면서 기본카메라의 “인코더의 최대 전송률 선택”에서 “기본 처리” [6~13Mbps(1440p)]를 선택하고 “인코더 선택”은 [다른 인코드]를 선택한다.

vr-youtube4

“라이브 관제실”로 이동하여 양상이 전송되는 것을 기다린다.

vr-youtube5

Vahana VR(Live) 소프트웨어

Youtube설정이 완료되면 Vahana VR(Live)프로그램을 다시 실행하고 왼쪽메뉴에서 [Outputs]을 클릭한다.

va19

[+ Add a new Output]을 클릭한다.

va20

3번째 항목의 [YouTube]를 클릭하고 [Add a Google Account]라고 나오면 구글계정으로 로그인하여 Vahana VR과 YouTube를 연동한다.

va21

YouTube로그인이 되면 앞에서 만들었던 라이브 이벤트가 표시되면 해당 이벤트를 클릭한다.

va22

전송 설정을 변경하자. Bitrate를 올리자. 테스트에서는 24000kbps로 했다. 중요한 것은 여러분이 구성한 네트워크 구성에 따라 이 설정은 유동적이다. 마지막으로 오른쪽 하단 저장 아이콘을 클릭한다.

va23

Panorama화면으로 되돌아가서 오른쪽 위에 있는 YouTube아이콘을 클릭하면 웹브라우저에 열러 있는 유튜브 사이트에 라이브 관제실에서 스트리밍 시작을 통해 방송이 시작된다. (약 영상처리하는데 1분정도 소요되므로 주의하자)

va24

사용자는 스마트폰의 YouTube앱을 실행하고 라이브방송중 페이지를 방문하여 스마트폰을 기울이거나 손가락으로 화면을 터치하면 360도 화면이 움직이는지를 확인할 수 있다. 실제 보이는 방향과 배경이 VR로 보는 방향가 일치하지 않는 경우에는 앞에서 설명한 Orientation의 설정화면을 좌우로 이동시켜 맞춘다.

다만 영상화질은 360도 전방위로 2K 화질을 전송하기 때문에 시야각 범위는 대체로 SD화질정도로만 된다. 더 꺠끗하고 현장감이 있는 영상을 위해서는 하드웨어 인프라 및 소프트웨어적인 부분도 업그레이드해야 된다.

참고로 YouTube 360 ° 실시간 스트리밍은 4K지원이 안되고 있지만 조만간 지원할 것으로 보여지고 Vahana VR은 NVIDA GeForce GTX 1080을 지원하지 않고 있다. GoPro보다 더 고성능 및 고화질을 제공하는 카메라가 필요한데 6대를 준비하려면 상당한 자금이 필요하며 전송률을 올리기 위해서는 업링크가 더 빠른 네트워크를 구성해야 한다.

앞으로 유튜브 뿐만 아니라, 아프리카TV 및 네이버영상에서도 실시간 스트리밍에 연결에 VR을 지원할 경우 이 방법을 참고하기 위해 테스트해본 것이며 VR에 관심있는 분들에게 도움이 되길 바란다.

Facebook Comments

카테고리:   잡담

댓글

죄송하지만 댓글은 닫혀 있습니다.