2017년 6월 22일 목요일

Video Streaming In Unity


Unity는 자체적으로 비디오 녹화와 재생을 지원하지 않는다.

최신 버젼에서는 재생을 더 잘하기 위한 VideoPlayer 를 제공하지만, Online Streaming에 대한 모든 기능을 포함하고 있지는 않은 듯 하다.

따라서, 유니티에서 비디오 녹화와 재생을 구현하려면, 서버뿐만 아니라, 클라이언트 사이드에서도 Native Plugin의 도움을 받아야 하며, Native Plugin에서 사용하는 Frame Buffer와의 통신과 조작을 아주 잘 해야지만 상용화 할 수 있는 수준에 도달할 수 있다.


일단, 시작하려면, 아래의 소스들이 도움이 될 것이다.

RTMP/HLS 비디오 스트리밍 서버

SRS

상용 서비스인 wowza 보다 간단하며, 완성도가 높다. config조절을 통해서 구성도 가능하며,
오픈소스이기 때문에 분석 및 개선이 가능하다.


비디오 레코딩 구현을 위한 참고 소스

yasea
LFLiveKit

RTMP 서버로 비디오 프레임을 전달하는 역할을 하는 안드로이드/iOS 소스.
버그가 있다! 하지만, 고칠 수 있다. 찾아보라 ^^
다른 것들보다 잘 작성되어 있고, 완성도가 그래도 높은 편이다.
네이티브와 유니티와 통신하는 부분을 해결하는데 시간을 많이 써야 한다.


유니티에서 비디오 재생 구현을 위한
AV Pro Video
Universal Media Player
Exo Player

요 3가지를 참고할 만하다.


Fly Messenger는 유니티상에서 비디오 녹화 및 재생을 실시간으로 하여, 상대에게 전달하는 신개념의 메신져이다. 위의 기술들을 사용했다!

설치해 보고 체험해 보셔요! ^^
http://youfly.me/