내 연락처 정보
우편메소피아@프로톤메일.com
2024-07-08
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀
🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C 、数据结构、音视频🍭
🤣本文内容🤣:🍭介绍RTSP协议 🍭
😎金句分享😎:🍭你不能选择最好的,但最好的会来选择你——泰戈尔🍭
⏰출시시간⏰: 2024-07-06 12:22:00
이 글은 무단으로 퍼갈 수 없습니다! ! !
RTSP, 전체 이름 Real Time Streaming Protocol
실시간 스트리밍 프로토콜(Real-Time Streaming Protocol)은 TCP/IP 프로토콜 시스템의 애플리케이션 계층 프로토콜로 컬럼비아 대학, 넷스케이프, 리얼네트웍스가 제출한 IETF RFC 표준이다.
RTSP 프로토콜에 관한 공식 문서는 RFC2326입니다. 문서 링크는 다음과 같습니다.RFC2326-실시간 스트리밍 프로토콜(RTSP)。
RTSP 프로토콜의 구문과 작동이 참조됩니다. HTTP/1.1
, ISO10646 문자 집합과 UTF-8 인코딩을 사용하는 텍스트 기반 프로토콜이며 RTSP를 전달하는 전송 계층 프로토콜은 다음과 같습니다.TCP
, 기본 포트554
; RTSP-over-HTTP 터널링인 경우 기본 TCP 포트는 일반적으로 RTP/RTCP 프로토콜과 함께 사용되며 RTP 프로토콜은 실시간 스트림 데이터를 전송하고 RTCP 프로토콜은 데이터 스트림 전송을 완료합니다. 제어 명령.
RTP 프로토콜: 전체 이름
Real-time Transport Protocol
실시간 전송 프로토콜인 는 IETF의 멀티미디어 전송 작업 그룹이 1996년 RFC 1889에서 발표했습니다. RTP 프로토콜은 인터넷을 통해 오디오 및 비디오를 전달하기 위한 표준 패킷 형식을 자세히 설명합니다. UDP 프로토콜을 기반으로 구축되었습니다.
RTCP 프로토콜: 전체 이름
Real-time Transport Control Protocol
, RTP와 함께 사용되는 실시간 전송 제어 프로토콜. RTP는 짝수 번호의 UDP 포트를 사용하고, RTCP는 홀수 번호의 포트인 RTP의 다음 포트를 사용합니다. RTCP와 RTP는 함께 작동하며 RTP는 실제 데이터 전송을 구현하고 RTCP는 세션의 모든 사람에게 제어 패킷을 보내는 역할을 담당합니다. 주요 기능은 RTP가 제공하는 서비스 품질에 대한 피드백을 제공하는 것입니다.
RTSP 프로토콜과 HTTP 프로토콜의 차이점:
RTSP는 상태 저장형이며 해당 명령은 항상 순서대로 전송되며 한 명령은 항상 다른 명령보다 먼저 전송되어야 할 수도 있습니다. HTTP는 상태 비저장입니다. 프로토콜이 명령을 보낸 후에는 연결이 끊어지고 명령 간에 종속성이 없습니다.
rtsp 프로토콜은 포트 554를 사용하고 http는 포트 80을 사용합니다.
RTSP 요청은 서버와 클라이언트 모두에서 보낼 수 있지만 HTTP 요청은 클라이언트에서만 보낼 수 있습니다.
일반적으로 사용되는 RTSP 방법에는 OPTIONS, DESCRIBE, SETUP, PLAY, PAUSE, TEARDOWN, ANNOUNCE, GET_PARAMETER 및 SET_PARAMETER 등이 포함됩니다. 자세한 사용방법은 다음과 같습니다.
OPTIONS
: 클라이언트는 서버가 지원하는 메소드를 서버로부터 획득한다. 서버 상태에는 영향을 미치지 않습니다.DESCRIBE
: 클라이언트는 서버로부터 URL로 지정된 미디어 객체에 대한 설명을 얻습니다.Accept
필드는 설명 형식을 지정합니다.SETUP
: 클라이언트는 서버에 세션 설정 및 전송 준비를 요청합니다. 요청 정보에는 주로 전송 프로토콜과 클라이언트의 포트 번호가 포함됩니다.PLAY
: 클라이언트는 SETUP에 지정된 메커니즘을 사용하여 데이터 전송을 시작하도록 서버에 적극적으로 알립니다.~에Range
필드는 재생의 시작 및 종료 시간을 지정합니다(실시간 스트림 범위는 일반적으로Range: npt=0.000-
), 여러 PLAY 요청이 도착하면 서버는 PLAY 요청을 대기열에 추가하고 순차적으로 실행합니다. 즉, 두 번째 PLAY 메시지를 계속 처리하기 전에 첫 번째 PLAY 시간이 완료될 때까지 기다려야 합니다.PAUSE
: 클라이언트가 서버의 미디어 스트리밍을 일시적으로 중단하도록 요청합니다.합격할 수 있다Range
매개변수는 지정된 시점에서 일시중지되거나 일시중지할 스트림을 지정할 수 있습니다. 예를 들어 일시중지할 오디오 스트림을 지정하면 재생이 조용해집니다.RECORD
: RECORD는 이전 설명에 따라 클라이언트가 미디어 데이터 녹화를 시작함을 서버에 알립니다. ~에timestamp
필드에는 시작 및 종료 시간(UTC)이 반영됩니다. 이 필드가 없으면 미디어 설명의 시작 또는 종료 시간이 사용됩니다. 세션이 이미 시작된 경우 녹화가 즉시 시작됩니다.request-URI
다음 또는 다른 URI. 서버가 요청-URI를 사용하지 않는 경우 응답은 201(생성됨)이어야 하며 요청 상태를 설명하고 새 리소스를 참조하는 엔터티 및 위치 헤더를 포함해야 합니다.TEARDOWN
: 클라이언트는 지정된 URL 스트림 전송을 중지하고 관련 리소스를 해제하도록 요청합니다.REDIRECT
: 요청을 리디렉션하려면 서버는 클라이언트에게 다른 서버 위치에 연결해야 한다고 알립니다. 여기에는 클라이언트가 이 URL을 요청해야 함을 나타내는 필수 Location 헤더가 포함되어 있습니다. 여기에는 리디렉션이 적용될 시기를 나타내는 매개변수 Range가 포함될 수 있습니다. 클라이언트가 이 URI에 대한 미디어를 계속 보내거나 받으려면 클라이언트는 현재 세션에 대한 TEARDOWN 요청을 발행하고 지정된 호스트의 새 세션에 대한 SETUP을 발행해야 합니다.ANNOUNCE
: 클라이언트가 서버에 전송할 때 이는 요청 URL로 식별되는 프리젠테이션 설명 또는 미디어 객체를 서버에 제출하는 것을 의미합니다.GET_PARAMETER
:GET_PARAMETER는 URI에 지정된 표현이나 스트림에 대한 매개변수 값을 검색하기 위한 요청입니다. 응답 및 응답의 내용은 구현에 달려 있습니다. 엔터티 본문이 없는 GET_PARAMETER를 사용하여 클라이언트 또는 서버의 활성 상태("ping")를 테스트할 수 있습니다.SET_PARAMETER
: 데모 또는 URL 지정 스트림의 매개변수 값을 설정하도록 요청하는 메소드입니다. 요청에는 클라이언트가 특정 요청이 실패한 이유를 결정할 수 있도록 하는 단일 매개변수만 포함되어야 합니다. 요청에 여러 매개변수가 포함된 경우 모든 매개변수를 성공적으로 설정할 수 있으며 서버는 이 요청에 대해서만 조치를 취해야 합니다. 서버는 매개변수가 동일한 값으로 반복적으로 설정되도록 허용해야 하지만 매개변수 값을 변경해서는 안 됩니다. 참고: 미디어 스트리밍 매개변수는 SETUP 명령을 사용하여 설정해야 합니다. 방화벽에서는 설정 전송 매개변수를 SETUP으로 제한하는 것이 좋습니다.위에서 소개한 RTSP 방식은 총 11가지이며, 그 중SETUP
、PLAY
、TEARDOWN
RTSP 프로세스에는 세 가지 명령이 필요하며 다른 방법은 필요하지 않습니다.그리고ANNOUNCE
、GET_PARAMETER
、SET_PARAMETER
세 가지 명령은 클라이언트에서 서버로 전송되거나 서버에서 클라이언트로 전송될 수 있습니다.
RTSP에는 요청 메시지와 응답 메시지라는 두 가지 유형의 메시지가 있습니다. 요청 메시지는 클라이언트에서 서버로 보내는 요청 메시지를 의미하고, 응답 메시지는 서버에서 클라이언트로 보내는 응답을 의미합니다.
RTSP 요청 메시지는 요청 라인, 요청 헤더, 요청 본문의 세 부분으로 구성됩니다. 그 중 요청 라인은 필수이며, 요청 헤더와 요청 본문은 상황에 따라 선택 사항입니다.
rn
)마치다.方法
: 위에서 소개한 RTSP 방식입니다. OPTIONS, DESCRIBE, SETUP, PLAY, PAUSE, TEARDOWN 등을 포함합니다.请求URI
: 운용할 미디어 자원을 식별하며, 일반적으로 rtsp://example.com/path/to/stream 형식입니다.协议版本
: 일반적으로 요청이 따르는 RTSP 프로토콜 버전을 나타냅니다.RTSP/1.0
또는RTSP/2.0
。OPTIONS rtsp://192.168.3.225:554/wbc RTSP/1.0
CSeq: 2
User-Agent: LibVLC/3.0.19 (LIVE555 Streaming Media v2016.11.28)
RTSP 요청 메시지는 상태 줄, 응답 헤더, 응답 본문의 세 부분으로 구성됩니다. 그 중 상태 라인은 필수이며, 응답 헤더와 응답 본문은 상황에 따라 선택 사항입니다.
协议版本
: 응답이 따르는 RTSP 프로토콜 버전을 나타냅니다(일반적으로 RTSP/1.0 또는 RTSP/2.0).状态码
: 요청 처리 결과를 나타내는 데 사용되는 200, 401, 500 등과 같은 세 자리 숫자입니다. 첫 번째 숫자는 응답 범주를 나타냅니다. 2xx는 성공을 나타내고, 4xx는 클라이언트 오류를 나타내고, 5xx는 서버 오류를 나타냅니다.状态文本
: OK, Unauthorized 등과 같은 해당 상태 코드의 구체적인 의미를 설명하는 간단한 텍스트 설명입니다.RTSP/1.0 200 OK
CSeq: 2
Date: Wed, Feb 04 1970 03:25:10 GMT
Public: OPTIONS, DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE, GET_PARAMETER, SET_PARAMETER
v=0
o=- 8913478 1 IN IP4 192.168.3.91
s=LIVE555 Streaming Media v2016.07.19
i=1080
t=0 0
a=tool:LIVE555 Streaming Media v2016.07.19
a=type:broadcast
a=control:*
a=range:npt=0-
a=x-qt-text-nam:LIVE555 Streaming Media v2016.07.19
a=x-qt-text-inf:1080
m=video 0 RTP/AVP 96
c=IN IP4 0.0.0.0
b=AS:5000
a=rtpmap:96 H264/90000
a=fmtp:96 packetization-mode=1;profile-level-id=64002A;sprop-parameter-sets=Z2QAKq2EAQwgCGEAQwgCGEAQwgCEO1A8ARPyoA==,aO48sA==
a=control:track1
m=audio 0 RTP/AVP 97
c=IN IP4 0.0.0.0
b=AS:768
a=rtpmap:97 PCMA/48000/2
a=control:track2
RTSP 메시지의 응답 헤더에는 몇 가지 필드가 포함됩니다. 다음은 일반적으로 사용되는 필드입니다.
SETUP
응답에서 선택하면 클라이언트가 세션 ID를 얻으면 세션에 대한 향후 작업 요청 메시지에 세션 ID가 포함됩니다. 예: Session: 4581E0AE;Wireshark를 사용하여 RTSP 스트리밍 미디어의 네트워크 패킷을 캡처하면 일반적인 프로세스는 다음과 같습니다.
1. 클라이언트가 보냅니다.OPTIONS
방법, 서버 응답;
2. 클라이언트가 전송합니다.DESCRIBE
방법, 서버 응답;
3. 클라이언트가 전송합니다.SETUP
방법, 서버 응답;
2. 클라이언트가 전송합니다.PLAY
방법, 서버 응답;
2. 클라이언트가 전송합니다.TEARDOWN
방법, 서버 응답;
전체 흐름 패킷은 다음과 같습니다.
OPTIONS rtsp://192.168.3.225:554/wbc RTSP/1.0
CSeq: 2
User-Agent: LibVLC/3.0.19 (LIVE555 Streaming Media v2016.11.28)
RTSP/1.0 200 OK
CSeq: 2
Date: Wed, Jul 03 2024 14:42:11 GMT
Public: OPTIONS, DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE, GET_PARAMETER, SET_PARAMETER
DESCRIBE rtsp://192.168.3.225:554/wbc RTSP/1.0
CSeq: 3
User-Agent: LibVLC/3.0.19 (LIVE555 Streaming Media v2016.11.28)
Accept: application/sdp
RTSP/1.0 200 OK
CSeq: 3
Date: Wed, Jul 03 2024 14:42:11 GMT
Content-Base: rtsp://192.168.3.225/wbc/
Content-Type: application/sdp
Content-Length: 472
v=0
o=- 1720014950032000 1 IN IP4 192.168.3.225
s=LIVE555 Streaming Media v2016.07.19
i=wbc
t=0 0
a=tool:LIVE555 Streaming Media v2016.07.19
a=type:broadcast
a=control:*
a=range:npt=0-
a=x-qt-text-nam:LIVE555 Streaming Media v2016.07.19
a=x-qt-text-inf:wbc
m=video 0 RTP/AVP 96
c=IN IP4 0.0.0.0
b=AS:5000
a=rtpmap:96 H264/90000
a=fmtp:96 packetization-mode=1;profile-level-id=640029;sprop-parameter-sets=Z2QAKawsaoHgCJ WbgoCCgQ=,aO4xshs=
a=control:track1
SETUP rtsp://192.168.3.225/wbc/track1 RTSP/1.0
CSeq: 4
User-Agent: LibVLC/3.0.19 (LIVE555 Streaming Media v2016.11.28)
Transport: RTP/AVP;unicast;client_port=55320-55321
RTSP/1.0 200 OK
CSeq: 4
Date: Wed, Jul 03 2024 14:42:11 GMT
Transport: RTP/AVP;unicast;destination=192.168.2.180;source=192.168.3.225;client_port=55320-55321;server_port=6970-6971
Session: 4581E0AE;timeout=65
PLAY rtsp://192.168.3.225/wbc/ RTSP/1.0
CSeq: 5
User-Agent: LibVLC/3.0.19 (LIVE555 Streaming Media v2016.11.28)
Session: 4581E0AE
Range: npt=0.000-
RTSP/1.0 200 OK
CSeq: 5
Date: Wed, Jul 03 2024 14:42:11 GMT
Range: npt=0.000-
Session: 4581E0AE
RTP-Info: url=rtsp://192.168.3.225/wbc/track1;seq=7880;rtptime=3548171463
TEARDOWN rtsp://192.168.3.225/wbc/ RTSP/1.0
CSeq: 6
User-Agent: LibVLC/3.0.19 (LIVE555 Streaming Media v2016.11.28)
Session: 4581E0AE
RTSP/1.0 200 OK
CSeq: 6
Date: Wed, Jul 03 2024 14:42:19 GMT
다음은 이전 메시지에서 사용된 각 RTSP 방법과 응답을 분석합니다.
서버에서 사용 가능한 메서드를 가져옵니다.
클라이언트는 OPTIONS 메소드를 보내고 다음을 사용합니다.CSeq
요청 시퀀스 번호를 지정하려면 다음을 사용하세요.User-Agent
자신의 대리인을 식별합니다.
서버는 다음을 사용하여 요청에 응답합니다.CSeq
어떤 요청이 응답되고 있는지 표시하려면 다음을 사용하세요.Date
날짜를 지정하고,Public
제공되는 방법을 지정합니다.
서버에서 가져오기rtsp://192.168.3.225:554/wbc
미디어 객체에 대한 설명, 여기서Accept
필드는 설명 형식을 지정합니다.
클라이언트는 DESCRIBE 메소드를 보내고 다음을 사용합니다.CSeq
요청 시퀀스 번호를 지정하려면 다음을 사용하세요.User-Agent
귀하의 대리인을 식별하고,Accept
필드는 설명 형식을 SDP로 지정합니다.
서버는 다음을 사용하여 이 요청에 응답합니다. CSeq
어떤 요청이 응답되고 있는지 표시하려면 다음을 사용하세요.Date
날짜를 지정하고,Content-Type
콘텐츠 유형이 SDP임을 나타냅니다.Content-Length
콘텐츠 길이를 지정하세요.
알아채다:
1. 사용자 이름과 비밀번호가 필요한 일부 경우 서버는 인증을 위해 DESCRIBE 방법을 처리합니다. Authorization 인증 정보가 전달되지 않거나 인증에 실패하면 서버는 오류 번호 401과 함께 응답을 반환합니다. 클라이언트는 401 응답을 받으면 알려진 사용자 인증 정보를 기반으로 Authorization을 생성하고 설명을 다시 보내야 합니다. 인증이 성공하면 서버는 SDP를 담은 응답 정보를 반환한다.
2. 서버에서 반환된 SDP 정보는 이후 기사에서 분석됩니다.
클라이언트는 서버에 세션을 설정하고 전송을 준비하도록 요청합니다. 요청 정보에는 주로 전송 프로토콜과 클라이언트의 포트 번호가 포함됩니다.
클라이언트는 SETUP 메소드를 보내고 다음을 사용합니다.CSeq
요청 시퀀스 번호를 지정하려면 다음을 사용하세요.User-Agent
귀하의 대리인을 식별하고,Transport
필드는 허용되는 전송 프로토콜 RTP/AVP 및 포트를 지정합니다(여기서 RTP 포트는 55320이고 RTCP 포트는 55321입니다).
서버는 다음을 사용하여 이 요청에 응답합니다. CSeq
어떤 요청이 응답되고 있는지 표시하려면 다음을 사용하세요.Date
날짜를 지정하고,Transport
전송 프로토콜 RTP/AVP, 대상 주소, 소스 주소, 클라이언트 포트(RTP는 55320, RTCP는 55321), 서버 포트(RTP는 6970, RTCP는 6971)를 지정합니다.Session
세션 ID를 지정합니다.
알아채다:
이 예에서는 RTP가 UDP 프로토콜을 통해 전송되는 경우도 있고, TCP를 통해 전송되는 경우도 있습니다.Transport
분야는 다양합니다. 다음과 같을 수 있습니다.
客户端请求:Transport: RTP/AVP/TCP;unicast;interleaved=0-1
服务器响应:Transport: RTP/AVP/TCP;unicast;interleaved=0-1;ssrc=24e4e500;mode="play"
RTP/AVP/TCP
RTP 스트림이 TCP를 통해 전송됨을 나타냅니다. 이 값이 나타나면 메시지에 client_port 필드가 없음을 나타냅니다.
interleaved=0-1
RTP streamid=0을 식별하는 streamid를 나타냅니다.
코드 스트림이 TCP를 통해 전송되면 RTSP와 TCP 링크를 공유하므로 RTP, RTCP 및 RTSP 프로토콜을 구별하기 위해 TCPHEAD 헤더 식별자를 추가해야 합니다. 여기서는 헤더 필드가 사용되며 tcphead는 4단어 섹션이며 형식은 다음과 같습니다.
| magic number | channel number | embedded data length | data |
magic number
: 1바이트, 고정0x24
, 문자입니다$
, 전송되는 데이터가 rtsp 프로토콜이 아님을 나타냅니다.
channel number
: 1바이트, 채널 ID, 앞서 언급한 스트림 ID인 스트림 유형을 식별합니다.
embedded data length
: 스트림 길이를 나타내는 2바이트
data
: RTP/RTCP 패킷 데이터를 나타냅니다.
클라이언트는 SETUP에 지정된 메커니즘을 사용하여 데이터 전송을 시작하도록 서버에 적극적으로 알립니다.
클라이언트는 PLAY 메소드를 보내고 다음을 사용합니다.CSeq
요청 시퀀스 번호를 지정하려면 다음을 사용하세요.User-Agent
귀하의 대리인을 식별하고,Session
필드는 세션 ID를 지정합니다.Range
필드는 재생 시작 및 종료 시간을 지정합니다.
서버는 다음을 사용하여 이 요청에 응답합니다. CSeq
어떤 요청에 응답하는지 표시합니다.Date
날짜를 지정하십시오;Range
필드는 재생 시작 및 종료 시간을 지정합니다.Session
필드는 세션 ID를 지정합니다.RTP-Info
이 필드는 첫 번째 RTP 패킷의 seq 및 rtptime과 같은 전송될 코드 스트림의 RTP 정보를 설명합니다. 클라이언트는 이 필드를 기반으로 역다중화를 수행할 수 있습니다.
클라이언트는 지정된 URL 스트림 전송을 중지하고 관련 리소스를 해제하도록 요청합니다.
클라이언트는 TEARDOWN 메소드를 보내고 다음을 사용합니다.CSeq
요청 시퀀스 번호를 지정하려면 다음을 사용하세요.User-Agent
귀하의 대리인을 식별하고,Session
필드는 세션 ID를 지정합니다.
서버는 다음을 사용하여 이 요청에 응답합니다. CSeq
어떤 요청에 응답하는지 표시합니다.Date
날짜를 지정하세요.
RTSP 응답 내용에는 일반적으로 3자리 정수 응답 코드와 이유 문구가 포함되어 있습니다. 이 문구의 목적은 상태 코드에 대한 짧은 텍스트 설명을 제공하는 것입니다. 클라이언트는 이유 문구를 확인하거나 표시할 필요가 없습니다. 응답 코드의 첫 번째 숫자의 차이에 따라 다음과 같은 5가지 범주로 나눌 수 있습니다.
물론 RTSP 오류 코드와 RTSP 방법은 밀접한 관련이 있습니다. 일부 오류는 특정 방법에서만 발생할 수 있습니다. 자세한 오류 코드 정보는 다음과 같습니다.
에러 코드 | 이유 문구 | 응답 방법 |
---|---|---|
100 | 계속하다 | 모두 |
200 | 성공 | 모두 |
201 | 만들어진 | 기록 |
250 | 저장 공간 부족 | 기록 |
300 | 다중 선택 | 모두 |
301 | 영구적으로 이동됨 | 모두 |
302 | 일시적으로 이동됨 | 모두 |
303 | 다른 것을 보세요 | 모두 |
305 | 프록시 사용 | 모두 |
400 | 잘못된 요청 | 모두 |
401 | 허가받지 않음 | 모두 |
402 | 지불이 필요합니다 | 모두 |
403 | 금지됨 | 모두 |
404 | 찾을 수 없음 | 모두 |
405 | 비 허가 된 방식 | 모두 |
406 | 받아 드릴 수없는 | 모두 |
407 | 프록시 인증이 필요합니다 | 모두 |
408 | 요청 시간 초과 | 모두 |
410 | 다 쓴 | 모두 |
411 | 필요한 길이 | 모두 |
412 | 전제 조건 실패 설명 | 설정 |
413 | 요청 엔터티가 너무 큽니다 | 모두 |
414 | 요청 URI가 너무 깁니다 | 모두 |
415 | 지원되지 않는 미디어 유형 | 모두 |
451 | 잘못된 매개 변수 | 설정 |
452 | 불법 회의 식별자 | 설정 |
453 | 대역폭이 충분하지 않습니다 | 설정 |
454 | 세션을 찾을 수 없습니다 | 모두 |
455 | 이 상태에서는 메서드가 유효하지 않습니다. | 모두 |
456 | 헤더 필드가 유효하지 않습니다 | 모두 |
457 | 잘못된 범위 | 놀다 |
458 | 매개변수는 읽기 전용입니다 | 매개변수 설정 |
459 | 집계 작업이 허용되지 않습니다. | 모두 |
460 | 집계 작업만 허용됨 | 모두 |
461 | 지원되지 않는 운송 | 모두 |
462 | 목적지 도달 불가 | 모두 |
500 | 인터넷 서버 오류 | 모두 |
501 | 구현되지 않음 | 모두 |
502 | 나쁜 게이트웨이 | 모두 |
503 | 서비스 이용 불가 | 모두 |
504 | 게이트웨이 시간 초과 | 모두 |
505 | RTSP 버전이 지원되지 않습니다 | 모두 |
551 | 옵션이 지원되지 않습니다 | 모두 |
如果文章有帮助的话,点赞👍、收藏⭐,支持一波,谢谢 😁😁😁
인용하다:
실시간 스트리밍 프로토콜 - RTSP [자세한 설명]
처음부터 마스터 RTSP 요청 및 응답 1
RTSP 스트리밍 미디어 프로토콜에 대한 자세한 설명