سؤال

أفكر في تطوير خادم دفق ولدي السؤال التالي ، قم بعمل RTSP (مثال على ذلك عنوان URL: rtsp://192.168.0.184/myvideo.mpg) أو RTP (مثال URL: rtp://192.168.0.184).

كما فهمت ، RTSP يستخدم الخادم بشكل أساسي لتدفق الملفات الموجودة بالفعل ، أي ، لا يعيش. RTP يستخدم الخادم للبث.

شخص ما يصححني إذا كنت مخطئًا ، هل أنا على حق؟

ما أرغب في تطوير خادم لبث المحتوى المباشر على شاشة الكمبيوتر ، وهو ما يتم عرضه في الوقت الذي يتم بثه في البث.

هل كانت مفيدة؟

المحلول

أنت ترتكب شيئًا خاطئًا ... RTSP هو بروتوكول تدفق في الوقت الحقيقي. بمعنى ، يمكنك بث ما تريد في الوقت الفعلي. حتى تتمكن من استخدامه لدفق المحتوى المباشر (بغض النظر عن ما هو عليه ، الفيديو ، الصوت ، النص ، العرض التقديمي ...). RTP هو بروتوكول نقل يستخدم لنقل بيانات الوسائط التي يتم التفاوض عليها عبر RTSP.

يمكنك استخدام RTSP للتحكم في نقل الوسائط عبر RTP. يمكنك استخدامه لإعداد ، واللعب ، وقفة ، والدموع في الدفق ...

لذلك ، إذا كنت تريد أن يبدأ الخادم الخاص بك في التدفق عند طلب عنوان URL ، فيمكنك تنفيذ نوع من خادم RTP فقط. ولكن إذا كنت تريد المزيد من التحكم ، وإذا كنت تقوم بتدفق الفيديو المباشر ، فيجب عليك استخدام RTSP ، لأنه ينقل SDP وبيانات فك التشفير المهمة الأخرى.

اقرأ المستندات التي ربطتها هنا ، فهي نقطة انطلاق جيدة.

نصائح أخرى

AFAIK ، RTSP لا ينقل التدفقات على الإطلاق ، إنه مجرد بروتوكول تحكم خارج النطاق مع وظائف مثل اللعب والتوقف.

RAW UDP أو RTP عبر UDP هي بروتوكولات نقل للتيارات تمامًا مثل TCP RAW أو HTTP عبر TCP.

لتكون قادرًا على دفق برنامج معين على بروتوكول الإرسال المحدد ، طريقة التغليف يجب تعريفك لك تنسيق الحاوية. على سبيل المثال ، يمكن نقل حاوية TS عبر UDP ولكن لا يمكن لـ Matroska.

إلى حد كبير يمكن نقل كل شيء من خلال TCP رغم ذلك.

(حقيقة ما برنامج الترميز هل تستخدم أيضًا الأمور بشكل غير مباشر لأنها تقيد تنسيقات الحاوية التي يمكنك استخدامها.)

بعض الأساسيات:

يمكن استخدام RTSP Server للمصدر الميت وكذلك للمصدر المباشر. يوفر لك بروتوكولات RTSP الأوامر (مثل جهاز التحكم عن بُعد VCR) ، وتعتمد الوظيفة على تنفيذك.

RTP هو بروتوكول الوقت الحقيقي المستخدم لنقل الصوت والفيديو في الوقت الحقيقي. يمكن أن يكون النقل المستخدم أحادي الإرسال أو البث المتعدد أو البث ، اعتمادًا على عنوان النقل والميناء. إلى جانب نقل RTP ، يقوم بالكثير من الأشياء بالنسبة لك مثل الحزم ، وإعادة الترتيب ، والتحكم في الارتعاش ، و QOs ، ودعم مزامنة الشفاه .....

في حالتك إذا كنت ترغب في إذاعة خادم دفق البث ، فأنت بحاجة إلى كل من RTSP (للتحكم) وكذلك RTP (صوت البث والفيديو)

للبدء معك ، يمكنك المرور عبر نموذج رمز توفره Live555

أسمع ألمك. سأمر بهذا الآن (بعد سنوات). من ما تعلمته ، يمكنك التفكير في RTSP باعتباره "وحدة تحكم VCR" ، يسمح لك البروتوكول بتحديد التدفقات (العروض التقديمية) التي تريد لعبها ، وسيقوم بعد ذلك بإرسال وصف للوسائط ، وبعد ذلك يمكنك استخدم RTSP للعب ، والتوقف ، والتوقف ، وتسجيل الدفق البعيد. وسائل الإعلام نفسها تذهب فوق RTP. يتم تنفيذ RTSP عادة على مقبس مختلف أو طبقة اتصال. على الرغم من أنه مجرد بروتوكول ، إلا أنه غالبًا ما يتم تنفيذه بواسطة خادم على مأخذ توصيل. بالنسبة للتيار المباشر ، فإن دفق RTSP الذي تطلبه هو ببساطة اسم دفق. لا تحتاج إلى الرجوع إلى ملف على الخادم ، يمكن لتطبيق RTSP للخادم تحليل هذا الدفق ، ووضع رسم بياني مباشر ، ثم توفير SDP (الوصف) لاسم الدفق. ولكن ، هذا بالطبع خاص بالطريقة التي تم بها تنفيذ خادم RTSP. بالنسبة لتيارات "Live" ، ربما يكون من الأسهل استخدام RTP فقط ، ولكن ستحتاج إلى طريقة لنقل SDP من خادم RTP إلى العميل الذي يريد تشغيل هذا الدفق.

أعتقد أن هذا صحيح. قد يستخدم RTSP RTP داخليًا.

يمكن استخدام RTSP (في الواقع RTP) لتدفق الفيديو ، ولكن أيضًا العديد من أنواع الوسائط الأخرى بما في ذلك العروض التقديمية الحية. RTSP هو مجرد البروتوكول المستخدم لإعداد جلسة RTP.

لجميع التفاصيل ، يمكنك التحقق من تطبيق خادم RTSP مفتوح المصدر على العنوان التالي: https://net7mma.codeplex.com/

أو مقالتي @ http://www.codeproject.com/articles/507218/managed-media-aggregation-using-rtsp-and-rtp

وهو يدعم تدفقات إعادة التأسيس وكذلك إنشاء تدفقات ديناميكية ، ويتم تنفيذ العديد من RFC ، وتحقق المكتبة أداء أفضل وذاكرة أقل ثم FFMPEG وعن أي حلول أخرى في طبقة النقل وبالتالي تجعلها مرشحًا جيدًا لاستخدامه كـ نقطة مركزية للوصول لمعظم السيناريوهات.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top