2014-04-10 14 views
10

Mam problem z wyświetlaniem pliku mp4 w przeglądarce Google Chrome przy użyciu tagu wideo HTML5. Film zaczyna się dobrze, a przeskakiwanie do innej pozycji na linii czasu również działa dobrze.Wideo HTML5 ERR_CONTENT_LENGTH_MISMATCH

Otrzymuję jednak błąd ERR_CONTENT_LENGTH_MISMATCH, jeśli oglądam wideo wystarczająco długo. Zauważyłem, że dzieje się tak prawie za każdym razem, gdy przeglądarka pobrała 124 MB (tylko raz na 252 MB) wideo. Nie ma znaczenia, czy oglądam wideo od samego początku, czy skaczę gdzieś na osi czasu i zaczynam oglądać, zatrzymuje się na 124 MB. Nie ma też znaczenia, jakiego pliku wideo używam.

HTML używam jest dość proste:

<video width="1280" height="720" controls> 
    <source src="videos/testvid.mp4" type="video/mp4"> 
</video> 
+2

Czy można sprawdzić integralność The plik wideo? Jeśli jest dobrze, twój serwer może być winny. Upewnij się, że w pełni obsługuje wznawianie/przesyłanie klocków. – DankMemes

+0

Dzięki za odpowiedź. Pliki wideo, które wypróbowałem, są w porządku, więc domyślam się, że coś jest nie tak z moją konfiguracją serwera. Nie mam dużego doświadczenia z konfiguracjami serwerów. Na co powinienem zwrócić uwagę? Używam najnowszego XAMPP z Apache 2.4.9. Czytałem, że Apache powinien mieć żądania zasięgu (co jest potrzebne) działające po wyjęciu z pudełka. Nagłówki odpowiedzi dla pliku wideo to 206 Częściowa zawartość, która wskazuje, że powinna działać poprawnie. Co dokładnie powinienem sprawdzić? – user3519183

+0

Sprawdź długość zawartości, żądane bajty itp. Zazwyczaj będzie to żądany nagłówek, którego szukasz. –

Odpowiedz

2

ERR_CONTENT_LENGTH_MISMATCH pojawia się za każdym razem gdy przeglądarka pobiera z pliku więcej bajtów niż podano na nagłówku odpowiedzi HTTP Content-Length

Jest kilka błędów dotyczących apache i dużych plików dotyczących deflacji (gzip) i nagłówka Content-Length.

Przygotowaliśmy Apache do deflacji większości treści internetowych obsługiwanych przez gzip, aby przyspieszyć przesyłanie plików przy mniejszych rozmiarach plików. Jest to przydatne w przypadku plików HTML, CSS i JS, ale w przypadku plików binarnych, takich jak obrazy i pliki multimedialne lub pliki PDF, może powodować problemy. W przypadku plików PDF problem polega na tym, że program Acrobat nie może odczytać plików PDF zip, więc musi być wyłączony.

Źródło: http://www.beetlebrow.co.uk/what-do-you-need/help-and-documentation/unix-tricks-and-information/apache-gzip-compression-and-binary-files

<Location /> 
SetOutputFilter DEFLATE 
SetEnvIfNoCase Request_URI \ 
    \.(?:gif|jpe?g|png)$ no-gzip dont-vary 
SetEnvIfNoCase Request_URI \ 
    \.(?:mp3|wav|wma|au|m4p|snd|mid|wmv|mpg|mpeg|mp4|qt|mov)$ no-gzip dont-vary 
SetEnvIfNoCase Request_URI \.pdf$ no-gzip dont-vary 
SetEnvIfNoCase Request_URI \ 
    \.(?:exe|t?gz|zip|gz2|sit|rar)$ no-gzip dont-vary 
</Location> 

Rozwiązaniem jest wyłączenie kompresji dla niektórych typów plików (np * .mp4), stosując reguły tak: