2017-02-15 6 views

답변

1

시작하기 전에 버퍼를 충분히 다운로드하여 비디오 버퍼링을하지 않는 것이 매우 어렵습니다. 네트워크 상태가 보통 길이의 비디오 기간 동안 꽤 많이 바뀔 수 있기 때문입니다.

거의 모든 비디오를 다운로드하고 네트워크가 매우 느린 경우에도 여전히 버퍼링이 끝날 수 있습니다.

당신이 찾고있는 고품질의 경험을 얻으려고 노력하는 일반적인 방법은 적응 형 비트율 찜 법을 사용하는 것입니다.

이것을 사용하려면 서버에 비디오의 여러 비트 전송률 버전을 만들고 시간별로 각 비트율 버전을 청크로 나누십시오. 10 초 청크.

클라이언트는 정상적으로 일부 버퍼링을 사용하여 청크로 비디오 청크를 요청하고 네트워크 조건에 따라 다음 청크를 요청할 비트율을 선택합니다.

따라서 네트워크가 양호한 경우 사용자는 고해상도 비디오 경험을 얻게되며, 나쁜 경우 해상도가 떨어집니다. 비트 전송률 버전의 혼합이 좋은 한 네트워크가 매우 나쁘면 버퍼링을 피할 수 있습니다.

YouTube에서 YouTube, Netflix 등에서 사용하는이 기술을 YouTube에서 볼 수 있습니다. 주변에서 놀 수있는 설정을 살펴보고 특정 비트 전송률 크기를 선택하여 효과를 볼 수 있습니다 (높은 하나는 아마 당신이 아주 좋은 인터넷 연결에 있지 않는 한 당신이 묘사하는 버퍼링 문제를 보게 될 것입니다.)

이 방법을 사용하면 더 낮은 대역폭에서 시작한 다음 비디오를 버퍼링 한 다음 더 높은 대역폭으로 스테핑하여 비디오를 빠르게 시작할 수 있습니다.

enter image description here

: -

당신은 또한 비트 레이트 단계의 멋진 그래픽보기 비디오 및 선택 '바보의 통계'를 마우스 오른쪽 버튼으로 클릭하여 YouTube에서 버퍼를 볼 수 있습니다

는이 같은 전망을 제공합니다

재생을 시작하기 전에 실제로 버퍼 크기로 재생하려면 플레이어 자체를 수정하거나 자신 만의 플레이어를 만들어야합니다.

웹 플레이어 도메인에서 HTML5 플레이어는 일반적으로 원하는 경우 버퍼링을 제어 할 수있는 미디어 소스 확장 (MSE)을 사용합니다. MSE는 기본적으로 일반적인 파일이나 URL이 아닌 버퍼를 HTML5 비디오 src에 연결하는 메커니즘입니다. 원하는대로 버퍼를 채우고 자하는 JavaScript를 작성할 수 있습니다. 좋은 소개합니다 (MSE 섹션으로 건너 뛰기) 여기에 있습니다 :

+0

당신이 어떤 생각을 가지고 어떻게이 녀석 [fiveminute.gs] (http://www.fiveminutes.gs/) 해냈어?, 그들은 로딩 화면으로 비디오 섹션을 미리로드 했으므로 버퍼링 문제가 없습니다. –

+0

로딩 화면은 단지 이미지 일뿐입니다. 비디오가 사이트로 들어 오면 비디오가 시작됩니다. 브라우저 도구의 네트워크 탭을보고 mp4 파일 요청시기를 확인하면이 사실을 알 수 있습니다. 충분한 연결이 안되면 여전히 멈출 것입니다 (나는 이것을 볼 수있었습니다). 그들은 Vimeo에서 호스팅하고 Vimeo CDN을 사용하고 있습니다. – Mick

+0

로딩 화면 [Here] (http://www.fiveminutes.gs/scripts/db.js)이 표시되는 동안 거대한 파일을로드하는 것으로 나타났습니다.이게 뭔가요? 기본 64 형식의 mp3 파일처럼 보입니다. –