2016-10-01 3 views
0

나는 peerflix를 확인 중이었고 비디오에서 기능을 찾도록 지원하는 것이 정말 대단했습니다. 나는 그것이 어떻게 작동하는지 이해하려고 노력했다. 나는 HTTP 파일 서버에 스트림 파이프를 만들고 필요한 조각이 다운로드되고 비디오 플레이어가 파이프의 다른 끝에서 데이터를 읽을 때 비디오 데이터를 쓰는 것이라고 생각한다. 나는이 작업을 Java에서 Pipedinputstream을 사용하여 시도했지만 pipedoutputstream은 nanohttpd 서버를 사용했지만 작동하지는 못했습니다. 내가 누락 된 부분이 있습니까?검색은 peerflix에서 어떻게 작동합니까?

peerflix : 그것은 스트림 토런트 비디오, 당신이 추구 기능과 비디오를 볼 수있는 lib입니다. 다운로드가 끝날 때까지 기다릴 필요가 없습니다.

답변

0

Peerflix는 토렌트에서 가장 큰 파일을 선택하거나 직접 선택할 수 있습니다. 그런 다음 첫 번째 조각에서 파일을 순차적으로 다운로드하기 시작합니다. 이 파일은 표준 HTTP 정적 파일 서버에서 제공됩니다.
비디오 플레이어를 검색하면 비디오 컨테이너에서 해당 시간 스탬프에 해당하는 비디오 파일의 바이트를 찾습니다. 그런 다음 비디오 플레이어는 비디오 시간과 일부 버퍼에 해당하는 바이트에 대한 HTTP 범위 요청을 보냅니다. 그런 다음 Peerflix의 HTTP 서버는이 범위 요청을 읽고 .torrent 파일을 검사하여 요청 된 바이트에 해당하는 부분을 찾습니다. 요청한 부분부터 순차적으로 다운로드를 시작하고 요청 된 바이트를 사용할 수있을 때 HTTP 요청에 응답합니다.

관련 문제