Chrome 47 zawiera kilka ważnych ulepszeń i aktualizacji WebRTC.
Nagraj film z aplikacji internetowych
Interfejs API MediaStreamRecorder
od dawna jest najważniejszym żądaniem w witrynie chromium.org – ma ponad 2500 gwiazdek. Teraz do Chrome dodano funkcję nagrywania multimediów za pomocą eksperymentalnej flagi funkcji platformy internetowej – jednak funkcja jest na razie dostępna tylko na komputerach. Dzięki temu możesz nagrywać i odtwarzać lub pobierać filmy. Dostępna jest prosta prezentacja repozytorium z przykładami WebRTC, a więcej informacji znajdziesz w ogłoszeniu dotyczącym dyskusji-webrtc. Przykładowa aplikacja Chrome do nagrywania filmów ze zrzutu ekranu jest dostępna na github.com/niklasenbom/RecordingApp. Są to zupełnie nowe implementacje, więc wciąż możesz wyeliminować błędy. Jeśli napotkasz problemy, zgłoś problemy w repozytorium.
Wybór urządzenia wyjściowego audio
MediaDevices.enumerateDevices()
został zwolniony. Więcej informacji znajdziesz w numerze 504280 Chromium. Oprócz wejścia audio i wideo, które już zapewnia MediaStreamTrack.getSources()
, możesz teraz zliczać urządzenia wyjściowe audio. Aby dowiedzieć się więcej o tym, jak korzystać z tej funkcji, zajrzyj do tej aktualizacji.
Obsługa urządzeń w systemie Windows
Dodaliśmy obsługę domyślnych urządzeń komunikacyjnych w systemie Windows. Oznacza to, że przy liczeniu urządzeń audio w systemie Windows pojawi się dodatkowa pozycja dla urządzenia komunikacyjnego o identyfikatorze „komunikacja”.
Identyfikatory domyślnego urządzenia audio (i komunikacji w systemie Windows) nie będą już zaszyfrowane (numer problemu 535980). Zamiast tego obsługiwane są 2 zarezerwowane identyfikatory – „domyślne” i „komunikacja” – są takie same we wszystkich źródłach zabezpieczeń. Etykiety urządzeń będą tłumaczone na język przeglądarki, więc deweloperzy nie powinni oczekiwać, że etykiety będą mieć z góry określoną wartość. Dokładność renderowania filmów została ulepszona przez propagowanie sygnatury czasowej zapisu aż do algorytmu renderowania, na podstawie którego można wybrać właściwą synchronizację vsync. W przypadku platformy Windows sygnatura czasowa zapisu jest też dokładniejsza w Chrome 47.
Obsługa serwera proxy
W Chrome 47 wprowadzono nowe ustawienie, które wymusza przesyłanie ruchu WebRTC przez lokalny serwer proxy (jeśli taki jest skonfigurowany). Jest to ważne dla niektórych użytkowników korzystających z sieci VPN. Oznacza to, że aplikacja WebRTC będzie widzieć tylko adres IP serwera proxy. Pamiętaj, że pogorszy to wydajność aplikacji i nie będzie działać, jeśli nie obsługuje ona TURN/TCP lub ICE-TCP. Wkrótce udostępnimy nową wersję rozszerzenia WebRTC Network Limiter, aby udostępnić interfejs umożliwiający to ustawienie. Więcej informacji na temat wycieku adresów IP znajdziesz w artykule Co dalej w WebRTC.
...i inne
Przepustowość kanału danych została znacznie zwiększona w przypadku połączeń o dużych opóźnieniach.
Obsługa DTLS 1.2 będziemy stopniowo wprowadzać w Chrome 47.
Choć ani VP9, ani H.264 nie są obsługiwane w tej wersji, prace nad nimi wciąż trwają. Liczymy, że uda nam się wdrożyć obsługę VP9 i początkową wersję H.264 (za flagą) w Chrome 48.
Reklamy społeczne
- Od Chrome 47 żądania
getUserMedia()
są dozwolone tylko z bezpiecznych źródeł: HTTPS lub lokalnego hosta. - Obsługa kanału danych RTP została usunięta. Pozostałe aplikacje, które nadal korzystają z kanałów danych RTP, powinny używać standardowych kanałów danych.
Tak jak w przypadku każdej wersji, zachęcamy deweloperów do wypróbowania Chrome w wersji Canary, deweloperskiej lub beta, a także do zgłaszania wszelkich wykrytych problemów. Otrzymana pomoc jest bezcenna. Wskazówki dotyczące tworzenia dobrego raportu o błędzie znajdziesz na stronie błędu w WebRTC.
Przykłady
- MediaRecorder
enumeratedevices():
Więcej informacji
- Stan implementacji MediaRecorder
- Wersja robocza edytora nagrań multimedialnych i strumieni: MediaDevices
- Interfejs Audio Exit Devices API
- Aktualizacja WebRTC