Christopher Blizzard, ewangelista z Mozilli, w odpowiedzi na zarzuty John Grubera — Dlaczego otwarte wideo znane z HTML5 jest nieużyteczne, nawet w przeglądarkach z ich obsługą, opisując mechanizm odtwarzania i buforowania w Firefoksie, a także porównując go z innymi przeglądarkami.
John Grubber narzekał przede wszystkim na ignorowanie atrybutu automatycznego bufforowania wideo. Jak jest naprawdę? Safari i Chrome domyślnie zaczynają buforowanie zaraz po wczytaniu elementu, nie jest tak jednak z Firefoksem.
Firefox nie buforuje ani nie odtwarza automatycznie wideo przy domyślnych ustawieniach. Co można potwierdzić korzystając z poniższych przykładów:
- Test odtwarzania wideo bez atrybutu
autobufferHTML5 (zacznij od tego, by uniknąć problemów z cache'owaniem!):<video controls>
<source type="video/mp4" src="http://videos.mozilla.org/serv/blizzard/video-brownbag/video-codec-discussion.m4v"/>
<source type="video/ogg" src="http://videos.mozilla.org/serv/blizzard/video-brownbag/video-codec-discussion.ogv"/>
</video> - Test odtwarzania wideo z atrybutem
autobufferHTML5:<video controls autobuffer>
<source type="video/mp4" src="http://videos.mozilla.org/serv/blizzard/video-brownbag/video-codec-discussion.m4v"/>
<source type="video/ogg" src="http://videos.mozilla.org/serv/blizzard/video-brownbag/video-codec-discussion.ogv"/>
</video> - Test wideo osadzonych z i bez tagu
autobuffer.
Test obsługi atrybutu autobuffer w swojej przeglądarce najlepiej przeprowadzić po wyczyszczeniu pamięci podręcznej. Dla potwierdzenia zachowania przeglądarki warto użyć także dowolnego monitora sieci. Otworzyć stronę z elementem wideo bez atrybutu autoodtwarzania. Następnie sprawdzić ilość pobieranych danych w uruchomionym monitorze.
Aktualnie tylko Firefox informuje o postępie buforowania, dlatego zewnętrzny monitor pobierania przyda się w przypadku testów innych przeglądarek. Po otwarciu drugiej strony testowej z dwoma elementami, z których jeden jest automatycznie buforowany, a drugi nie w Firefoksie wystarczy najechać kursorem myszy by potwierdzić, że jeden z nich został zbuforowany, a drugi nie.
Pamiętaj, że testowy materiał wideo jest dość duży (około 115 MB).
Testy opublikowane na hacks.mozilla.org wskazują, że:
- Safari dla Windows i Mac OS X pobiera duże ilości danych, z kolei Safari dla iPhone'a nie.
- Podobnie z Chrome.
- Natomiast Firefox wczytuje niewielką ilość danych po czym przestaje.
W przypadku Firefoksa mylące mogą być dodatkowe zapytania, które pozwalają ustalić i pobrać pierwszą ramkę i rozmiar wideo. W rezultacie pobierany jest jedynie niewielki fragment pliku wideo, po czym pobieranie jest zatrzymywane. Jeśli serwer obsługuje żądania pobrania fragmentów, Firefox ustali dodatkowo długość wideo. (Ogg jest pomyślane jako format strumieniowania, stąd brak informacji o długości w nagłówku pliku.)
Jeśli ten temat Cię zainteresował, możesz skorzystać także z testu przepustowości w Firefoksie.
Miło, że choć jedna przeglądarka pozwala decydować użytkownikowi o pobieraniu lub nie wideo bez atrybutu autobuffer. Użytkownikom Firefoksa polecam dodatkowo rozszerzenie FlashBlock, którego klony dostępne są także dla Opery (Flashblock for Opera i Przycisk No Flash!) i Chorme (FlashBlock).
UWAGA: Czytając ten artykuł w czytniku kanałów Atom lub RSS nie możesz śledzić reakcji blogosfery ani innych czytelników. Nie możesz też dodawać komentarzy. Odwiedź oryginalną stronę, aby zobaczyć dodatkowe opcje.
To moje pierwsze tłumaczenie z Mozilla Hacks, tekst nie jest specjalnie techniczny, mimo to nie bijcie jeśli coś przekręciłem ;)
Grzegorz
22 Gru 2009 15:32:44
Brak automatycznego buforowania czy odtwarzania to raczej plus niż minus - po co denerwować się zapychaczami łącza czy nowym rodzajem screamerów, jeżeli już teraz nas to wkurza?
Livio
22 Gru 2009 19:08:43
Livio: Jest standard (czy też jego zarys) i na razie tylko Firefox go obsługuje. Myślę, że to lepsze rozwiązanie niż sytuacja, w której każda przeglądarka na wideo reaguje inaczej. Choć opcja czy buforowanie ma być automatyczne czy nie, zwłaszcza w przypadku mobilnego internetu, wydaje się być kusząca.
Grzegorz
23 Gru 2009 02:14:34
Grzglo: standardy są po to by je łamać. tak jest w przypadku produktów M$ który mimo wszystko się jakoś trzyma. ma dobra reklame dzieki procesom sądowym i dalej robi swoje.
przegladarki robione sa tak by pasowały ludziom w szybkimi łaczami, którzy kochaja ogladac kolorowe wypchane śmieciami strony. zapomina sie o trzymaniu standardów, optymalizacji, bo to generuje tylko koszty
Mystenes
23 Gru 2009 13:18:50
Mystenes: Microsoft wydaje na prawników i zasądzone wyroki więcej niż na niejedną kampanię promującą, z pewnością nie jest to sposób lepszy niż reklama w mediach, obniżenie ceny czy nawet darmowe egzemplarze dla wybrańców ;)
Co do tematu, nie da się zrobić „kolorowej, wypchanej śmieciami” strony z pomocą tylko Ogg i HTML5. Na upartego, można by wyświetlić, coś uciążliwego, tylko po co, skoro można atakować skuteczniej za pomocą JavaScriptu i Flasha?
Grzegorz
23 Gru 2009 22:07:59
Mozilla zdecydowała się usunąć parametr autobuffer na rzecz preload, więcej informacji na ten temat w artykule HTML5 Video preload attribute supported in Firefox 4, autobuffer attribute removed.
Grzegorz
25 Sie 2010 08:49:54