2013-02-15 2 views
1

클라이언트 프로그램과 서버 프로그램이 있습니다. 서버가 로컬 호스트에 있으며 내 .mpeg 비디오가 있습니다.자바 스크립트에서 RTP RTSP 구현

노드 JS 사용 서버에서 비디오를 스트리밍하기로되어 있습니다. 클라이언트는 재생/일시 정지/다시 시작/되감기 등과 같은 메시지를 요청하므로 RTP를 사용해야 만 RTP를 통해 보낼 내용을 파악해야합니다. 하지만 어디서부터 시작해야할지 모르겠습니다.

내가 지금까지 RegEx를 사용하여 메시지를 필터링했습니다. 예를 들어 클라이언트에서 재생/일시 정지/설정 등의 버튼이 있기 때문에 그 텍스트를 가져올 수 있습니다. 그리고 스위치가 있습니다. 하지만 설치를하면 어떻게해야합니까?

P.S RTSP 모듈 또는 RTP 모듈을 사용할 수 없습니다. 모든 것을 처음부터 끝내야합니다.

+2

제목을 개선 할 수 있습니까? 그것은 나에게 정말로 의미가 없습니다. –

+0

어떻게 개선 시키길 원합니까? – twix

+0

"RTP의 RTSP 구현은 자바 스크립트에서 무엇입니까?" –

답변

2

유선으로 mpeg 파일을 스트리밍 할 때 RTSP와 RTP를 별도로 처리해야합니다. RTSP는 시그널링, 세션을 설정하고 기본 RTP 스트림을 시작하는 데 사용됩니다. node.js에서이 작업을 수행해야하는 경우 이미 RTSP/RTP를 구현 한 라이브러리를로드하는 것이 좋습니다 (자신의 프로젝트를 만드는 것은 상당한 일이지만 가능합니다. 게다가).

것을 Node.js를 도서관 ++로드 C에 대한 일부 정보 : How can I use a C++ library from node.js?

그래서 기본적으로, MPEG 파일에서, 당신은 원시 H264 스트림을 추출해야합니다. 이를 위해 ffmpeg 나 mpeg 파일 구조를 이해하는 다른 라이브러리/코드를 권장합니다. 그런 다음 RTP 패킷 내부의 인코딩 된 프레임을 패킷 화해야합니다. 그런 다음 서버에서 클라이언트로 다시 보냅니다. 그러면 클라이언트는 인코딩 된 프레임을 실제 프레임으로 depacketize합니다. 화면에 디코딩/표시합니다.

H264 비디오를 표준화하는 방법에 대한 정보는 http://www.ietf.org/rfc/rfc3984.txt을 읽어 보시기 바랍니다.

이것은 모두 일반적인 접근 방법이지만 일반적인 생각을 제공합니다. 잘하면이 정보가 도움이됩니다. 행운을 빈다.

+0

우리는 HTTP 또는 HTML을 사용하지 않습니다. 나는 ... .EXE 클라이언트가 가지고있는 다음과 같은 옵션 설정 재생 일시 정지 TEARDOWN 클라이언트 설치 프로그램을 눌렀을 때 서버에 RTSP 메시지를 보내고 나는 RTSP 메시지를 다시 보내고 난 그 클라이언트에 대한 소켓을 만들 수 있습니다. UDP 패킷을 사용하여 "200 OK"를 나타내는 RTP 메시지를 다시 보냅니다. 이제 클라이언트가 PLAY를 클릭하면 비디오를 가져 와서 프레임으로 청크 한 다음 RTP를 사용하여 전송해야합니다. 지금이 위치에 있습니다. 나는 그것을 얻을 필요가있다.이미 압축 된 mpeg 파일과 나는 그 파일을 chunk 할 필요가있다. 나는 fs를 사용해야한다. ??? – twix

+0

이제 설치 프로그램을 더 잘 이해할 수있을 것 같습니다. 나는 확실히 당신의 MPEG 파일의 HTTP 라이브 스트리밍을 추천 할 것이다. 그렇지 않으면 서버에 RTSP/RTP 지원을 추가해야합니다. 그러면 MPEG 파일에서 오디오/비디오를 추출한 다음 두 개의 별도 RTP 세션에서 오디오/비디오를 스트리밍해야합니다. 잘하면 도움이됩니다. – Aki

+0

나는 http를 사용할 수 없다. 프로젝트 설명에서와 같이 주요 목표는 RTP와 RTSP를 구현하는 것입니다. 오디오를 포함하지 않아도 쉽게 만들 수 있습니다. 비디오 파일에서 바이트 배열을 가져 오는 중 멈추지 않습니다. 바이트로 비디오 파일을 읽어야합니다. – twix

관련 문제