Chrome 47 WebRTC: nagrywanie multimediów, bezpieczne źródła i obsługa serwera proxy

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.

Zrzut ekranu z wersją demonstracyjną usługi MediaRecorder w repozytorium z przykładami WebRTC na GitHubie

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.

Rozszerzenie do Chrome Limiter sieci 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

Więcej informacji