2016-03-20 8 views
5

Obecnie tworzę usługę strumieniowego przesyłania wideo, w której wideo jest transkodowane w porcjach po około 1 MB każdy. Odtwarzacz HTML5 Firefox, Chrome i IE dokładają wszelkich starań, aby zażądać częściowej zawartości (przez dodanie nagłówka Range do ich żądania). Niestety, większość czasu to nagłówek wygląda tak:Jak zmusić przeglądarkę do żądania mniejszego zasięgu z 206 częściową zawartością

Range:bytes=0- 

Nie chcę, aby powrócić do pełnej zawartości, ale tylko 1MB zawartości, więc wrócę to:

Content-Range:bytes 0-1048575/5074944 

teraz Chrome akceptuje to całkowicie i żąda częściowej treści, dopóki nie osiągnie całkowitej długości. Firefox tworzy jednak tylko jedną prośbę, która zawiera częściową treść, a nie pełną. Firefox uważa, że ​​jest to pełna zawartość, a więc nie jest odtwarzane pełne wideo, tylko jego część. Jak uzyskać takie samo zachowanie w Firefoksie, jakie mam w Chrome? Próbowałem wrócić, ale 416 zakres nie był satysfakcjonujący, ale wydaje się, że zarówno Chrome, jak i Firefox żądają otrzymania tego kodu statusu.

Odpowiedz

1

W końcu się poddałem i rzuciłem okiem na kod źródłowy Firefoksa. W miejscu, w którym Firefox otrzymuje inny zasięg niż oczekiwano, deweloper pyta, co zrobić w tym przypadku. Specyfikacja nie określa, co należy zrobić w takim przypadku, więc Firefox zdecydował się nic nie robić. Chrome jest trochę bardziej kreatywny i wymyślił to, co według deweloperów byłoby najlepszą odpowiedzią (co jest absolutnie pożądanym rezultatem).

Wygląda na to, że nie jestem jedyny z tym problemem, w przeciwnym razie nie zdobyłbym się na awans. Chodzi o to, że aby Firefox naprawił ten problem, musielibyśmy zmienić specyfikację, która moim zdaniem jest prawie niemożliwa. Dlatego zamykam to pytanie i zaznaczam ten post jako odpowiedź.

-1

Odpowiedź na pytanie "Jak uzyskać to samo zachowanie w Firefoksie, co mam w Chrome?" jest uaktualnienie do Firefoksa 57.0 (Quantum). Ta wersja Firefoksa (w testach mojego własnego kodu serwera, który robi to samo ograniczenie częściowego rozmiaru odpowiedzi) jest w stanie generować żądania dodatkowej częściowej treści podczas odtwarzania wideo, podobnie jak Chrome i IE.

Powiedziawszy, że jeśli odszukuję wstecz w filmie, Firefox odtworzy część treści z nowej pozycji (prawdopodobnie za pomocą częściowej zawartości pamięci podręcznej dla tej pozycji), ale następnie nie zażąda (ani nie użyje buforowanej części) zawartość, gdy buforowana zawartość się kończy - zamiast tego przeskakuje do końca.

Wygląda na to, że programiści Firefoksa podjęli próbę rozwiązania kwestii mniejszej niż oczekiwana częściowej treści, ale nie mają racji co do poszukiwania i/lub buforowania.

Chciałbym wiedzieć, gdzie w źródle Firefoksa był oryginalny komentarz na temat "co robić", aby dowiedzieć się, co faktycznie zostało zrobione i być może dostarczyć odpowiednią informację zwrotną dla programistów Firefoksa.

+0

To nie daje odpowiedzi na pytanie. Gdy masz już wystarczającą [reputację] (https://stackoverflow.com/help/whats-reputation), będziesz mógł [komentować dowolny wpis] (https://stackoverflow.com/help/privileges/comment); zamiast tego [dostarczaj odpowiedzi, które nie wymagają wyjaśnień od pytającego] (https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-can- i-do-zamiast). - [Z recenzji] (/ opinia/niskiej jakości-posts/18179198) –

Powiązane problemy