Chrome 47 WebRTC: הקלטת מדיה, מקורות מאובטחים וטיפול בשרת proxy

Chrome 47 כולל כמה שיפורים ועדכונים משמעותיים של WebRTC.

הקלטת סרטונים מאפליקציות האינטרנט

ה-API של MediaStreamRecorder הוא הבקשה המובילה מ-chromium.org, עם יותר מ-2,500 כוכבים. הקלטת המדיה נוספה ל-Chrome מאחורי סימון התכונות הניסיוניות של פלטפורמת האינטרנט, על אף שהיא זמינה רק במחשב בשלב זה. כך תהיה לך אפשרות להקליט ולהפעיל או להוריד סרטונים. יש הדגמה פשוטה בנושא מאגר הדגימות של WebRTC וניתן לקבל מידע נוסף בהודעה בנושא discuss-webrtc. אפליקציית Chrome לדוגמה להקלטת וידאו מצילום מסך זמינה בכתובת github.com/niklasenbom/RecordingApp. מדובר בהטמעות חדשות לגמרי ועדיין יש באגים שצריך לתקן: אם תיתקלו בבעיות, תוכלו לדווח על בעיות במאגרים.

צילום מסך של הדגמה של MediaRecorder במאגר הדגימות של WebRTC GitHub

בחירת מכשיר לפלט אודיו

השדה MediaDevices.enumerateDevices() הופץ. פרטים נוספים זמינים בבעיה 504280 של Chromium. עכשיו אפשר לספור את המכשירים לפלט אודיו בנוסף למכשירים לקלט אודיו ולקלט וידאו שכבר קיימים ב-MediaStreamTrack.getSources(). בעדכון הזה מוסבר איך משתמשים באפשרות הזו.

תמיכה במכשיר ב-Windows

נוספה עכשיו תמיכה בברירת המחדל למכשירי תקשורת ב-Windows. כלומר, כאשר מספורים התקני אודיו ב-Windows, תופיע רשומה נוספת עבור התקן התקשורת שהמזהה שלו יהיה 'תקשורת'.

מזהי המכשירים של מכשיר האודיו שמוגדר כברירת מחדל (והתקשורת ב-Windows) לא יעברו גיבוב (Issue 535980). במקום זאת יש תמיכה בשני מזהים שמורים – default ו-communication, והם זהים בכל מקורות האבטחה. תוויות המכשירים יתורגמו ללוקאל של הדפדפן, כך שהמפתחים לא יצפו לכך שלתוויות יהיה ערך שנקבע מראש. הדיוק של עיבוד הווידאו השתפר על ידי הפצה של חותמת הזמן של הצילום עד לאלגוריתם של הרינדור, שבו ניתן לבחור את ה-vsync המתאים על סמך זה. בפלטפורמת Windows, חותמת הזמן של הצילום מדויקת יותר גם ב-Chrome 47.

טיפול בשרת Proxy

ב-Chrome 47 יש העדפה חדשה לאלץ שליחה של תעבורת נתונים מ-WebRTC דרך שרת proxy מקומי, אם הוגדר שרת proxy מקומי. ההעדפה הזו חשובה לחלק מהמשתמשים שגולשים דרך VPN. כלומר, אפליקציית WebRTC יראה רק את כתובת ה-IP של שרת ה-proxy. לתשומת ליבך, פעולה זו תפגע בביצועי האפליקציה ולא תפעל כלל, אלא אם האפליקציה תומכת ב-TURN/TCP או ICE-TCP. כדאי לחפש בקרוב גרסה חדשה של תוסף Network Limiter של WebRTC כדי לספק ממשק משתמש שמתאים להעדפה הזו. תוכל לקרוא מידע נוסף על 'דליפה' בכתובת IP במאמר מה השלב הבא ב-WebRTC.

תוסף ל-Chrome של WebRTC Network Limiter

...ועוד

התפוקה של ערוצי הנתונים השתפרה מאוד עבור חיבורים עם זמן אחזור ארוך.

במסגרת הזמן של Chrome 47, נשיק בהדרגה תמיכה ב-DTLS 1.2.

אמנם לא קיימת תמיכה ב-VP9 וב-H.264 בגרסה הזו, אבל אנחנו ממשיכים לעבוד על הטכנולוגיות האלה. אנחנו מקווים להטמיע ב-Chrome 48 תמיכה ב-VP9 ובגרסה ראשונית של H.264 (מאחורי הקלעים).

תשדירי שירות

  • החל מגרסה Chrome 47, ניתן להגדיר בקשות של getUserMedia() רק ממקורות מאובטחים: HTTPS או localhost.
  • התמיכה בערוץ נתונים מסוג RTP הוסרה. אם עדיין יש אפליקציות שעדיין משתמשות בערוצי נתונים מסוג RTP, יש להשתמש בערוצי הנתונים הרגילים.

כמו בכל הגרסאות, אנחנו ממליצים למפתחים לנסות את Chrome בערוצים Canary, Dev ו-בטא ולדווח על בעיות שנמצאו. העזרה שאנחנו מקבלים חשובה מאוד. לקבלת טיפים לשליחת דוח טוב על באג, כדאי לעיין בדף איתור הבאגים ב-WebRTC.

הדגמות

למידע נוסף