StreamLive Pro

שידור ל-StreamLive Pro עם FFmpeg ב-RTMPS או ב-SRT

שידור ל-StreamLive Pro משורת הפקודה של FFmpeg ב-RTMPS או ב-SRT: פקודה שעובדת, מה עושה כל חלק בה, פריים מפתח כל 2 שניות, ואיך מתחברים מחדש אחרי נפילה.

עודכן · 4 דק׳ קריאה

‏FFmpeg יכולה לשלוח שידור חי ל-StreamLive Pro כמו כל מקודד אחר: מקודדים ל-H.264 ול-AAC, עוטפים ב-FLV, ושולחים לכתובת ה-RTMPS מכרטיס ה-Encoder כשמפתח השידור מחובר לסוף שלה. ‏StreamLive Pro שולחת את הזרם האחד הזה לכל ערוץ שסימנתם. זה מתאים לשרת, למחשב קטן שפועל כל הזמן, לפיד ממצלמה שכבר מושכים עם FFmpeg, או לערוץ שרץ 24 שעות מסקריפט.

אם כל מה שצריך הוא להריץ קובץ וידאו כשידור חי בשעה קבועה, לא צריך FFmpeg: האפשרות שידור מוקלט מראש עושה את זה מהדשבורד (שידור סרטון מוקלט כשידור חי, בשעה שקבעתם).

לפני שמתחילים

שלבים

  1. פותחים את כרטיס ה-Encoder. לוחצים שידור חדש ובוחרים שידור מתוכנה כמו OBS (RTMP / SRT). פותחים את לשונית RTMPS.
  2. מעתיקים כתובת ומפתח. הכתובת מסתיימת ב-‎/live/‎. כתובת הפלט המלאה היא הכתובת ומיד אחריה המפתח, בלי רווח ובלי לוכסן נוסף. שומרים אותה במשתנה סביבה או בקובץ שרק אתם יכולים לקרוא, לא בסקריפט משותף.
  3. מסמנים ערוצים ברשימת הערוצים ומשאירים את עמוד שידור חי פתוח בדפדפן בזמן הבדיקה.
  4. מריצים את הפקודה. למקור של 30 פריימים לשנייה:

ffmpeg -re -i input.mp4 \
  -c:v libx264 -preset veryfast -b:v 4500k -maxrate 4500k -bufsize 9000k \
  -pix_fmt yuv420p -g 60 -keyint_min 60 -sc_threshold 0 \
  -c:a aac -b:a 128k -ar 44100 \
  -f flv "$SLP_URL"
  1. בודקים שהשידור זוהה. תוך עשר עד שלושים שניות בערך StreamLive Pro מודיעה שהשידור זוהה ושולחת אותו לערוצים המסומנים. התצוגה המקדימה מאחרת אחרי FFmpeg בעשר עד שלושים שניות.
  2. מסיימים מ-StreamLive Pro. לוחצים עצירת השידור כדי לסיים בכל הרשתות, ואז עוצרים את FFmpeg עם q או Ctrl+C.
מסך השידור החי: תצוגה מקדימה, שידור ופאנל הערוצים (חשבון בדיקה).
מסך השידור החי: תצוגה מקדימה, שידור ופאנל הערוצים (חשבון בדיקה).

מה עושה כל חלק בפקודה

אפשרותלמה
-reקוראת קובץ במהירות האמיתית שלו. במקור חי, כמו מצלמה או כרטיס לכידה, שכבר מגיע בזמן אמת, משמיטים אותה
-c:v libx264וידאו H.264, הקידוד היחיד ששרת הקליטה מקבל
-b:v 4500k -maxrate 4500k -bufsize 9000kמחזיקה את הקצב קרוב לקבוע. ‏4,500 קילו-ביט הוא דוגמה; בוחרים מה שההעלאה שלכם מחזיקה
-pix_fmt yuv420pפורמט הפיקסלים שנגנים מצפים לו ב-H.264
-g 60 -keyint_min 60 -sc_threshold 0פריים מפתח כל 60 פריימים, כלומר כל 2 שניות ב-30 פריימים לשנייה, בלי פריימי מפתח נוספים בחיתוכי סצנה. ב-60 פריימים לשנייה כותבים 120
-c:a aac -b:a 128k -ar 44100שמע AAC, ‏128 קילו-ביט ב-44.1 קילו-הרץ, ערכי הסטריאו ש-YouTube מפרסמת (YouTube Help: live encoder settings)
-f flv‏RTMP ו-RTMPS נושאים FLV

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

שליחה ב-SRT במקום

בקו שמאבד חבילות משתמשים בלשונית SRT. הכתובת שלה כבר כוללת את ה-Stream ID. אם לשידור יש סיסמה, מוסיפים אותה לכתובת כאפשרות passphrase, ומשאירים את הפלט ב-MPEG-TS:


-f mpegts "srt://ADDRESS-FROM-THE-CARD&passphrase=YOUR-PASSPHRASE"

שני פרטים מהתיעוד של FFmpeg: אפשרות ההשהיה (latency) של SRT נמדדת במיקרו-שניות, לא באלפיות שנייה, ומצב ברירת המחדל הוא caller, וזה מה שצריך כדי לדחוף לשרת שלנו. שדות ה-SRT מוסברים בשידור ב-SRT מ-OBS, מ-vMix או ממקודד חומרה.

חיבור מחדש אחרי נפילה

‏FFmpeg לא מחברת פלט מחדש בעצמה; כשהחיבור נופל, התהליך נגמר. בעמוד של Cloudflare כתוב שהצד ששולח צריך להיות מוגדר להתחבר מחדש אחרי ניתוק, ושהשידור ממשיך כשהוא חוזר. מריצים את FFmpeg מתוך לולאה קטנה או ממנהל שירותים שמפעיל אותה שוב אחרי כמה שניות. ‏StreamLive Pro נותנת למקודד שנפל חלון זמן קצר לחזור לפני שהשידור נסגר; ראו השידור החי נעצר לבד.

מה יכול להשתבש

מה רואיםמה עושים
‏"Protocol not found" עבור rtmps או srtבגרסת FFmpeg שלכם אין TLS או libsrt. מתקינים גרסה מלאה, או משתמשים בלשונית RTMP
החיבור נדחה מידמפתח שגוי, מפתח של שידור אחר, או שידור שעצרתם קודם. ראו OBS לא מתחבר לשרת: "Failed to connect to server
זוהה, אבל אין תמונההקידוד לא H.264, או שאין פריימי מפתח קבועים. משאירים -c:v libx264 ואת ערך -g
קובץ מתנגן מהר מדיחסרה האפשרות -re
גמגום בכל הרשתותהקצב גבוה ממה שההעלאה מחזיקה. מורידים את -b:v ואת -maxrate

שאלות נפוצות

‏FFmpeg יכולה לשדר ל-YouTube ולפייסבוק ביחד דרך StreamLive Pro?

כן. ‏FFmpeg שולחת זרם אחד ל-StreamLive Pro, והשרתים שלנו שולחים אותו לכל ערוץ שסימנתם, כך שהמחשב שמריץ את FFmpeg מעלה אותו פעם אחת.

איזו כתובת FFmpeg צריכה?

את כתובת ה-RTMPS מכרטיס ה-Encoder, ומיד אחריה את מפתח השידור. הכתובת מסתיימת ב-/live/, אז אין לוכסן נוסף.

איזו הגדרת פריים מפתח לשים ב-FFmpeg?

פריים מפתח כל 2 שניות: ‏-g 60 ב-30 פריימים לשנייה, או -g 120 ב-60, כשפריימי מפתח בחיתוכי סצנה כבויים.

אפשר לשלוח HEVC או AV1 מ-FFmpeg?

לא. שרת הקליטה מקבל רק וידאו H.264 ושמע AAC.

צריך FFmpeg כדי לשדר סרטון מוקלט כשידור חי?

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

המשך קריאה

איך משדרים משחק ל-Twitch, ל-Kick ול-YouTube ביחד

איך משדרים משחק ל-Twitch, ל-Kick ול-YouTube בבת אחת: OBS שולח זרם אחד ו-StreamLive Pro מעבירה אותו הלאה, וגם צ'אט, העלאה, כללי הרשתות ושורטס.

מה זה שרת קליטה (Ingest) בשידור חי

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

חיבור PRISM Live Studio ל-StreamLive Pro

איך מוסיפים את StreamLive Pro כערוץ מותאם ב-PRISM Live Studio במחשב, ושולחים זרם אחד ל-YouTube, לעמודי פייסבוק, ל-Twitch ועוד: שלבים, הגדרות ותיקונים.

חיבור XSplit Broadcaster ל-StreamLive Pro

איך מוסיפים פלט Custom RTMP ב-XSplit Broadcaster עם הכתובת והמפתח של StreamLive Pro, ומגיעים ל-YouTube, לעמודי פייסבוק, ל-Twitch ועוד מזרם אחד.

רוצים לנסות? 7 ימי ניסיון, בלי כרטיס אשראי.

להתחיל בחינם
האפליקציה לטלפון ראשי מרכז העזרה מדריכים פרטיותתנאי שימושהצהרת נגישות