rtsp 예제

설명 설명 요청에는 RTSP URL(rtsp://…) 및 처리할 수 있는 회신 데이터의 유형이 포함됩니다. 이 응답에는 일반적으로 세션 설명 프로토콜(SDP) 형식으로 된 프레젠테이션 설명이 포함됩니다. 무엇보다도 프레젠테이션 설명에는 집계 URL로 제어되는 미디어 스트림이 나열됩니다. 일반적인 경우 오디오 및 비디오에 대해 각각 하나의 미디어 스트림이 있습니다.123456789101112131411161111213141161718192020222222222C->S: rtsp://example.com/media.mp4 RTSP/1.0 CSeq: 2S->C: RTSP/1.0 200 CSq rtsp://example.com/media.mp4 콘텐츠 유형: 응용 프로그램/sdp 콘텐츠 길이: 460 m=비디오 0 RTP/AVP 96 a=컨트롤:streamid=0 a=범위:npt=0-741000 a=길이:npt=7.74100a=rtpmap:96 MP4V-ES/5544 a=mimetype:string;“ 비디오/MP4V-ES“ a=평균 비트 레이트:정수;304018 a=스트림 이름:문자열;“ 암시된 비디오 트랙“ m=오디오 0 RTP/AVP 97 a=control:streamid=1 a=범위:npt=0-712000 a=길이:npt=7.712000 a=rtpmap:97 mpeg4-일반/32000/2 a=mimetype:string;“ 오디오/mpeg4-제네릭“ a=평균비트레이트:정수;65790 a=StreamName:string;“ 암시된 오디오 트랙“ PAUSEA PAUSE 요청은 하나 또는 모든 미디어 스트림을 일시적으로 중단하므로 나중에 PLAY 요청으로 다시 시작할 수 있습니다. 요청에집계 또는 미디어 스트림 URL이 포함되어 있습니다. 일시 중지 요청의 범위 매개 변수는 일시 중지 시기를 지정합니다. 범위 매개 변수를 생략하면 일시 중지가 즉시 무기한 발생합니다.1234567C->S: 일시 중지 rtsp://example.com/media.mp4 RTSP/1.0 CSeq: 5 세션: 12345678S-C: RTSP/1.0 200 OK CSeq: 5 세션: 12345678 SETUPA 설치 요청 방법 미디어 스트림을 전송해야 합니다. PLAY 요청을 보내기 전에 이 작업을 수행해야 합니다. 요청에는 미디어 스트림 URL과 전송 지정기가 포함됩니다. 이 지정자는 일반적으로 RTP 데이터(오디오 또는 비디오)를 수신하기 위한 로컬 포트와 RTCP 데이터(메타 정보)에 대한 다른 포트를 포함합니다.

서버 회신은 일반적으로 선택한 매개 변수를 확인하고 서버의 선택한 포트와 같은 누락된 부분을 채웁니다. 각 미디어 스트림은 집계 재생 요청을 보내기 전에 SETUP을 사용하여 구성해야 합니다.12345678C->S: SETUP rtsp://example.com/media.mp4/streamid=0 RTSP/1.0 CSeq: 3 전송: RTP/AVP;유니캐스트;client_port=8000-8001S->C: RTSP/1.0 200 OK CSeq: 3 전송: RTP/AVP;unicast;client_port=8000-8001;server_port=9000-9001 세션: 12345678 호환성 단말기의 예제 목록을 보려면 여기를 클릭하십시오. 사용자가 다음과 같은 미디어 조각인 rtsp://example.com/media#track=video&track=audio%20en&t=5,20 가져오려고 한다고 가정합니다. 클라이언트는 SETUP 요청에 지정된 메커니즘을 통해 데이터 전송을 시작하기 위해 PLAY 요청을 서버로 보냅니다. Range 헤더를 사용하면 임시 조각을 해결할 수 있습니다. 이 예제에서는 초 5 ~ 20에 해당하는 비디오 데이터가 요청됩니다. 응답에는 클라이언트에 반환된 실제 시간 범위를 나타내는 Range 헤더도 포함되어 있습니다. 먼저, 안드로이드 폰에 libstreaming 앱 예제1을 설치합니다. 안드로이드 전화 주소가 192.168.10.93이라고 가정합니다. 어떻게 작동하는지 확인하기 위해, 나는 당신에게 예를 보여줍니다.

HTTP가 아파치와 Nginx 등을 가지고있는 것처럼, rtsp도 구현이 있습니다. 하지만 여기에 안드로이드에서 실행되는 간단한 RTSP 서버 구현, 즉 libstreaming을 사용하고 있습니다. 그리고 클라이언트 측 나는 텔넷을 사용하고 있습니다. 범위 헤더는 PAUSE 명령과 함께 사용할 때 시간 범위가 아닌 정확히 하나의 값을 포함해야 합니다. 위의 예에서는 15초 후에 미디어 재생이 중지됩니다.

설명 설명 요청에는 RTSP URL(rtsp://…) 및 처리할 수 있는 회신 데이터의 유형이 포함됩니다. 이 응답에는 일반적으로 세션 설명 프로토콜(SDP) 형식으로 된 프레젠테이션 설명이 포함됩니다. 무엇보다도 프레젠테이션 설명에는 집계 URL로 제어되는 미디어 스트림이 나열됩니다. 일반적인 경우 오디오 및 비디오에 대해 각각 하나의 미디어 스트림이 있습니다.123456789101112131411161111213141161718192020222222222C->S: rtsp://example.com/media.mp4 RTSP/1.0 CSeq: 2S->C: RTSP/1.0 200 CSq rtsp://example.com/media.mp4 콘텐츠 유형: 응용 […] , 2019