Common C++ RTP

نرم افزار تصویر:
Common C++ RTP
جزئیات نرم افزار:
نسخه: 2.0.0
ها تاریخ: 11 May 15
توسعه دهنده: David Sugar
پروانه: رایگان
محبوبیت: 35

Rating: nan/5 (Total Votes: 0)

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 و، چند تکی و مدل های حمل و نقل چندپخشی پشتیبانی می شوند، و همچنین به عنوان منابع متعدد هماهنگ سازی فعال، جلسات متعدد RTP (فضاهای SSRC)، و برنامه های کاربردی RTP چندگانه (فضاهای CNAME). این اجازه می دهد تا آن را برای ساخت تمام اشکال استانداردهای اینترنت صوتی و سیستم های مبتنی بر کنفرانس بصری استفاده کنید.
GNU ccRTP threadsafe و با کارایی بالا می باشد. آن استفاده می کند لیست صف بسته برای دریافت و انتقال بسته های داده. هر دو بین رسانه ها و هماهنگ سازی داخل رسانه به طور خودکار در صف های بسته های ورودی و خروجی گرفته شده است. GNU ccRTP ارائه می دهد پشتیبانی از RTCP و بسیاری دیگر استاندارد و ویژگی های توسعه یافته است که برای هر دو کاربرد جریان سازگار و پیشرفته مورد نیاز است.
این می تواند انواع محموله های متعدد در جریان ترکیب، و از این رو می توان برای impliment RFC 2833 برنامه های کاربردی سازگار با سیگنالینگ و همچنین چیزهایی تخصصی دیگر. GNU ccRTP نیز ارائه می دهد RTP مستقیم و RTCP فیلترینگ بسته ها.
GNU ccRTP با استفاده از قالب برای منزوی کردن نخ ها و سوکت مربوط به وابستگی، به طوری که می توان آن را مورد استفاده برای impliment جریان بیدرنگ با مدل های مختلف و پروتکل های نخ حمل و نقل زمینه ای، نه فقط با سوکت IPV4 UDP. برای یک لیست مفصل تر از ویژگی های ccRTP شما می توانید نگاهی به کتابچه برنامه نویسان دارد.
در بالاترین سطح آن، ccRTP کلاس برای حمل و نقل در زمان واقعی اطلاعات را از طریق جلسات RTP، و همچنین توابع کنترل از RTCP فراهم می کند.
مفهوم اصلی در اجرای ccRTP جلسات RTP استفاده از صف های بسته که مسئولیت رسیدگی به انتقال و دریافت بسته های داده RTP / برنامه واحد داده است. در ccRTP، یک بلوک داده ها با قرار دادن آن را به انتقال (بسته های خروجی) صف منتقل و دریافت با گرفتن آن را از دریافت خواهید کرد (بسته های اطلاعاتی دریافتی) صف.
سطوح مختلفی از رابط (اینترفیس های عمومی، ارث عمومی یا حفاظت شده، و غیره) در ccRTP وجود دارد. به عنوان مثال، برنامه rtphello نسخه ی نمایشی توزیع با ccRTP فقط با استفاده از رابط های عمومی از کلاس RTPSession می کند و از روش های مجازی onGotSR دوباره تعریف نیست، بنابراین آنچه از این برنامه می داند در مورد گزارش SR اطلاعات انتقال یافته در آخرین گزارش فرستنده از هر منبع، که می توان از طریق روش 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، شما باید شامل هدر اصلی (# شامل دو هدر اضافی توسط ccRTP ارائه شده است.:
# شامل     کلاس برای استخر از RTP موضوعات خدمات.
# شامل
    کلاس برای گسترش RTP که بالغ نشده است.
به پشته تخصصی

بسیار توسعه پذیر: شما همچنین باید در کتابخانه، در حال حاضر ccrtp1 پیوند

ویژگی های..
· پشتیبانی از تکی، چند تکی و چندپخشی. دستگیره منابع متعدد (از جمله منابع هماهنگ سازی و منابع کمک) و مقصد. همچنین پشتیبانی از متقارن RTP.
توابع RTCP خودکار حمل و نقل، مانند ارتباط از منابع هماهنگ سازی از شرکت کنندگان و یا همان نقشه برداری زمان NTP-RTP.
عمومیت عنوان برای شبکه و حمل و نقل پروتکل های اساسی از طریق الگو است.
این threadsafe است و پشتیبانی از تقریبا هر مدل نخ.
RTP عمومی و توسعه و RTCP بررسی اعتبار هدر.
دسته ایالات منبع و اطلاعات و آمار ضبط.
به صورت خودکار دسته برخورد SSRC و کشف حلقه.
پیاده سازی دوباره تایمر و تجدید معکوس می باشد.
فراهم می کند تعداد خوبی تصادفی، بر اساس / توسعه تمدن / urandom یا متناوبا، در MD5.

به چه چیزی جدید در این نسخه است:

در کد پاکسازی، رفع اشکالات برای RTP اطلاعات فرستنده، و ادغام تکه های دبیان بالادست.

نرم افزار های دیگر از توسعه دهنده David Sugar

GNU SIP Witch
GNU SIP Witch

17 Feb 15

نظرات به Common C++ RTP

نظر یافت نشد
اضافه کردن نظر
روشن کردن تصاویر!