FMUSER Wirless להעביר וידאו ושמע קל יותר!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> אפריקאית
sq.fmuser.org -> אלבנית
ar.fmuser.org -> ערבית
hy.fmuser.org -> ארמנית
az.fmuser.org -> אזרבייג'נית
eu.fmuser.org -> באסקית
be.fmuser.org -> בלארוסית
bg.fmuser.org -> בולגרית
ca.fmuser.org -> קטלאנית
zh-CN.fmuser.org -> סינית (פשוטה)
zh-TW.fmuser.org -> סינית (מסורתית)
hr.fmuser.org -> קרואטית
cs.fmuser.org -> צ'כית
da.fmuser.org -> דנית
nl.fmuser.org -> הולנדית
et.fmuser.org -> אסטונית
tl.fmuser.org -> פיליפינית
fi.fmuser.org -> פינית
fr.fmuser.org -> צרפתית
gl.fmuser.org -> גליציאנית
ka.fmuser.org -> גרוזינית
de.fmuser.org -> גרמנית
el.fmuser.org -> יוונית
ht.fmuser.org -> קריאולית האיטי
iw.fmuser.org -> עברית
hi.fmuser.org -> הינדית
hu.fmuser.org -> הונגרית
is.fmuser.org -> איסלנדית
id.fmuser.org -> אינדונזית
ga.fmuser.org -> אירית
it.fmuser.org -> איטלקית
ja.fmuser.org -> יפנית
ko.fmuser.org -> קוריאנית
lv.fmuser.org -> לטבית
lt.fmuser.org -> ליטאי
mk.fmuser.org -> מקדונית
ms.fmuser.org -> מלאית
mt.fmuser.org -> מלטזית
no.fmuser.org -> נורווגית
fa.fmuser.org -> פרסית
pl.fmuser.org -> פולני
pt.fmuser.org -> פורטוגזית
ro.fmuser.org -> רומנית
ru.fmuser.org -> רוסית
sr.fmuser.org -> סרבית
sk.fmuser.org -> סלובקית
sl.fmuser.org -> סלובנית
es.fmuser.org -> ספרדית
sw.fmuser.org -> סווהילי
sv.fmuser.org -> שוודית
th.fmuser.org -> תאילנדי
tr.fmuser.org -> טורקית
uk.fmuser.org -> אוקראינית
ur.fmuser.org -> אורדו
vi.fmuser.org -> וייטנאמי
cy.fmuser.org -> וולשית
yi.fmuser.org -> יידיש
HLS ו- Http Live Streaming הם פרוטוקולים לשידור בזמן אמת שהוגדרו על ידי Apple. HLS מיושם על בסיס פרוטוקול HTTP. תוכן השידור כולל שני חלקים, האחד הוא קובץ התיאור M3U8, והשני הוא קובץ המדיה TS.
1. קובץ M3U8
קובץ המדיה מתואר בטקסט המורכב מסדרת תגים.
#EXTM3U
# EXT-X- יעד: 5
# EXTINF: 5,
./0.ts
# EXTINF: 5,
./1.ts
# EXTM3U: השורה הראשונה של כל קובץ M3U8 חייבת להיות תג זה.
# EXT-X-TARGETDURATION: ציין את אורך הזמן המקסימלי של קטע המדיה (שניות). אורך הזמן שצוין ב- # EXTINF חייב להיות קטן או שווה לערך מקסימלי זה. ערך זה יכול להופיע רק פעם אחת.
# EXTINF: תאר את אורכו של קובץ מדיה יחיד. קבצי מדיה עוקבים אחריהם, כגון ./0.ts
ניתן להפיץ אותו באמצעות HTTP במכשיר iOS וב- Mac. תקן הפלייליסט הוא קובץ m3u8 המורחב ב- m3u, וקובץ המדיה הוא קובץ MPEG2-TS או AAC (שמע בלבד).
ישנם שני תרחישים של יישומים עבור קבצי m3u8:
זרם הסתגלות רב קצב,
#EXTM3U
# EXT-X-STREAM-INF: PROGRAM-ID = 1, רוחב רוחב = 1280000
# EXT-X-STREAM-INF: PROGRAM-ID = 1, רוחב רוחב = 2560000
# EXT-X-STREAM-INF: PROGRAM-ID = 1, רוחב רוחב = 7680000
# EXT-X-STREAM-INF: PROGRAM-ID = 1, רוחב רוחב = 65000, CODECS = "mp4a.40.5"
http://example.com/audio-only.m3u8
זרם הסתגלות בקצב יחיד
#EXTM3U
# EXT-X- יעד: 5220
# EXTINF: 5220,
http://media.example.com/entire.ts
# EXT-X-ENDLIST
ארגון התקנים הבינלאומי מגדיר מסמך rfc זה:
http://tools.ietf.org/html/draft-pantos-http-live-streaming-06
קובץ m3u8 הוא סיומת של קובץ m3u. מילות המפתח המורחבות מוגדרות ב- rfc:
ביניהם:
# EXT-X- מטרה
הגדר את משך הזמן המרבי של כל TS.
# רצף EXT-X-MEDIA
הגדר את המספר הסידורי של הקובץ הראשון בקובץ m3u8 הנוכחי. לכל קובץ ts מספר סידורי קבוע וייחודי בקובץ m3u8. המספר הסידורי משמש להחלפת קצב היישור במהלך MBR.
# EXT-X-KEY
הגדר את שיטת ההצפנה ואת כתובת האתר של קובץ המפתח, המשמש להשגת קובץ המפתח 16 בתים לפענוח קובץ ה- ts.
תכונות:
שיטה
כתובת האתר
# EXT-X-PROGRAM-DATE-TIME
זמן מוחלט של הקובץ הראשון
# EXT-X-ALLOW-CACHE
אם לאפשר מטמון.
# EXT-X-ENDLIST
מציין את סוף הקובץ m3u8. Live m3u8 אין את התג הזה.
# EXT-X-STREAM-INF
תכונות:
BANDWIDTH מציין את קצב הסיביות
מזהה ייחודי של PROGRAM-ID
CODECS מציין את סוג הקידוד של הזרם
# EXT-X-DISCONTINUITY
כאשר מתגלים בתגית, התכונות הבאות השתנו:
תבנית קובץ
מספר וסוג המסלולים
פרמטרי קידוד
רצף קידוד
רצף חותמת זמן
# EXT-X-VERSION ניתן להשתמש במאפיין זה או לא, לא יכול להיות לך
M3U8 מחולק ל- M3U8 ודרגה שנייה M3U8. ה- M3U8 ברמה העליונה משמש בעיקר להתאמה רב-קצבית. M3U8 ברמה השנייה הוא קובץ הפרוסות האמיתי.
כברירת מחדל, הלקוח יבחר תחילה בבקשה עם קצב הסיביות הגבוה ביותר. אם הוא מגלה שלא ניתן להגיע לקצב הסיביות, הוא יבקש זרם עם קצב סיביות נמוך
קובץ M3U8 ברמה העליונה בשימוש בפועל הוא כדלקמן:
#EXTM3U
# EXT-X-STREAM-INF: PROGRAM-ID = 201273221265, רוחב רוחב = 358400
11.m3u8
# EXT-X-STREAM-INF: PROGRAM-ID = 201273221265, רוחב רוחב = 972800
22.m3u8
קובץ M3U8 ברמה העליונה מגדיר שני קבצים ברמה שנייה, 11.m3u8 ו- 22.m3u8, והלקוח יבחר באחד מהם כדי לקבל את תוכנו.
התוכן של קובץ M3U8 המשני הוא כדלקמן:
#EXTM3U
# EXT-X-VERSION: 1
# EXT-X- יעד: 10
# EXT-X- מדיה-רצף: 0
# EXTINF: 3,
1-4.טס
# EXTINF: 8,
1-6.טס
# EXTINF: 8,
1-8.טס
# EXTINF: 8,
1-10.טס
# EXTINF: 8,
1-12.טס
# EXTINF: 8,
1-14.טס
# EXTINF: 8,
1-16.טס
# EXTINF: 9,
1-18.טס
# EXTINF: 6,
1-20.טס
# EXTINF: 8,
1-22.טס
# EXTINF: 9,
1-24.טס
# EXTINF: 3,
1-26.טס
# EXT-X-ENDLIST
לאחר שהלקוח יקבל את קובץ ה- M3U8 המשני לעיל, הוא ימשיך לבקש את הקובץ פנימה ואז ניתן יהיה להפעיל אותו.
האמור לעיל הוא על המצב לפי דרישה ומצב השידור החי, יהיו תכונות בקובץ M3U8 כדי לומר שהוא חי, והלקוח יבקש מעת לעת קבצי M3U8 חדשים.
// כאשר HLS מממש לפי דרישה ושידור חי, ההבדל בין קובץ M3U8
1. תיאור הבעיה
לאחרונה עשיתי בדיקת השמעת פרוסות מקודדות, באמצעות HLS (HTTP Live Streaming) לביצוע השידור החי. כל זמן פילוח TS הוא 10 שניות, וקבצי ה- m3u8 החיים הבאים נוצרים על פי קבצי הפילוח של TS
העתק קוד
#EXTM3U
# EXT-X- מדיה-רצף: 1
# EXT-X- יעד: 10
# EXTINF: 10
hls / 1. ts
# EXTINF: 10
hls / 2. ts
# EXTINF: 10
hls / 3. ts
# EXTINF: 10
hls / 4. ts
# EXTINF: 10
hls / 5. ts
# EXTINF: 10
hls / 6. ts
# EXTINF: 10
hls / 7. ts
# EXTINF: 10
hls / 8. ts
# EXTINF: 10
hls / 9. ts
# EXTINF: 10
hls / 10. ts
העתק קוד
שמור את קובץ ה- m3u8 הנ"ל כ- live.m3u8, הכנס אותו לספריית המסמכים של אפאצ'י, והפעל את כתובת האתר הבאה באמצעות VLC:
http://localhost/live.m3u8
בבדיקה נמצא כי הקובץ הראשון שהתחיל לשחק אינו 1.ts. לאחר מספר בדיקות נמצא כי:
כל עוד ישנם יותר משלושה קבצים ברשימה, שלושת הקבצים האחרונים ברשימה מושמעים תמיד
2. פתרון בעיות
עצוב מאוד שלאחר חיפוש באינטרנט לא מצאתי מידע יעיל. חבר נתקל באותו מצב, האם הוא שיתף את החוויה שלו לאחר שפתר אותה?
לאחר התייעצות עם עמית, העמית אמר שזה אפשרי מכיוון שרשימת הקבצים החיים m3u8 חייבת להיות מעודכנת בזמן אמת. אם נעשה בדיקה, נוכל להוסיף # EXT-X-ENDLIST בסוף בסוף. שיטה זו נבדקה. זה עובד, אבל זה כבר לא במצב m3u8 פעיל
לאחר שחיפשתי שוב באינטרנט, אישרתי שמצאתי סוף סוף תיאור m3u8 חי
פלייליסט חי (חלון הזזה)
עבור הפעלות בשידור חי, קובץ האינדקס מתעדכן על ידי הסרת URI של מדיה מהקובץ כאשר קבצי מדיה חדשים נוצרים והופכים לזמינים.
חשוב: התג EXT-X-ENDLIST אינו קיים בפלייליסט החי, מה שמעיד על כך שקובצי מדיה חדשים יתווספו לקובץ האינדקס ככל שיהיו זמינים.
ראה רישום 3 לדוגמא רשימת השמעה חיה כפי שהיא תופיע בתחילת הפגישה.
מציג 3 רשימות השמעה חיות בתחילת מושב.
העתק קוד
#EXTM3U
# EXT-X- יעד: 10
# EXT-X-VERSION: 3
# EXT-X- מדיה-רצף: 1
# EXTINF: 10,
fileSequence1.ts
# EXTINF: 10,
fileSequence2.ts
# EXTINF: 10,
fileSequence3.ts
# EXTINF: 10,
fileSequence4.ts
# EXTINF: 10,
fileSequence5.ts
העתק קוד
ערך התג EXT-X-MEDIA-SEQUENCE חייב להיות מוגדל ב- 1 לכל URI מדיה שמוסר מהקובץ. יש להסיר את ה- URI של המדיה מקובץ ההשמעה לפי סדר הופעתם ברשימת ההשמעה. קובץ האינדקס המעודכן מציג חלון נע לזרם רציף. סוג זה של הפעלה מתאים לשידורים רציפים.
הנה אותה רשימת השמעה לאחר שהיא עודכנה עם URI של מדיה חדשה:
מציג 4 רשימות השמעה חיה לאחר עדכון ה- URI של המדיה.
העתק קוד
#EXTM3U
# EXT-X- יעד: 10
# EXT-X-VERSION: 3
# EXT-X- מדיה-רצף: 2
# EXTINF: 10,
fileSequence2.ts
# EXTINF: 10,
fileSequence3.ts
# EXTINF: 10,
fileSequence4.ts
# EXTINF: 10,
fileSequence5.ts
# EXTINF: 10,
fileSequence6.ts
העתק קוד
3. לחיות כללי עדכון m3u8
יש לעדכן את רשימת הקבצים החיים m3u8 באופן רציף, לעדכן כללים:
הסר את הקובץ העליון (חושב שהושמע) בפלייליסט
עדכן ברציפות את תג EXT-X-MEDIA-SEQUENCE, הגדל ב -1
4. ניסוי
כתוב תוכנית קטנה להפקת m3u8 חי לבדיקה
נוֹהָג:
m3u8_gen.exe start_num list_count משך הקובץ.m3u8 [קידומת]
דוגמה לשימוש:
m3u8_gen.exe 1 3 10 live.m3u8 hls /
צור קובץ live.m3u8 כ-
העתק קוד
#EXTM3U
# EXT-X- מדיה-רצף: 1
# EXT-X- יעד: 10
# EXTINF: 10
hls / 1. ts
# EXTINF: 10
hls / 2. ts
# EXTINF: 10
hls / 3. ts
העתק קוד
כתוב סקריפט BAT כדי לעדכן את קובץ live.m3u8 כל עשרה
העתק קוד
@ Echo off
f
|
הזן דוא"ל כדי לקבל הפתעה
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> אפריקאית
sq.fmuser.org -> אלבנית
ar.fmuser.org -> ערבית
hy.fmuser.org -> ארמנית
az.fmuser.org -> אזרבייג'נית
eu.fmuser.org -> באסקית
be.fmuser.org -> בלארוסית
bg.fmuser.org -> בולגרית
ca.fmuser.org -> קטלאנית
zh-CN.fmuser.org -> סינית (פשוטה)
zh-TW.fmuser.org -> סינית (מסורתית)
hr.fmuser.org -> קרואטית
cs.fmuser.org -> צ'כית
da.fmuser.org -> דנית
nl.fmuser.org -> הולנדית
et.fmuser.org -> אסטונית
tl.fmuser.org -> פיליפינית
fi.fmuser.org -> פינית
fr.fmuser.org -> צרפתית
gl.fmuser.org -> גליציאנית
ka.fmuser.org -> גרוזינית
de.fmuser.org -> גרמנית
el.fmuser.org -> יוונית
ht.fmuser.org -> קריאולית האיטי
iw.fmuser.org -> עברית
hi.fmuser.org -> הינדית
hu.fmuser.org -> הונגרית
is.fmuser.org -> איסלנדית
id.fmuser.org -> אינדונזית
ga.fmuser.org -> אירית
it.fmuser.org -> איטלקית
ja.fmuser.org -> יפנית
ko.fmuser.org -> קוריאנית
lv.fmuser.org -> לטבית
lt.fmuser.org -> ליטאי
mk.fmuser.org -> מקדונית
ms.fmuser.org -> מלאית
mt.fmuser.org -> מלטזית
no.fmuser.org -> נורווגית
fa.fmuser.org -> פרסית
pl.fmuser.org -> פולני
pt.fmuser.org -> פורטוגזית
ro.fmuser.org -> רומנית
ru.fmuser.org -> רוסית
sr.fmuser.org -> סרבית
sk.fmuser.org -> סלובקית
sl.fmuser.org -> סלובנית
es.fmuser.org -> ספרדית
sw.fmuser.org -> סווהילי
sv.fmuser.org -> שוודית
th.fmuser.org -> תאילנדי
tr.fmuser.org -> טורקית
uk.fmuser.org -> אוקראינית
ur.fmuser.org -> אורדו
vi.fmuser.org -> וייטנאמי
cy.fmuser.org -> וולשית
yi.fmuser.org -> יידיש
FMUSER Wirless להעביר וידאו ושמע קל יותר!
צרו קשר
כתובת:
No.305 חדר HuiLan בניין No.273 Huanpu כביש גואנגזו סין 510620
כל הקטגוריות
ניוזלטר