live555 예제

안녕하세요, 좋은 튜토리얼 주셔서 감사합니다. 현재 서버와 클라이언트 간의 스트림을 암호화하려고 합니다. live555 프록시 서버는 내가 이해하는 것과 기본적으로 TLS를 지원하지 않습니다. 그러나 tls를 통해 rtsp는 터널을 사용하여 가능하다, 단지 터널을 통해 프록시. http://comments.gmane.org/gmane.comp.multimedia.live555.devel/13567 나는 현재 stunnel을 사용하여 live555와 vLC 클라이언트 사이에 이것을 구현하려고 노력하고 있지만 아직 작동하지 않았습니다. 이 분야에 대한 지식이 있는지 궁금합니다. 어떤 도움을 주시면 감사하겠습니다. 감사! 예를 들어 “openRTSP”를 사용하여 RTSP/RTP 스트림을 수신하는 경우 각 RTP 스트림(오디오 및 비디오)의 내용이 별도의 파일로 기록됩니다. 이 작업은 “FileSink” 클래스를 사용하여 수행됩니다. “FileSink::afterGettingFrame()” 멤버 함수를 보면 들어오는 각 프레임에 대해 “presentationTime” 매개 변수가 있음을 알 수 있습니다. 일부 다른 수신기는 “presentationTime” 매개 변수를 사용하여 오디오 및 비디오를 동기화할 수 있습니다. `원본`에서 `싱크`로의 데이터 흐름은 각 응용 프로그램 내에서 발생하며 네트워크 패킷의 송신 또는 수신과 일치하지 않습니다. 예를 들어 RTP 패킷을 전송하는 서버 응용 프로그램(예: “testMP3Streamer” 또는 “testOnDemandRTSPServer”)은 하나 이상의 “RTPSink” 개체를 사용하여 이렇게 합니다.

각 “RTPSink” 개체는 다른 `소스` 또는 `필터` 개체(예: 파일에서 데이터를 읽는 것)의 체인에서 데이터를 수신하고 부작용으로 RTP 패킷을 전송합니다. 마찬가지로 RTP 패킷을 수신하는 클라이언트 응용 프로그램(예: “testMP3Receiver” 또는 “openRTSP”)은 하나 이상의 “RTPSource” 개체를 사용하여 이렇게 합니다. 각 “RTPSource” 개체는 네트워크에서 RTP 패킷을 수신하고 네트워크 데이터(네트워크 헤더 제외)를 `0개 이상) `필터` 개체 체인을 통해 전달하여 데이터를 처리하는 `싱크` 개체로 끝납니다(예: 파일 싱크)에 기록하여 또는 오디오 또는 비디오 데이터를 디코딩하고 렌더링할 수 있습니다. 그러나 입력 소스를 캡슐화하기 위해 자신의 “FramedSource” 하위 클래스(예: 위에서 설명한 “DeviceSource”기반)를 작성한 경우 솔루션이 좀 더 복잡해지므로 더 복잡합니다.

Geplaatst in Geen categorie door admin. Zet de link bij je favorieten link.