GNU ccRTP คือการดำเนินการของ RTP, เรียลไทม์โปรโตคอลการขนส่งจาก IETF (ดู RFC 3550, RFC 3551 และ RFC 3555) ccRTP เป็นห้องสมุด C ++ ขึ้นอยู่กับสามัญ GNU C ++ ซึ่งมีประสิทธิภาพสูง, ความยืดหยุ่นและขยายมาตรฐานสแต็ค RTP RTCP ด้วยการสนับสนุนอย่างเต็มรูปแบบ การออกแบบและการดำเนินงานของ ccRTP ให้เหมาะสำหรับเซิร์ฟเวอร์ความจุสูงและเกตเวย์เช่นเดียวกับการใช้งานของลูกค้าส่วนบุคคล
ในการออกแบบ ccRTP เราได้นำเข้าบัญชีที่ RTP ได้รับการกำหนดให้เป็นกรอบโปรโตคอลระดับแอพลิเคชันมากกว่าอินเทอร์เน็ตโปรโตคอลการขนส่งทั่วไปเช่น TCP และ UDP ดังนั้น RTP คือแทบจะไม่เคยนำมาใช้เป็นชั้นแยกออกจากโปรแกรม
ดังนั้นการใช้งาน RTP มักจะต้องปรับแต่งรูปแบบแพ็คเก็ต RTP ปรับตัวและกฎการประมวลผล จำกัด เวลากฎสมาชิกเซสชั่นเช่นเดียวกับ RTP อื่น ๆ และกลไก RTCP ccRTP มีวัตถุประสงค์เพื่อให้กรอบสำหรับกรอบ RTP มากกว่าการเป็นเพียงแค่การจัดการห้องสมุดแพ็คเก็ต RTP
การสนับสนุนสำหรับข้อมูลทั้งภาพและเสียงถือว่ายังในการออกแบบของ ccRTP ที่สามารถทำกรอบบางส่วนแยก / อีกชุด Unicast หลาย unicast และรูปแบบการขนส่งแบบหลายผู้รับได้รับการสนับสนุนเช่นเดียวกับหลายแหล่งการประสานงานการประชุมหลาย RTP (พื้นที่ SSRC) และการใช้งานหลาย RTP (พื้นที่ CNAME) นี้จะช่วยให้มันใช้สำหรับการสร้างทุกรูปแบบของมาตรฐานอินเทอร์เน็ตตามเสียงและระบบการประชุมทางภาพ
GNU ccRTP เป็น threadsafe และมีประสิทธิภาพสูง จะใช้รายการคิวแพ็คเก็ตสำหรับการรับและการส่งแพ็กเก็ตข้อมูล ทั้งสื่อระหว่างกันและการประสานภายในสื่อจะถูกจัดการโดยอัตโนมัติภายในคิวแพ็คเก็ตเข้าและขาออก GNU ccRTP ให้การสนับสนุน RTCP และมาตรฐานอื่น ๆ อีกมากมายและคุณสมบัติการขยายที่จำเป็นสำหรับการใช้งานทั้งสตรีมมิ่งเข้ากันได้และขั้นสูง
มันสามารถผสมหลายชนิดที่บรรจุอยู่ในกระแสและด้วยเหตุนี้สามารถใช้ในการ impliment RFC 2833 การส่งสัญญาณการใช้งานตามมาตรฐานเช่นเดียวกับสิ่งที่พิเศษอื่น ๆ GNU ccRTP มี RTP โดยตรงและการกรองแพ็คเก็ต RTCP
GNU ccRTP ใช้แม่แบบในการแยกเกลียวและซ็อกเก็ตที่เกี่ยวข้องกับการอ้างอิงเพื่อที่จะสามารถใช้ในการ impliment เรียลไทม์สตรีมมิ่งที่มีรูปแบบที่แตกต่างกันเกลียวและโปรโตคอลการขนส่งพื้นฐานที่ไม่เพียง แต่กับซ็อกเก็ต UDP IPV4 สำหรับรายละเอียดเพิ่มเติมของคุณสมบัติ ccRTP คุณสามารถดูได้ที่คู่มือการเขียนโปรแกรม '
ที่ระดับสูงสุด, ccRTP ให้เรียนสำหรับการขนส่งในเวลาจริงของข้อมูลที่ผ่านการ RTP เช่นเดียวกับฟังก์ชั่นการควบคุมของ RTCP
แนวคิดหลักในการดำเนินการของการประชุม ccRTP RTP คือการใช้คิวแพ็คเก็ตที่จะจัดการกับการส่งและรับแพ็กเก็ตข้อมูล RTP / หน่วยข้อมูลการใช้ ใน ccRTP, บล็อกข้อมูลจะถูกส่งโดยใส่มันลงไปในการส่ง (แพ็คเก็ตขาออก) คิวและได้รับโดยได้รับจากแผนกต้อนรับส่วนหน้า (แพ็คเก็ตขาเข้า) คิว
มีหลายระดับของอินเตอร์เฟซ (อินเตอร์เฟซที่สาธารณะมรดกสาธารณะหรือการป้องกัน ฯลฯ ) ใน ccRTP มี ยกตัวอย่างเช่นโปรแกรมการสาธิต rtphello กระจาย ccRTP เพียงแค่ใช้อินเตอร์เฟซของประชาชนในระดับ RTPSession และไม่ได้กำหนดวิธีการเสมือน onGotSR ดังนั้นสิ่งที่โปรแกรมนี้รู้เกี่ยวกับรายงานเอสอาร์เป็นข้อมูลที่สื่อความหมายในรายงานของผู้ส่งที่ผ่านมาจากแหล่งใดซึ่ง สามารถเรียกดูผ่านทางวิธีการ getMRSenderInfo ของชั้น SyncSource
ในทางตรงกันข้ามการสาธิตโปรแกรม rtplisten onGotSR นิยามใหม่โดยใช้วิธีการถ่ายทอดทางพันธุกรรมและการประมวลผลจะทำเฉพาะของแพ็คเก็ต RTCP เหล่านี้ โดยทั่วไปข้อมูลและแพ็กเก็ตการควบคุมไม่สามารถเข้าถึงได้โดยตรงผ่านทางอินเตอร์เฟซภายนอกมากที่สุด
ฟังก์ชั่นทั้งหมดนี้จะดำเนินการผ่านการเรียนที่จำเป็นไม่กี่ชนิด คนส่วนใหญ่มีพื้นฐาน StaticPayloadType ระบุชนิดและชั้นเรียน StaticPayloadFormat และ DynamicPayloadFormat
คนที่สำคัญที่สุดคือการเรียน RTPSession, SyncSource ผู้เข้าร่วมและ AppDataUnit, ที่เป็นตัวแทนของการประชุม RTP แหล่งที่มาประสานเข้าร่วมในโปรแกรมประยุกต์ RTP และหน่วยข้อมูลการใช้ลำเลียงในแพ็กเก็ตข้อมูล RTP ตามลำดับ
เมื่อใช้ ccRTP ทั้งการส่งและรับข้อมูลการขนส่งการประชุม RTP จะกระทำผ่านคิวรับและการส่งจัดการโดยกอง RTP ในกรณีที่พบมากที่สุด, ด้ายการดำเนินการแยกต่างหากสำหรับแต่ละเซสชั่น RTP จัดการคิว กรณีนี้เป็นรูปแบบเกลียวที่เรามักจะถือว่าตลอดเอกสารนี้ หมายเหตุ แต่ที่ ccRTP สนับสนุนรูปแบบเธรดอื่น ๆ โดยเฉพาะอย่างยิ่ง ccRTP สนับสนุนการใช้ด้ายการดำเนินการเดียวที่จะให้บริการชุดของการประชุม RTP นอกจากนี้ยังเป็นไปได้ที่จะไม่เชื่อมโยงด้ายใด ๆ แยกต่างหากกับเซสชั่นใด ๆ RTP ตนเองเรียกข้อมูลหลักและวิธีการให้บริการควบคุมจากสิ่งที่หัวข้ออื่น ๆ
ความคิดพื้นฐานสำหรับการรับแพ็คเก็ตที่มี ccRTP คือว่าใบสมัครไม่ได้โดยตรงอ่านแพ็คเก็ตจากซ็อกเก็ต แต่พวกเขาได้รับจากคิวแผนกต้อนรับส่วนหน้า สแต็คเป็นผู้รับผิดชอบในการใส่ข้อมูลที่ได้รับในคิวรับและจัดการคิวนี้ โดยทั่วไปการต้อนรับแพ็คเก็ตและแทรกอยู่ในคิวการรับสัญญาณไม่ได้เกิดขึ้นในเวลาเดียวกันแอพลิเคชันได้รับมันจากคิว
ตรงกันข้ามความคิดพื้นฐานสำหรับการส่งแพ็คเก็ตที่มี ccRTP เป็นแพ็คเก็ตที่ไม่ได้เขียนโดยตรงกับซ็อกเก็ต แต่แทรกอยู่ในคิวการส่งจัดการโดยสแต็ค โดยทั่วไปการแทรกและการส่งแพ็คเก็ตที่เกิดขึ้นในช่วงเวลาที่แตกต่างกัน แต่ก็ไม่จำเป็น
เพื่อที่จะใช้ ccRTP คุณต้องมีส่วนหัวหลัก (# รวม
#include
#include
ชั้นเรียนสำหรับส่วนขยาย RTP ซึ่งไม่ได้เป็นผู้ใหญ่ยัง
คุณต้องยังเชื่อมโยงในห้องสมุด, ขณะ ccrtp1
คุณสมบัติ :..
- สูงเพื่อขยายกองเฉพาะ
- ·รองรับ unicast หลาย unicast และ multicast จับหลายแหล่ง (รวมถึงแหล่งที่มาการประสานและการมีส่วนร่วมในแหล่ง) และสถานที่ท่องเที่ยว นอกจากนี้ยังสนับสนุน RTP สมมาตร.
- ฟังก์ชั่นอัตโนมัติ RTCP จัดการเช่นการเชื่อมโยงของแหล่งที่มาการประสานจากผู้เข้าร่วมที่เหมือนกันหรือการทำแผนที่การประทับเวลา NTP-RTP.
- Genericity เป็นเครือข่ายต้นแบบและโปรโตคอลการขนส่งผ่านแม่แบบ.
- มันเป็น threadsafe และสนับสนุนเกือบรูปแบบเกลียวใด ๆ .
- RTP ทั่วไปและขยายและการตรวจสอบความถูกต้อง RTCP หัว.
- จับรัฐแหล่งที่มาและข้อมูลเช่นเดียวกับการบันทึกสถิติ.
- โดยอัตโนมัติจับชน SSRC และดำเนินการตรวจสอบห่วง.
- ดำเนินการพิจารณาเวลาและการพิจารณาย้อนกลับ.
- ให้ตัวเลขสุ่มที่ดีบนพื้นฐานของ / dev / urandom หรือหรือใน MD5.
มีอะไรใหม่ ในข่าวประชาสัมพันธ์นี้:
- ล้างรหัส bugfixes สำหรับข้อมูลผู้ส่ง RTP และการผสมของ แพทช์เดต้นน้ำ.
ความคิดเห็นที่ไม่พบ