2013-08-07 2 views
8

서버에서 비디오 파일을 보려고 할 때마다 Chrome의 Safari에서이 오류가 발생합니다.리소스로드 실패, iOS에서 플러그인 처리로드

블롭 서버와 아파치 서버를 사용하고 있으므로 문제가 무엇인지 잘 모릅니다. 그러나 아파치 만 사용하면이 오류가 발생하지만 비디오 렌더링도 수행됩니다.

그러나 내 서버를 사용하여 이것을 렌더링하면 작동하지 않습니다. 아무도 이것이 왜 있는지 압니까? 비디오는 다른 장치에서 잘 작동하며 브라우저에서만 아파치를 통해서만 액세스 할 수 있습니다.

+1

혹시 이것을 알아 냈습니까? 나는 같은 문제를 가지고있다! – deweydb

답변

13

이 문제에 대한 해결책은 단지 해결되었습니다. Blob 서버가 스트리밍 서버가 아닌 이유입니다. iOS 기기는 동영상이 작은 덩어리로 도착할 것으로 예상합니다. 예를 들어 스트리밍 서버가이를 수행 할 수 있습니다. 그러나, blob 서버는 iOS 장치가 기대하지 않는 얼룩으로 비디오를 전달합니다. 일부 브라우저는 이것을 처리 할만큼 똑똑하지만 다른 브라우저는 처리하지 못할 수도 있습니다.

내가 해결 한 방법은 프로젝트 내의 폴더에있는 blob 서버 외부에 비디오 파일을 추가 한 다음 사용중인 실제 BLOB 서버를 통해이를 제공하는 대신 Apache 서버를 통해 렌더링하는 것입니다. 이게 도움이 되길 바란다.

+0

와우 -이 답변에 감사드립니다! 웹 서버가 스트리밍을 처리하지 못할 수도 있다는 생각은 들지 않았습니다. 내 경우에는 Umbraco CMS가 처리 할 수 ​​없었습니다 .. 우리가 다른 서버로 비디오를 옮기면 모든 것이 잘 동작했습니다. 그래서이 시스템을 허약합니다. – sean2078

+0

이 답변은 절대 금입니다! 나는 비디오/오디오 포맷/해상도 등의 다양한 콤보를 시도하면서 헛된 일을 보냈다. 문제는 아파치 응답에 최소한의 헤더 세트 (서버, 연결, 날짜, ETag, Keep-Alive)가 포함되어 있기 때문에 스프링 코드의 어딘가에있다. 이 솔루션은 iOS에서 작동하지만 Safari는 OSX에서 수정되었습니다. – Alex

0

여기서는 BLOB 애셋에 대한 URL 패턴을 만든 다음 해당 URL 패턴 정의 페이지에서 'mime type of video/mp4'를 보낸 헤더를 설정했습니다. 이것은 바이너리 스트림을 청크로 처리하도록 브라우저에 지시해야하며, 이는 재생을 시작하기 전에 전체를 다운로드 할 필요가 없다는 것을 의미합니다.

관련 문제