마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드에서 Live Streaming 관련 개발방향 여쭙겠습니다!

0 추천
현재 android 핸드폰에서 액션캠과 와이파이로 접속후

내부IP 만 가진 Action Cam에서 영상을 rtsp 나 http를 통해 android 로 스트리밍 받고 있습니다.

이 영상을 저장하지 않고 동시에 LTE망을 이용하여 wowza 스트리밍 서버로 리스트리밍 하는것을 개발중인데

 

개발 방향 부터 잡기가 쉽지 않습니다..

 

Android 핸드폰에서 영상 데이터를 추출해서 wowza 스트리밍 서버로 넘겨줘야 하는건지,

 

그렇다면 영상을 추출할 수 있는 방법은 어떤건지,

 

그게 아니라면 패킷을 portForwording 해야 할지, relay 해야 하는건지 도통 감이 잡히지 않네요.

 

wowza 서버로 스트리밍하기위해 libStreaming, ExoPlayer, Gocoder 를 봐봤지만 해답을 찾지 못했습니다.

 

혹시 스트리밍 관련 개발을 해보신분이 계시다면 어떤방향으로 개발을 진행해야 할지

 

답변 부탁드리겠습니다!!ㅜ
Godora (150 포인트) 님이 2018년 2월 7일 질문

1개의 답변

0 추천
 
채택된 답변

 RTSP Proxy Server 쪽을 알아보시는게 좋을 듯 하네요.

RTSP 서버는  live555 를 보통 쓰는데, 참조 해보세요.

 

익명사용자 님이 2018년 2월 8일 답변
Godora님이 2018년 2월 9일 채택됨
답변 정말 감사합니다. 그런데 혹시 RTSP Proxy Server 쪽을 알아보라는 이유를 알수 있을까요? Proxy Server를 써야할 이유를 잘 모르겠어서요ㅜ
영상을 추출할 수 있는 방법은 어떤건지
=>
 RTSP Extractor(ex ffmpeg )를 사용하여 H264 NAL을 뽑을 순 있습니다만,
영상을 폰에서도 보여주면 몰라도 보여주지 않을거면 굳이 영상 데이터를 추출 할 필요가 없을 것으로 보이네요..

패킷을 portForwording 해야 할지, relay 해야 하는건지 도통 감이 잡히지 않네요.
=> 이 기능을 proxy server에서 수행합니다.
RTSP는 interleaved 방식을 쓰는 경우도 있긴 하지만 보통 tcp control port와 udp data port로 이루어져 있는데, action cam에서 port를 고정하여 특정 포트만 보내긴 하겠지만 port를 랜덤 배정하는 단말이면 portForwording 이 불가능하죠, 패킷 relay 만 해도 재생하는데는 큰 문제는 없을 듯 한데,
 서버 쪽에서 내려주는 제어 명령 등을 처리하려면 프록시 서버를 두는게  나을 듯 해서 proxy server를 알아보라고 말씀 드린 것입니다.
자세한 답변 감사합니다! Proxy server 쪽으로 보니 방향이 좀 보이는것 같아요. 그런데 저희는 안드로이드 폰에서도 영상을 보여줘야 하는데, 안드로이드가 Client 역할도 하면서 Proxy server 역할도 같이 하는데 무리가 없을까요?
안드로이드 폰에서도 영상을 보여줘야 한다면 영상 로우 데이터를 추출해서 wowza 서버로 리스트리밍 하는것이 나을까요, 아니면 말씀하셨듣이 클라이언트와 Proxy server 를 같이 구현해서 Relay 를 하는것이 나을까요.
어떤 방법이 더 나은 방법인지 조언부탁드립니다!
안드로이드가 Client 역할도 하면서 Proxy server 역할도 같이 하는데 무리가 없을까요?
=> 액션캠의 영상 포멧이 어떠냐(해상도가 4K면 버거울수 있습니다.)에 따라 달라지겠지만, 성능 자체는 큰 이슈가 없을 듯 합니다.
안드로이드 폰에서도 영상을 보여줘야 한다면 영상 로우 데이터를 추출해서 wowza 서버로 리스트리밍 하는것이 나을까요, 아니면 말씀하셨듣이 클라이언트와 Proxy server 를 같이 구현해서 Relay 를 하는것이 나을까요.
=> 어느쪽이든 상관없겠지만...  추출해서 전송하려면, 추출 코드, 재생코드. 전송 코드를 짜야 할텐데,
 프록시 서버를 구축하는 방식으로 할 경우,  connection을 2개 받을 수 있게 해서 wowza server와 폰의 mediaplayer 같은데서 데이터를 받아가게 하는 방식이면 되는지라. 후자가 간단은 할 듯 합니다.
제대로 하실려면 전자도 나쁘지 않구요..
답변 정말정말 감사합니다!! 정말 많은 도움이 되었어요!
...