Chrome 47 WebRTC: การบันทึกสื่อ ต้นทางที่ปลอดภัย และการจัดการพร็อกซี

Chrome 47 มีการปรับปรุงและอัปเดต WebRTC ที่สำคัญหลายอย่าง

บันทึกวิดีโอจากเว็บแอป

MediaStreamRecorder API นี้เป็นคำขอที่ได้รับความนิยมสูงสุดใน 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 จะมีรายการเพิ่มเติมสำหรับอุปกรณ์การสื่อสารซึ่งมีรหัสเป็น "communications"

ระบบจะไม่แฮชรหัสอุปกรณ์สำหรับอุปกรณ์เสียงเริ่มต้น (และการสื่อสารใน Windows) อีกต่อไป (ปัญหา 535980) แต่ระบบจะรองรับรหัสที่สงวนไว้ 2 รายการ ได้แก่ "default" และ "communications" ซึ่งจะเหมือนกันใน แหล่งที่มาด้านความปลอดภัยทั้งหมด ระบบจะแปลป้ายกำกับอุปกรณ์เป็นภาษาของเบราว์เซอร์ ดังนั้นนักพัฒนาซอฟต์แวร์จึงไม่ควรคาดหวังว่าป้ายกำกับจะมีค่าที่กำหนดไว้ล่วงหน้า เราได้ปรับปรุงความแม่นยำในการแสดงวิดีโอโดยการเผยแพร่การประทับเวลาการจับภาพ ไปจนถึงอัลกอริทึมการแสดงผล ซึ่งจะเลือก Vsync ที่เหมาะสมได้ ตามการประทับเวลานั้น สำหรับแพลตฟอร์ม Windows การประทับเวลาการจับภาพจะแม่นยำมากขึ้นใน Chrome 47

การจัดการพร็อกซี

Chrome 47 เพิ่มค่ากำหนดใหม่เพื่อบังคับให้ส่งการเข้าชม WebRTC ผ่านเซิร์ฟเวอร์พร็อกซีในเครื่อง หากมีการกำหนดค่า ซึ่งเป็นสิ่งสำคัญสำหรับผู้ใช้บางรายที่ท่องเว็บผ่าน VPN ซึ่งหมายความว่าแอปพลิเคชัน WebRTC จะเห็นเฉพาะที่อยู่ IP ของพร็อกซี โปรดทราบว่าการดำเนินการนี้จะส่งผลต่อประสิทธิภาพของแอปพลิเคชัน และจะใช้ไม่ได้เลยหากแอปพลิเคชันไม่รองรับ TURN/TCP หรือ ICE-TCP โปรดรอส่วนขยาย WebRTC Network Limiter เวอร์ชันใหม่ที่จะมี UI สำหรับค่ากำหนดนี้ในเร็วๆ นี้ ดูข้อมูลเพิ่มเติมเกี่ยวกับ "การรั่วไหล" ของที่อยู่ IP ได้ในสิ่งที่จะเกิดขึ้นต่อไปสำหรับ WebRTC

ส่วนขยาย Chrome สำหรับ WebRTC Network Limiter

...และอื่นๆ

เราได้ปรับปรุงอัตราการรับส่งข้อมูลของช่องข้อมูลอย่างมากสำหรับการเชื่อมต่อที่มีเวลาในการตอบสนองสูง

เราจะทยอยเปิดตัวการรองรับ DTLS 1.2 ในช่วงเวลาของ Chrome 47

แม้ว่าการเปิดตัวนี้จะไม่รองรับทั้ง VP9 และ H.264 แต่เราจะยังคงพัฒนาต่อไป และหวังว่าจะรองรับ VP9 และ H.264 เวอร์ชันเริ่มต้น (อยู่หลังฟีเจอร์แฟล็ก) ใน Chrome 48

แคมเปญรณรงค์เพื่อสังคม

  • ตั้งแต่ Chrome 47 เป็นต้นไป ระบบจะอนุญาตคำขอ getUserMedia() จากต้นทางที่ปลอดภัยเท่านั้น ซึ่งได้แก่ HTTPS หรือ localhost
  • เราได้นำการรองรับช่องข้อมูล RTP ออกแล้ว แอปพลิเคชันที่เหลือซึ่งยังคงใช้ช่องข้อมูล RTP ควรใช้ช่องข้อมูลมาตรฐานแทน

เช่นเดียวกับการเปิดตัวทุกครั้ง เราขอแนะนำให้นักพัฒนาซอฟต์แวร์ลองใช้ Chrome ในช่องทาง Canary, Dev และเบต้า แล้วรายงานปัญหาที่พบ ความช่วยเหลือที่เราได้รับนั้นมีค่าอย่างยิ่ง หากต้องการดูคำแนะนำเกี่ยวกับวิธีส่งรายงานข้อบกพร่องที่ดี โปรดดูหน้าข้อบกพร่องของ WebRTC

การสาธิต

ดูข้อมูลเพิ่มเติม