2012-10-15 3 views
1

클라이언트의 카메라와 마이크를 기록하는 Red5 스트림 레코더 앱을 만들었습니다. 스트림을 NetStream.publish("streamname","live")으로 기록하고 기록을 시작하는 원격 호출을 호출합니다. 문제는 클라이언트가 원격 startRecording 메서드를 호출하고 서버가 스트림 녹화를 시작한 후 전체 통신 속도가 느려지고 지연 시간이 길어지고, 보통 30 분입니다. 감속에서 모든 것은 먼 외침조차 긴 연기가있다. localhost에서는 잘 작동합니다. 문제가 무엇입니까?Red5 통신 지연

답변

0

서버 쪽 녹음 처리를 위해 새 스레드를 시작해야 할 수 있습니다. 우리는 유사한 이슈를 가지고 있으며 StreamListener를 스트림에 추가하여 스트림을 처리하고 다음과 유사한 구조를 사용합니다.http://en.wikipedia.org/wiki/Semaphore_%28programming%29 모든 패킷을 수집하여 red5 응용 프로그램 논리와 관계없이 모든 패킷을 디스크에 기록합니다.

그런 식으로 서버 측 녹음의 성능 문제를 해결할 수있었습니다.

세바스찬

+0

아마도 세마포어는 학문적으로 들리지만 실제 패킷을 수집하는 대기열 일 수 있습니다. 중요한 점은 새로운 스레드에서 녹음을 시작하는 것입니다! –

+0

좋아, 내가 Runnable 구현 클래스를 만들려고 노력()로 stream.start 넣어하지만 잘못된 접근법을 같아요 : :) – haxpanel

+0

여기에 대한 내 대답을 참조하십시오 : http://stackoverflow.com/a/ 12901336/1448704 –