Google is committed to advancing racial equity for Black communities. See how.
หน้านี้ได้รับการแปลโดย Cloud Translation API
Switch to English

รูปแบบ SDP แบบรวมเป็นหนึ่งเดียว - แผนการเปลี่ยนแปลง

Google กำลังวางแผนที่จะเปลี่ยนการใช้ WebRTC ของ Chrome จากรูปแบบ SDP ปัจจุบัน (เรียกว่า "Plan B") เป็นรูปแบบที่เป็นไปตามมาตรฐาน (“ Unified Plan” ร่างร่าง ietf-rtcweb-jsep) ในสองสามไตรมาสถัดไป

แผนเกี่ยวข้องกับ 4 ขั้นตอนและหนึ่งคุณลักษณะ API ชั่วคราว

ใครจะได้รับผลกระทบ

ผู้ที่ใช้แทร็กเสียงหลายแทร็กหรือแทร็กวิดีโอหลายแทร็กใน PeerConnection เดียวจะต้องทดสอบผลิตภัณฑ์ภายใต้ Unified Plan และปรับให้เหมาะสม ในกรณีที่การโทรเริ่มต้นจากจุดสิ้นสุดที่ไม่ใช่ของ Chrome และตอบกลับโดย Chrome รูปแบบของข้อเสนออาจมีการเปลี่ยนแปลง ผู้ที่ทำการแยกวิเคราะห์ SDP โดยละเอียดและใส่ใจเกี่ยวกับแอตทริบิวต์ msid จะต้องตรวจสอบว่ารหัสการแยกวิเคราะห์ของพวกเขาเลือกรูปแบบใหม่ (a = msid) รายละเอียดเกี่ยวกับการเปลี่ยนแปลงที่จำเป็นและวิธีการที่แอปจำเป็นต้องเปลี่ยนจะขึ้นอยู่กับแอปพลิเคชัน เราคิดว่าแอพพลิเคชั่นเกือบทั้งหมดที่ใช้เพียงเสียงเดียวและแทร็กวิดีโอเดียวต่อ RTCPeerConnection จะไม่ได้รับผลกระทบจากการเปลี่ยนแปลง

คุณสมบัติ API

เรากำลังเพิ่มหนึ่งคุณลักษณะใหม่ใน RTCPeerConnection ของ RTCConfiguration:

 enum SdpSemantics {
  "plan-b",
  "unified-plan"
};


partial dictionary RTCConfiguration {
   SdpSemantics sdpSemantics;
}
 

RTCConfiguration สามารถส่งผ่านไปยังตัวสร้างของ RTCPeerConnection และข้อเสนอและคำตอบทั้งหมดที่สร้างขึ้นจะอยู่ในรูปแบบ Unified Plan การเรียกใช้ setLocalDescription และ setRemoteDescription จะคาดหวังให้ SDP อยู่ในรูปแบบ Unified Plan หากอยู่ในรูปแบบ Chrome ดั้งเดิมแทร็กเสียงแรกและแทร็กวิดีโอแรกจะถูกละเว้น

นอกจากนี้ยังมีการตั้งค่าสถานะบรรทัดคำสั่ง (–enable-features = RTCUnifiedPlanByDefault ใน Chrome M71 ขึ้นไป, –enable-blink-features = RTCUnifiedPlanByDefault ในรุ่นก่อนหน้านี้) ที่อนุญาตให้ตั้งค่าเริ่มต้นของการตั้งค่านี้เป็น“ unified-plan”

ขั้นตอน

ขั้นตอนที่ 1: ใช้งาน Unified Plan

ขณะนี้ Unified Plan ได้รับการพัฒนาและมีการตั้งค่าสถานะสำหรับการทดลองจาก M65 จนกว่าขั้นตอนที่ 2 จะเป็นการทดสอบที่ดีที่สุดกับนกขมิ้น หากคุณเรียกใช้ Chrome ด้วย“ –enable-blink-features = RTCUnifiedPlan” คุณจะสามารถเข้าถึงคุณลักษณะ“ sdpSemantics” ที่อธิบายไว้ข้างต้นและสามารถเริ่มการทดสอบด้วย Unified Plan

ขั้นตอนที่ 2: ทำให้คุณลักษณะ API พร้อมใช้งานโดยทั่วไป

เปิดตัวใน M69 (เบต้าสิงหาคม 2018, เสถียรกันยายน 2018)

ในขั้นตอนนี้ค่าเริ่มต้นของการตั้งค่าสถานะ sdpSemantics คือ“ plan-b” ในระยะที่ 2 เราคาดหวังว่าผู้ที่มีการใช้งานที่ขึ้นอยู่กับรูปแบบ SDP เพื่อเรียกใช้การทดสอบเพื่อดูว่าแอปพลิเคชันของพวกเขาทำงานได้หรือไม่เมื่อใช้ Unified Plan สำหรับแอปพลิเคชั่นที่รองรับ Firefox เราคาดหวังว่านี่เป็นแบบฝึกหัดที่ง่ายมากเพียงทำตามที่คุณต้องการสำหรับ Firefox

ค่าเริ่มต้นของการตั้งค่าสถานะ sdpSemantics สามารถเปลี่ยนแปลงได้ใน“ chrome: // ค่าสถานะ”; ค้นหาคุณลักษณะ“ WebRTC: ใช้ความหมายของแผน SDP แบบครบวงจรโดยค่าเริ่มต้น”

ขั้นตอนที่ 3: สลับค่าเริ่มต้น

วันที่สำหรับสวิตช์จะถูกกำหนดโดยปรึกษากับผู้ใช้หลังจากการทดสอบอย่างละเอียด แผนปัจจุบันของเราคือ M72 (เบต้าธันวาคม 2551 และมีเสถียรภาพในเดือนมกราคม 2562)

ในขั้นตอนนี้เราจะเปลี่ยนค่าเริ่มต้นของการตั้งค่าสถานะ sdpSemantics เป็น“ unified-plan” แอปพลิเคชันที่ค้นพบว่าพวกเขาต้องการเวลาในการแปลงที่มากขึ้นสามารถตั้งค่าสถานะ sdpSemantics อย่างชัดเจนเป็น“ แผน -b” เพื่อกู้คืนพฤติกรรมก่อนหน้านี้

เป็นส่วนหนึ่งของการทดสอบเราคาดว่าจะลองเปลี่ยนค่าเริ่มต้นของการตั้งค่าสถานะใน Canary หลายครั้งในช่วงการพัฒนาของ M71 และ M72

เราจะตรวจสอบการใช้งานธงและจำนวน SDP ที่ได้รับด้วยซีแมนติกส์“ แผนข” เพื่อกำหนดวันที่สำหรับเฟส 4

ขั้นตอนที่ 4: ลบ“ แผน B”

ในขั้นตอนนี้การตั้งค่าสถานะ sdpSemantics และรหัสทั้งหมดสำหรับการสนับสนุน Plan B จะถูกลบออกจาก Chrome การตั้งค่าสถานะ sdpSemantics จะไม่เป็นข้อผิดพลาด แต่จะไม่มีผลใด ๆ

การเตรียมใบสมัครของคุณสำหรับ Unified Plan

สำหรับข้อมูลโดยละเอียดเกี่ยวกับความแตกต่างของแผน B และ Unified Plan และวิธีที่แอปพลิเคชันของคุณอาจต้องได้รับการอัปเดตในการจัดทำแผนแบบรวมให้ดูที่ คู่มือการเปลี่ยน“ Unified Plan” (JavaScript)

สำหรับแอปพลิเคชันเนทีฟ (C ++) ให้ดูที่เอกสาร “ การโอนย้ายแอปพลิเคชันดั้งเดิม / มือถือของคุณไปยัง Unified Plan”