2011-03-28 2 views
0

DSS를 사용하는 서버에서 rtsp 스트림을 재생하기 위해 Android 앱을 개발 중입니다. 대부분의 경우 작동하지만 때로는 제대로 작동하지 않을 수도 있습니다. wireshark로 테스트 한 결과, UDP 요청이 계속 전송되지만 응답이 없으며 방화벽이 UDP 패킷을 차단했다는 것을 알 수 있습니다. VLC를 사용하여 동일한 RTSP 스트림을 열 때 TCP를 사용하는 RTP 응답을받습니다.Android : TCP를 사용하여 Darwin Streaming Server (DSS)에서 스트림 받기

지금은 방화벽 상태를 변경할 수 없기 때문에 TCP를 사용하여 RTSP 스트림을 수신하도록 앱을 변경하고 싶습니다. MediaPlayer/VideoView를 사용하여 빌드 할 수 없습니다. 그럼 내가 어떻게 할 수 있니?

제안 사항?

미리 감사드립니다. 볼튼

답변

0

(가) 내장 된 미디어 플레이어를 지원하지 않습니다, 당신은 당신의 자신의 RTSP 클라이언트를 구현해야하는 경우와 RTSP 설정 요청에

, 당신은 전송로 TCP를 지정해야합니다.

표준 RTSP 설정 :

트랙 1 :

SETUP rtsp://146.64.28.137/TheItCrowd.mm1/track1 RTSP/1.0 
CSeq: 3 
Transport: RTP/AVP;unicast;client_port=4116-4117 
User-Agent: openRtsp (LIVE555 Streaming Media v2010.04.09) 

트랙 2 :

트라 : RTSP/TCP를 통해 인터리브에 대한

SETUP rtsp://146.64.28.137/TheItCrowd.mm1/track2 RTSP/1.0 
CSeq: 4 
Transport: RTP/AVP;unicast;client_port=4118-4119 
Session: 6B8B4567 
User-Agent: openRtsp (LIVE555 Streaming Media v2010.04.09) 

RTSP 설정 CK1 :

SETUP rtsp://146.64.28.137/TheItCrowd.mm1/track1 RTSP/1.0 
CSeq: 3 
Transport: RTP/AVP/TCP;unicast;interleaved=0-1 
User-Agent: openRtsp (LIVE555 Streaming Media v2010.04.09) 

트랙 2 : 당신의 도움 랄프에 대한

SETUP rtsp://146.64.28.137/TheItCrowd.mm1/track2 RTSP/1.0 
CSeq: 4 
Transport: RTP/AVP/TCP;unicast;interleaved=2-3 
Session: 35B9387A 
User-Agent: openRtsp (LIVE555 Streaming Media v2010.04.09) 
+0

감사합니다 당신에게,하지만 난 당신이 자습서처럼, 나에게 그것에 대해 좀 더 상세한 제안을하시기 바랍니다 수는 RTSP 문제를 잘 알고 아니에요 또는 내가 배울 수있는 기존 라이브러리 : P – Bolton

+0

RTSP는 SIP와 같은 세션 제어 프로토콜이며 스트리밍 세션을 설정하는 데 사용됩니다. 이것은 텍스트 기반 프로토콜이라는 점에서 HTTP와 유사합니다. RTSP에서 읽을 수있는 가장 좋은 곳은 RFC : http://tools.ietf.org/html/rfc2326입니다. 기존의 라이브러리에 관해서는, 훌륭한 C++ 하나 (http://www.live555.com)가 있지만, JAVA에 관해서는 전혀 모른다. live555에는 openRTSP라는 RTSP 클라이언트 응용 프로그램이 들어 있습니다. 이를 사용하여 DSS 서버에 연결하고 wireshark와 같은 소프트웨어를 사용하여 RTSP 트래픽을 탐지 할 수 있습니다. 이것은 당신이 교환을 이해하는 데 도움이 될 것입니다 – Ralf

+0

감사합니다 랄프, 도움이됩니다. 나는 그것으로 볼 것이다 :) – Bolton

관련 문제