הבלוג של StreamHouseהגדרת שידור srt

איך לשלוח שידור חי ליעד SRT

יעדי SRT דורשים כמה פרטים יותר מאשר RTMP: מצב, host ופורט, ולעיתים קרובות גם stream ID, סיסמה (passphrase) והשהיה. כאן מוסבר מה המשמעות של כל חלק בכתובת srt:// ואיך מחברים שידור.

כ־6 דקות קריאה

בעמוד הזה

כדי לשלוח שידור חי ליעד SRT, קבלו כתובת srt:// מהצד המקבל, בררו איזה צד מאזין ואיזה צד מתקשר, והתאימו את ה-stream ID, הסיסמה וההשהיה שהמקבל מצפה להם. אחר כך פתחו את פורט ה-UDP של המקבל, הפעילו את השולח וודאו שהווידאו מגיע לפני שאתם סומכים עליו.

אי-התאמות קטנות שוברות הגדרות SRT, אז התאימו כל פרט. חדשים בפרוטוקול? התחילו עם מה זה שידור SRT.

עיקרי הדברים

  • צד אחד בחיבור SRT מאזין על פורט UDP, והצד השני מתקשר אליו.
  • כתובת srt:// כוללת host ופורט, יחד עם אפשרויות כמו mode, streamid ו-passphrase.
  • רוב הכשלים נובעים מפורט סגור, משני צדדים במצב caller, או מאי-התאמה בסיסמה או ב-stream ID.
  • בדקו מקומית לפני שאתם מכוונים שידור 24/7 למקבל בסביבת ייצור.

מי בכלל משתמש ביעדי SRT

בדרך כלל לא תשלחו SRT לפלטפורמה חברתית מרכזית. יעדי SRT הם בדרך כלל מערכות שמפעילים גוף שידור, חברה או שותף:

  • שידור והפקה (playout). אולפנים מקבלים פידים דרך SRT אל מפענחי חומרה, מיתגים ומערכות playout.
  • שרתי מדיה. שרתי מדיה באירוח עצמי ושרתים מסחריים מקבלים SRT ואורזים אותו מחדש לנגנים, להקלטה או להפצה נוספת.
  • מסירה לשותפים. ערוץ שמספק תוכן לרשת, למסכים במקום אירועים או למפיץ מעביר אותו לא פעם דרך SRT.
  • שירותי וידאו בענן. חלק מהפלטפורמות המקצועיות מציעות קליטת SRT לצד RTMP.

בכל המקרים האלה, מי שמפעיל את המקבל נותן לכם פרטי חיבור שצריך להתאים בדיוק. אם הצד השני מציע רק RTMP, עקבו אחרי המדריך לשרת RTMP מותאם אישית במקום.

מצבי caller, listener ו-rendezvous

כל חיבור SRT צריך צד אחד שמחכה וצד אחד שמחייג.

  • Listener נקשר לפורט UDP ומחכה לחיבורים. הוא צריך כתובת נגישה ופורט פתוח בחומת האש.
  • Caller מתחבר ל-host ולפורט של ה-listener, ועובד מאחורי רוב חומות האש כי החיבור יוצא.
  • Rendezvous גורם לשני הצדדים להתקשר זה לזה בבת אחת על פורטים מוסכמים, מה שיכול לעזור כששום צד לא מקבל תעבורה נכנסת.

המצב לא קשור לכיוון שבו זורם הווידאו. כששירות ענן או מקודד מעבירים שידור לשרת שלכם, ההסדר הרגיל הוא שהשולח הוא caller והמקבל הוא listener.

הטעות הקלאסית היא שני callers או שני listeners. שני הצדדים מחכים בלי שגיאה ברורה, אז אשרו את המצב מול מי שמפעיל את המקבל.

קריאת כתובת srt:// חלק אחר חלק

כתובת SRT נראית בדרך כלל בערך כך:

srt://ingest.example.com:9000?mode=caller&streamid=channel-main&passphrase=YOUR-LONG-SECRET

  • Host ופורט. שם המארח או כתובת ה-IP של המקבל, ופורט ה-UDP שעליו הוא מאזין. אין פורט ברירת מחדל אוניברסלי, אז השתמשו בזה שקיבלתם.
  • mode. התפקיד של הצד שלכם: caller, listener או rendezvous.
  • streamid. מזהה שחלק מהמקבלים משתמשים בו כדי לנתב או לאשר פיד, בדומה למפתח שידור. הפורמט שלו תלוי במקבל.
  • passphrase. הסוד המשותף להצפנת AES, שבדרך כלל נדרש להיות באורך של 10 עד 79 תווים. שני הצדדים חייבים להתאים בדיוק.
  • pbkeylen. אורך מפתח אופציונלי של 16, 24 או 32 בתים, כלומר AES-128, 192 או 256.
  • latency. חוצץ ההתאוששות. חלק מהכלים מקבלים מילישניות, בעוד שתוכנות מבוססות FFmpeg מצפות בדרך כלל למיקרושניות, אז בדקו לפני שאתם מעתיקים מספר מהגדרה אחרת.

הכנת הצד המקבל

אם אתם מפעילים את המקבל בעצמכם, הכינו אותו לפני שמשהו נשלח:

  1. הגדירו listener על פורט UDP קבוע בשרת המדיה, במפענח או בתוכנת ה-playout.
  2. פתחו את פורט ה-UDP הזה בחומת האש של השרת ובכל security group בענן או נתב שנמצאים לפניו. כללי TCP לא מכסים SRT.
  3. בחרו סיסמה (passphrase) ואם התוכנה שלכם מנתבת לפי stream ID, גם מזהה לפיד הזה.
  4. בחרו השהיה שמתאימה לנתיב; מסלולים ארוכים או לא יציבים צריכים יותר.
  5. אשרו את הפורמט. SRT נושא בדרך כלל MPEG-TS עם וידאו H.264 ואודיו AAC, אז ודאו שהמקבל תומך בזה.
  6. בדקו מקומית על ידי שליחת פיד קצר מ-OBS או מ-FFmpeg במחשב אחר.

אם המקבל מקבל רק כתובות מאושרות, אשרו גם את הכתובת של השולח.

פתרון תקלות בחיבורי SRT שלא עולים

שגיאות SRT הן לעיתים קרובות מעורפלות, אז אבחנו לפי התסמין:

  • החיבור נכשל בפסק זמן. פורט ה-UDP סגור או לא מועבר, ה-host שגוי, או ששני הצדדים משתמשים באותו מצב.
  • החיבור נדחה. בדרך כלל אי-התאמה בסיסמה, סיסמה שהוגדרה רק בצד אחד, או stream ID שהמקבל לא מזהה.
  • מתחבר ואז מגמגם או נופל. ההשהיה נמוכה מדי לנתיב הרשת, או שרוחב הפס נמוך מקצב הסיביות יחד עם התקורה של שליחות חוזרות. העלו קודם את ההשהיה.
  • מתחבר בלי תמונה או קול. המקבל מצפה ל-container או ל-codec אחרים, והלוגים שלו בדרך כלל אומרים איזה.

ברגע שזה עובד, תעדו כל ערך שהתחבר. ההרגלים הכלליים בשמירה על שידור 24/7 באוויר חלים גם על יעדי SRT.

הוספת יעד SRT לשידור ב-StreamHouse

ב-StreamHouse, SRT הוא יעד מותאם אישית לצד הפלטפורמות המובנות. הדביקו את כתובת ה-srt:// המלאה של המקבל, כולל האפשרויות שהוא דורש כמו סיסמה. אם קיבלתם stream ID או מפתח בנפרד, הזינו אותו בשדה ה-stream ID, ו-StreamHouse תוסיף אותו כפרמטר streamid כשהכתובת עוד לא כוללת אחד. בלי mode בכתובת, StreamHouse מתחברת כ-caller, ולכן המקבל שלכם צריך להאזין.

שלחו פלייליסט בלופ של סרטונים שקודדו מראש למקבל שלכם מסביב לשעון, או הוסיפו SRT לצד YouTube, Twitch ויעדי RTMP אחרים באותו שידור, בלי לצרוך משבצות שידור נוספות. הכול רץ בענן ומתחבר מחדש אוטומטית אחרי תקלות. מדריך הצעדים הראשונים מלווה אתכם בשידור הראשון.

שאלות נפוצות

באיזה פורט SRT משתמש?

אין פורט סטנדרטי אחד. ה-listener יכול להשתמש בכל פורט UDP פנוי, ומי שמפעיל את המקבל אומר לכם באיזה. הפורט הזה חייב להיות פתוח לתעבורת UDP בכל חומת אש שנמצאת בין השולח ל-listener.

השולח שלי צריך להיות caller או listener?

בדרך כלל השולח מתקשר והמקבל מאזין, כי למקבלים יש לרוב כתובות קבועות ופורטים פתוחים, בעוד שהשולחים יושבים מאחורי חומות אש. מבחינה טכנית שתי האפשרויות עובדות, כל עוד הצדדים משתמשים במצבים הפוכים או ששניהם משתמשים ב-rendezvous.

איזו השהיה להגדיר לשידור SRT?

נקודת פתיחה מקובלת היא כמה פעמים זמן הסבב (round-trip) בין השולח למקבל, ויותר מזה בקישורים עם איבוד חבילות או למרחקים ארוכים. התחילו בזהירות, עקבו אחרי חבילות שנופלות, ואז הורידו בהדרגה. בדקו אם הכלי שלכם מצפה למילישניות או למיקרושניות.

אפשר לשלוח SRT ו-RTMP מאותו שידור?

כן, אם הכלי שלכם תומך בכמה פלטים. שירות ענן יכול להעביר RTMP לפלטפורמות ציבוריות ו-SRT למקבל פרטי בו-זמנית, בלי העלאה נוספת מהחיבור שלכם. כל יעד עדיין צריך את הפרטים הנכונים שלו.

לאן ממשיכים