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

안드로이드 실시간 스트리밍 해보신분 계신가요?

0 추천
라즈베리파이 카메라에서 실시간 스트리밍으로 안드로이드 애플리케이션에 띄우려고합니다.

 

여러 테스트를 해봤는데, 일단 다윈스트리밍이나 ,wowza서버 환경구성이 라즈베리파이에서 잘 안되더군요..(라즈비안 에러발생).

 

그래서 지금 현재

 

1.vlc 로 라즈베리파이켐에서 HTTP 스트리밍 송신 . <-> 안드로이드 VLC 애플리케이션으로 수신.

 

위에 방식은 2~3s초 정도로 무난합니다. 문제는 . 커스텀으로 제가 안드로이드에서 videoview를 이용해서 동영상을 스트리밍 하려고하면, "재생할수없는 동영상입니다."라고 나옵니다.  알아보니, 롤리팝 이전과 이후에 RTSP 구조가 바꼇다고 합니다. (사실 HTTP로 스트리밍하는데 RTSP랑 뭔상관이겟거니 합니다.)

여튼, 실제로 롤리팝 이전 버젼 스마트폰에서는 HTTP 스트리밍이 되긴하지만, 15초 정도 지연되더군요..너무 느려서 써먹기가 힘들더라구요. 일단 2014년 이후 안드로이드 버젼에서도 안되고.

 

그래서 지금 제가 생각하는 방법은 VLC 오픈소스를 안드로이드 ndk를 이용해서 밑바탕으로 깔고, 필요한 소스만 제가 수정해서 사용해볼까? 하는 생각중입니다.....

그런데 사실 스트리밍하는데 너무 돌아가는거같아서.. 혹시 다른분들은 어떤 방식을 사용하셨나요?
익명사용자 님이 2016년 2월 3일 질문

1개의 답변

0 추천
통신 프로토콜이  http가 맞는건가요?  일반적인 http progress 방식이면 재생이 될텐데..

안된다고 하시는 것으로 보아서는 http기반 HLS(Http Live Streaming) , Mpeg Dash, Smooth Streaming 중 한개를 쓰시는 것으로 생각되는데요..  우선 사용하는 프로토콜을 확인 해 보시고, 타켓 단말이 4.3 이상일 경우

 VLC 보다 구글에서 공개하는 ExoPlayer를 사용해 보시는 것을 권장합니다.
익명사용자 님이 2016년 2월 3일 답변
아아 rtsp 방식으로 해봤을떄는 안되네요.. http방식은 http 소켓 열어서 넘겼을 경우에는 , vlc 모바일 미디어플레이어에서 재생은 되나 15초~20초 정도 딜레이가 걸리구요. rtsp는 vlc 모바일에서도 알수없는 아티스트로 열리질 않네요. 안드로이드로 커스텀으로 직접 videoview로 했을 경우에는, rtsp건 http건 안되는건 마찬가지긴 한데, http는 젤리빈으로 했을 경우 videoview에서 재생은 되나, 15초 딜레이가 마찬가지로 발생하고, vlc로 클라이언트 확인 경우에는 2초정도 되네요.
타켓군은 4.3이상입니다. ㅠㅠ 그런데 rtsp방식이 videoview에서 재생할수없다라고 나오고 간혹 나오긴하는데 10번시도하면 2번정도? 그 경우에는 멈춘화면상태서 화면이 바뀌질않네요. vlc 서버에서 커맨드 명령어는
cvlc v4l2:///dev/video0 --v4l2-width 640 --v4l2 height 480 --sout '#transcode{vocdec=h264, vb=0, acodec=none}:rtp{sdp=rtsp://:8554/test}' 로 설정했습니다.
Vlc말고 exoplayer 사용해서 스트리밍 서버 구성하고, 클라이언트 videoview로 받는거 시도해봐야할까요? exoplayer 쪽 알아봐야겟네요..
아니면 ndk로 vlc 포팅해서 사용해야할까요 ㅠㅋㅋㅋㅋㅋㅋ
아 VLC로 변환해서 전송하시는 것이었군요..
안드로이드 Extractor가 Streaming에 대응이 제대로 안됩니다.
MPEG2TS  컨테이너로 만들어 Http로 전송해보세요...
RTSP의 경우 안드로이드 파서가 완벽하지 않습니다만. H264 RAW로 전송하면 나오긴 하는데 SR 값과 시간 동기화를 하면서 SR 이 내려올 때까지 대기를 해서 화면이 늦게 나옵니다.
exoplayer는 RTSP를 지원하지 않으니 DataSource부분을 변경하지 않는 이상 사용이 힘들듯 하니 VLC같은 것을 사용하셔야 할 듯 합니다.
...