RTSP를 통해 미디어 데이터를 제공 할 수있는 IP 카메라가 있습니다.RTSP에서 스트림 데이터 가져 오기
미디어 데이터를 가져 오는 응용 프로그램을 개발합니다.
저는 C++과 Qt3을 사용합니다.
소켓을 만듭니다. 포트 = 554에있는 내 장치 IP에 연결하십시오.
나는 첫 번째 쿼리를
SETUP rtsp://192.168.4.160/ufirststream RTSP/1.0\r\n CSeq: 1\r\n Transport: RTP/AVP; client_port=554\r\n\r\n
을하고 대답을 얻을 : 나는 점점 세션 값을 구문 분석
RTSP/1.0 200 OK CSeq: 1 Date: Sat, Mar 24 2012 17:24:59 GMT Transport: RTP/AVP;unicast;destination=192.168.4.186;source=192.168.4.160;client_port=0-1;server_port=2000-2001 Session: 413F4DDB
을하고, 다음 질의 수행
PLAY rtsp://192.168.4.160/ufirststream RTSP/1.0 CSeq: 1 Session: 413F4DDB
그리고 서버는 말합니다를 :
RTSP/1.0 200 OK CSeq: 1 Date: Sat, Mar 24 2012 17:25:02 GMT Session: 413F4DDB RTP-Info: url=rtsp://192.168.4.160/ufirststream/track1;seq=6716;rtptime=406936711
그리고 어떻게 미디어 데이터를 얻을 수 있습니까 ??? PLAY-method를 사용하면 서버에서 스트림을 제공한다고 생각했지만 rtsp 및 기타 정보에 대한 URL 만 제공합니다. ...
카메라의 이진 스트림이 필요합니다. 다음 단계에 대한 조언을 제공 할 수 있습니까? ??
이전에 설정 한 port1에 바인드 된 서버 소켓을 만들어야합니까? 아니면 클라이언트 소켓을 만들고 클라이언트 port1을 사용하여 서버에 연결해야합니까 ?? – mmmaaak
@mmmaaak 서버 소켓이 아니라'QSocketDevice :: Datagram' 타입의'QSocketDevice'입니다. 서버에 연결할 필요가 없으므로 소켓을 바인드하여 UDP 포트를 해제하면됩니다. – alexisdm