이건 뭔가?
얼마전 알리익스프레스 광군절 행사로 약 20 USD 를 주고 산 UVC ( USB Video Class ) 장치 입니다. 어떤 장치인고 하면, HDMI 로 출력되는 비디오 영상을 4K60Hz 까지 캡쳐한 영상을 실시간으로 USB 를 통해 연결된 PC 에 일반 USB camera 처럼 전달 해 주는 기능 입니다. 쉽게 말해 노트북 등에 달린 카메라와 마이크로 화면과 음성을 녹음 하는게 아니라 HDMI 로 나오고 있는 영상과 소리를 모두 카메라 영상처럼 전달 해 주는 것 이란 소리며, 이런 기능으로 엄청난 호환성을 자랑하는 기기이기도 합니다.
이 작고 저렴한 기기의 특징을 하나로 설명하는 UVC 의 경우, 이것이 광범위한 호환성을 자랑하는데, 대부분 이 기기를 통해 영상및 음성을 녹화 하려면 간단하게 어느 운영체제나 연결만 하면 된다는 이야기 입니다. 기본적으로 Windows 는 물론, Linux, MacOS, 또는 안드로이드 기기까지 OTG 로 연결만 하면 됩니다.
녹화는 간단히 OBS 라는 개인 스트리머들이 누구나 손쉽게 받아 사용할 수 있는 무료 프로그램을 사용하면 되며, 이번 테스트 역시 그런 방법을 통해서 만들어졌습니다.
OBS 로 화면이 보이는 상태
일단 이 장치는 가격이 20 USD 정도 입니다. 보통 쓸만하다는 그래버 카드들이 USB 나 PCIe 슬롯에 연결되거나 하는 걸로 ( 보통 AverMedia 제품을 많이 씁니다 ) 15만원선 입니다. 그런데 이 제품은 환율 등등 따지면 3만원 아래로 구매가 가능하다는 것이며, 전문 장비들 처럼 뛰어난 지원은 없지만, 사실 그럴 필요도 없는 기술중 하나인 UVC 를 통해서 어느 플랫폼에서나 UVC 만 지원 된다면 손쉽게 사용할 수 있기 때문에 고성능 게임을 고화질로 스트리밍 해야 하는 스트리머가 아니고서야 간단한 컨텐츠를 만드는데 더할나위 없는 제품이란 점이 가장 큰 장점이자 단점이기도 합니다.
또한 OBS 를 사용할 경우 추가적인 USB 카메라와 내/외장 마이크를 믹싱해서 영상에 소리를 추가 할 수도 있다 보니, 정말 큰돈 안들이고 게임이나 다양한 스트리머의 시작을 경험 해 볼수 있는 기기가 아닐까 합니다.
헤깔리면 안되는 점
이 제품의 스펙을 보면 4K60Hz 까지 지원 한다고 되어 있습니다. 그런데 이건 기기에 연결되는 입력과 출력이 4K60Hz 까지 지원 된다는 소리지 UVC 를 통해 영상이 4K60Hz 가 넘어 오는 것이 아닙니다.
간단히 윈도우10 부터는 내장 앱으로 있는 '카메라'를 통해 UVC 장치의 입력 제한등을 확인 해 보면 다음과 같습니다.
기본적으로 UVC 에서 들어 오는 영상 변환등을 렌더링하고 보여 주는데 약 2% CPU 가 i5-4690 기준으로 소요 됩니다. 예전엔 감당하기 힘든 수준의 해상도와 frame-rate 였겠지만 i5-4690 이 근래 나오는 PC 들에 비해서는 아주 오래전인 것을 감안 한다면 매우 낮은 CPU 사용률이라 하겠습니다.
또한 입력되는 해상도와, 처리할 수 있는 해상도는 각각 다음과 같습니다. ( 1080p 는 실제 30fps 로 동작 합니다 )
이 두가지 해상도는 각기 조합을 입력해상도를 우선으로 조정될 수 있는데, 이걸 해상도를 낮춰 녹화 하거나 할 이유는 보통 없기 때문에 최대 해상도가 1080p 60Hz 라는 것만 인지 하면 되는 점을 확인하는 것이 좋습니다. 내장 카메라앱에서는 입력 포멧이 따로 보이지는 않지만 스펙상 YUY2 와 MJPEG 을 지원 한다고 하지만, 아마 실제 USB2.0 을 쓰기 때문에 YUY2 는 높은 frame-rate 로 출력이 되지 않을 것으로 보입니다. (실제 테스트 해 본 바 1080p 엣거는 10fps 이하) 확실한 점은 60Hz 지원을 착실하게 해 주고 있다는 점 입니다 표시만 되고 1080p 에서는 실제 30Hz 로 동작한다는 점 입니다.
실제 녹화본은 어떤가?
비디오를 OBS 를 통해서 하나의 PC 에서 바로 게임을 해 보면서 녹화를 하되, 이때 하나의 PC 에서 하므로 비디오 인코딩은 GPU 가 아닌 CPU 로 해야 합니다. 고성능 GPU 를 가지고 있다면 모르겠지만 대부분 게임을 하면 GPU 는 놀고 있는 경우가 없기 때문에 두대의 서로 다른 PC 에서 게임을 하면서 캡쳐를 해서 바로 인코딩 하는 것이 아니라면 하나의 PC 에서는 CPU 에서 저사용률 옵션으로 용량은 좀 더 커지겠지만 MKV 로 녹화 해야 제대로 저장 됩니다.
실제 게임을 녹화한 MKV 컨테이너를 재생 해 보면 입력이 1080p 60Hz 로 되어 있다는 것을 확인할 수 있습니다. 비디오는 25000kbps 정도로 되어 있는 기본세팅을 그대로 사용했습니다.
추가사항:
몇가지 추가 테스트를 해 보면서 알아낸 것인데, 1080p 에서 60Hz로 데이터가 넘어 오지만, 실제는 30Hz 입니다. 즉, 한프레임씩 빠져서 들어오는 형태 입니다. 60Hz 를 쓰려면 720p 로 세팅할 경우 실제 60Hz 동작이 됩니다.
테스트에 사용된 Youtube video : https://www.youtube.com/watch?v=Cyxixzi2dgQ
다른 프로그램에 활용
이렇게 녹화한 영상은 다른 비디오 인코딩에 사용할수도 있겠지만 무료로 사용할 수 있는 최고의 프로그램 중 하나인 다빈치 리졸브에서는 MKV 를 인식 할수 없기 때문에 ffmpeg 을 이용해서 mp4 로 변환 한 다음, 영상을 만들어 보았습니다.
고사양 PC 는 아지만 렌더링 속도가 문제가 아니라 메모리가 8GB 가지고는 정상적인 인코딩을 하기가 무척 까다롭다는걸 다시 느끼는 순간 입니다. 처음엔 여러 프로그램을 실행 하면서 돌리니 메모리 부족으로 다빈치가 비정상 종료 되어 버리는 경우 까지 봤는데, 정말 프로그램은 무료지만 저사양 PC 에서는 자비롭지 못한 모습을 보여 줍니다.
샘플 비디오
Rullz 4K60Hz 를 통해 녹화한 비디오를 다시 다빈치에서 가져와서 인코딩한 결과를 유튜브에 올리고 여기에 다시 공유 해 보았습니다. 안타깝게도 MKV 녹화본과 달리 ffmpeg 에서 변환 하는 와중에 화질저화가 발생하고, 다빈치가 30Hz 만 처리할 수 있기 때문에 많은 부분이 손실 되었지만 거의 600MB 가 넘는 비디오를 직접 올릴수는 없기 때문에 여러 요소를 고려해서 해당 비디오를 확인 해 보시기 바랍니다.
원본 MKV 비디오 캡쳐 샘플
유튜브에 올라간 비디오가 화질저하가 너무 심해 원본 MKV 비디오재생 하면서 몇장 샘플을 올립니다. 실제 MKV 에서는 꽤 수준급으로 녹화됩니다. 특히 암부표현이 화질저하가 심한 유튜브 영상과 비교하면 차이가 꽤 있음을 아실 수 있습니다.
결론
대 스트리밍 시대, 많은 개인들이 이젠 누구나 스트리머가 될 수 있는 세상 입니다. 바보상자라 불리던 TV 보다는 유튜브를 더 많이 보는 세상에 돌입 한 만큼, 누구나 개인이 좋아하는 것으로 영상을 만들수 있는 장치 중 게임을 주된 영상으로 만드는 사용자라면 이 저렴하고 은근 성능이 좋은 ( 화질은 최고라 할 수 없습니다만 ) 제품으로 영상을 만들기 까지는 가능 합니다.
다만, 여기서 놓치면 안되는 점이 HDMI 영상이 복제 되면서 캡쳐를 하는 PC 에 도달하는 데 걸리는 지연이 약 1초 정도 됩니다. 좀 더 좋은 PC 를 사용하면 어느정도 차이를 줄일수도 있을지 모르지만, 하나의 PC 에서 현재 화면을 다시 보는 과정을 거치면 약 0.2~0.5초정도의 움직임 차가 발생 합니다. 이런 경우는 고가의 제품을 사용해야 한다는 의미라 실시간 스트리밍을 하는 사용자들에겐 어울리지 않는 제품 이라 하겠습니다. 하지만 간단히 편집을 해서 따로 영상을 만들어 올리는 취미 정도의 스트리머에겐 3만원 안으로 즐겁게 뭔가 해 볼 재미있는 제품이 되기도 하겠습니다.
추가 테스트에 따른 업데이트:
60Hz 에 대한 몇가지 테스트를 해 보았습니다만, 1080p 에서는 실제 30Hz 만 넘어오는 듯 합니다. 혹시 USB3.0 케이블을 연결해서 대역폭이 올라가면 좀 달라질지는 미지수 입니다만, 60Hz 에 대한 영상을 얻으시려면 실제는 720p 로 세팅을 해야 할 것으로 보입니다. 그럼에도 1080p 에서 30Hz 영상 녹화는 꽤 매력적인 부분이 아닐까 합니다.