RTSP (ראשי תיבות של Real Time Streaming Protocol) ובעברית- "פרוטוקול הזרמת מדיה (או, למעשה, שידור, או כל סיטואציה בה מועבר מידע למשתמש)- בזמן אמת" הוא פרוטוקול בקרת רשת למערכות תקשורת ובידור המספק בקרה לשרתי מדיה זורמת. הפרוטוקול משמש להקמה ובקרת הקשר בין נקודות הקצה. לקוחות שרתי מדיה שולחים פקודות דמויות וידאו, כמו "הפעל" (Play) ו"השהה" (Pause), לתפעול בזמן אמת של צפייה בקובצי מדיה מהשרת.

שידור הנתונים הזורמים עצמו אינו בפרוטוקול RTSP. רוב שרתי ה-RTSP משתמשים בפרוטוקול RTP (Real-time Transport Protocol) להעברת מדיה זורמת.

הפרוטוקול פותח על ידי קבוצת " Multiparty Multimedia Session Control Working Group" (MMUSIC WG) בארגון ה-Internet Engineering Task Force (IETF) ופורסם כ-RFC מספר 2326 בשנת 1998.[1]

מנגנוני הפרוטוקול

עריכה

הפרוטוקול דומה לפרוטוקול HTTP, ומוסיף גם בקשות נוספות. ההבדל המשמעותי בין הפרוטוקולים קשור לאופן פעולתם. פרוטוקול HTTP הוא "חסר מצב" ופרוטוקול RTSP הוא "בעל מצב". נעשה שימוש במזהה חיבור למעקב אחר חיבורים בעת הצורך. ולכן חיבורי TCP קבועים אינם נדרשים. הודעות RTSP נשלחות מהלקוח לשרת, ורק במקרים חריגים נשלחות הודעות בכיוון ההפוך.

להלן מוצגות בקשות RSTP בסיסיות. חלקן בקשות HTTP רגילות. שכבת תעבורת ברירת המחדל עובדת בפורט מספר 554.

DESCRIBE

בקשת DESCRIBE כוללת URL של RTSP שמתחיל ב־rtsp://..., וסוג המידע החוזר הנתמך. פורט ברירת המחדל עבור פרוטוקול RTSP הוא 554 גם עבור תעבורת UDP וגם עבור תעבורת TCP. תשובה זו כוללת את תיאור התצוגה, בדרך כלל במבנה SDP (Session Description Protocol). תיאור התצוגה מציג את רשימת בקרי המדיה הזורמת בצירוף URL. במקרה טיפוסי, ישנו זרם מדיה אחד עבור קול ונוסף עבור וידאו.

SETUP

בקשת SETUP מפרטת איך זרם מדיה בודד צריך לעבור. בקשה זו חייבת להישלח לפני שליחת בקשת PLAY. הבקשה מכילה את URL זרם המדיה ומפרט תעבורה. המפרט בדרך כלל כולל פורט מקומי לקבלת נתוני RTP (קול ווידאו), ונתוני RTSP נוספים. השרת משיב בדרך כלל באישור לפרמטרים שנבחרו, והשלמת החלקים החסרים, כמו פורטים בשרת.

PLAY

בקשת PLAY תגרום לזרם מדיה אחד או יותר לפעול. בקשות הפעלה יכולות להיערם על ידי שליחת בקשות PLAY רבות. ה-URL יכול להיות ה-URL המצורף (להפעלת כל זרמי המדיה), או URL זרם מדיה בודד (להפעלת רק זרם המדיה). טווח יכול להישלח. אם טווח אינו נשלח, הזרם מופעל מההתחלה ועד הסוף, או, אם הזרם מופסק, הוא חוזר מנקודת ההפסקה.

PAUSE

בקשת PAUSE מפסיקה באופן זמני זרם מדיה אחד או יותר, כך שמאוחר יותר בקשת PLAY ממשיכה את הזרם מהנקודה בה הופסק. הבקשה מכילה URL זרם מדיה מצורף. מיקום ההפסקה יכול להיות מוגדר בטווח הפרמטרים.

RECORD

בקשת ה-RECORD משמשת לשליחת הזרם אל השרת לאחסון.

TEARDOWN

בקשת TEARDOWN משמשת לסיום החיבור. הבקשה מפסיקה את כל זרמי המדיה ומשחררת את כל החיבורים הפתוחים מול השרת.

יישומי שרת

עריכה
  • QuickTime Streaming Server: שרת הזרמה קוד סגור של חברת אפל המותקן על שרתי Mac OS X.
  • Darwin Streaming Server: גרסת קוד פתוח של שרת הזרמה Quicktime המתוחזקת על ידי חברת אפל.
  • Pvserver: רשמית נקרא שרת הזרמה PacketVideo, מוצר של חברת אלקטל-לוסנט.
  • Helix DNA Server: שרת הזרמה של חברת "ריל נטוורקס". מגיע בשתי גרסאות, האחת קוד פתוח והשנייה קוד סגור.
  • Live555: שרת ולקוח קוד פתוח C++ אשר נמצא בשימוש רחב בתוכנות "מפעיל מדיה VLC" ו-mplayer.
  • VideoLAN: מפעיל מדיה קוד פתוח ושרת הזרמה.
  • Windows Media Services: שרת הזרמה של חברת מיקרוסופט המצורף לשרת חלונות.
  • VX30: שרת וידאו זורם ולקוח Java מובנה.
  • שרת הזרמה קסנון: שרת הזרמה לטלפונים סלולריים של חברת "וידיאייטור טכנולוגיות".
  • RtpRtspStack: שרת הזרמה אשר תוכנן לרוחב פס נמוך וביצועי יישום גבוהים.

יישומי לקוח

עריכה

קישורים חיצוניים

עריכה
  מדיה וקבצים בנושא RTSP בוויקישיתוף

הערות שוליים

עריכה
  1. ^ RFC 2326, Real Time Streaming Protocol (RTSP), IETF, 1998