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 -> ยิดดิช
0 พื้นหลัง HLS และความตั้งใจเดิม
HLS เป็นโปรโตคอลการขนส่งเครือข่ายสื่อแบบสตรีมมิ่งที่ริเริ่มโดย apple โปรดดูที่สตรีมมิงแบบสด HTTP rfc8261 หลักการทำงานของมันคือการแบ่งสตรีมทั้งหมดออกเป็นไฟล์ที่ใช้ HTTP ขนาดเล็กเพื่อดาวน์โหลดและดาวน์โหลดเพียงบางไฟล์ในแต่ละครั้ง เมื่อสตรีมสื่อกำลังเล่นไคลเอนต์สามารถเลือกที่จะดาวน์โหลดทรัพยากรเดียวกันจากแหล่งข้อมูลสำรองหลายแหล่งในอัตราที่แตกต่างกันทำให้เซสชันสตรีมสามารถปรับให้เข้ากับอัตราข้อมูลที่แตกต่างกัน เมื่อเริ่มเซสชันสื่อการสตรีมไคลเอนต์จะดาวน์โหลดไฟล์เครื่องเล่น M3U (m3u8) แบบขยายที่มีข้อมูลเมตาเพื่อค้นหาสตรีมสื่อที่มีอยู่
HLS ร้องขอแพ็กเก็ต HTTP พื้นฐานเท่านั้น ซึ่งแตกต่างจาก RTP ตรงที่ HLS สามารถส่งผ่านไฟร์วอลล์หรือพร็อกซีเซิร์ฟเวอร์ที่อนุญาตให้ส่งข้อมูล HTTP ได้ นอกจากนี้ยังง่ายต่อการใช้เครือข่ายการกระจายเนื้อหาเพื่อส่งกระแสข้อมูลสื่อ
มีข้อมูลมากมายเกี่ยวกับ HLS บนอินเทอร์เน็ต บทความนี้จัดเรียงความรู้พื้นฐานของโปรโตคอลสื่อสตรีมมิ่ง HLS เป็นหลักตามความเข้าใจของฉัน
ข้อกำหนดรูปแบบโปรโตคอล 0.1 HLS
รูปแบบบรรจุภัณฑ์ของวิดีโอ
บันทึกไฟล์ m3u8 ของดัชนี TS
รูปแบบการเข้ารหัสวิดีโอ: H264 (ตราบใดที่ mpeg-ts รองรับมันก็ใช้ได้โดยทั่วไป แต่บางรูปแบบไม่ฟรีเสียงก็คล้ายกัน)
รูปแบบการเข้ารหัสเสียง: AAC, MP3, AC-3
ข้อดี 0.2 HLS
การใช้ HTTP มาตรฐานในการส่งข้อมูลมีการเจาะเครือข่ายและความต้านทานการป้องกันที่ดีกว่าและง่ายกว่าสำหรับการส่งผ่านเครือข่ายการกระจายเนื้อหา
โปรโตคอล HLS รองรับการปรับอัตราและไคลเอนต์สามารถเปลี่ยนไปใช้อัตราที่เหมาะสมตามสภาพเครือข่ายจริง
บริการเผยแพร่เนื้อหา HLS นั้นง่ายกว่าต้องการอุปกรณ์ระบบน้อยกว่าและง่ายกว่าในการทำโหลดบาลานซ์ HLS เป็นโปรโตคอล HTTP แบบไม่ระบุสถานะและไคลเอนต์จำเป็นต้องดาวน์โหลดเท่านั้น
0.3 HLS เสียเปรียบ
ความล่าช้ามีขนาดใหญ่โดยเฉพาะอย่างยิ่งในกรณีของการถ่ายทอดสดเป็นการยากที่จะเกิดความล่าช้าน้อยกว่า 10 วินาที (อย่ายกเว้นเวอร์ชันและอัลกอริทึมที่ปรับปรุงแล้วทุกประเภทบนอินเทอร์เน็ต)
การสร้างเนื้อหาต้องการตัวเข้ารหัสที่มีประสิทธิภาพสูง
1 ระบบ HLS และสถาปัตยกรรมพื้นฐาน
HLS รองรับการเข้ารหัสและการรับรองความถูกต้องแบบสดหรือตามความต้องการ ตามแนวคิดแล้ว HTTP มักประกอบด้วยสามส่วน ได้แก่ เซิร์ฟเวอร์ผู้เผยแพร่และไคลเอนต์
1.1 เซิร์ฟเวอร์ HLS
เซิร์ฟเวอร์มีหน้าที่หลักในการเข้ารหัสและห่อหุ้มข้อมูลสื่ออินพุตและแบ่งส่วนไฟล์ที่ห่อหุ้มเพื่อให้เป็นไปตามข้อกำหนดของผู้เผยแพร่ เอาต์พุตอาจเป็นข้อมูลดิบของเสียงและวิดีโอข้อมูลที่เข้ารหัสหรือข้อมูล TS ที่ห่อหุ้ม ในที่สุดข้อมูลนี้จะถูกแบ่งเป็นรูปแบบที่ผู้เผยแพร่ต้องการผ่านเครื่องมือการแบ่งส่วน มีสามส่วนที่เกี่ยวข้อง
ตัวเข้ารหัสสื่อ
ตัวเข้ารหัสมัลติมีเดียส่วนใหญ่เข้ารหัสและห่อหุ้มสัญญาณเรียลไทม์ที่รวบรวมจากอุปกรณ์เสียงและวิดีโอ ในการเขียนโค้ดต้องเลือกรูปแบบที่ไคลเอ็นต์รองรับเช่น H264 video + aac audio ในปัจจุบันรูปแบบการห่อหุ้มที่รองรับโดย HLS คือ mpeg-ts หรือ mpeg-es ซึ่งรองรับเฉพาะเสียงที่บริสุทธิ์เท่านั้น หลังจากเข้ารหัสตัวเข้ารหัสสามารถถ่ายโอนรูปแบบที่ห่อหุ้มไปยังเครื่องมือแบ่งส่วนผ่านเครือข่ายท้องถิ่นหรือกลไกอื่น ๆ
เครื่องมือแบ่งกลุ่ม
ตามแหล่งอินพุตที่แตกต่างกันมักแบ่งออกเป็นตัวแยกสตรีมและตัวแยกไฟล์
ตามชื่อที่แนะนำความแตกต่างหลักระหว่างพวกเขาอยู่ในรูปแบบไฟล์อินพุต: เอาต์พุตของตัวแยกสตรีมคือสตรีม mpeg-ts ที่ไหลเข้ามาจากเครือข่ายท้องถิ่นในขณะที่ตัวแยกไฟล์ประมวลผลไฟล์ TS ที่ห่อหุ้มไว้ หลักการทำงานคล้ายกัน: mpeg-ts แบ่งออกเป็นชุดไฟล์สื่อที่มีความยาวเท่ากัน แต่ชิ้นส่วนเล็ก ๆ เหล่านี้สามารถสร้างขึ้นใหม่ได้อย่างราบรื่นและเสียงและวิดีโอจะต่อเนื่องกันเมื่อเล่น
เครื่องมือแบ่งส่วนยังสร้างไฟล์ดัชนี (. M3u8) ที่มีข้อมูลดัชนีที่ชี้ไปยังไฟล์สื่อแต่ละไฟล์ เมื่อใดก็ตามที่ตัวแยกสร้างไฟล์สื่อใหม่เสร็จสมบูรณ์ตัวแยกจะอัปเดตไฟล์ดัชนี ดัชนีนี้ใช้เพื่อบันทึกตำแหน่งและความสามารถในการเข้าถึงไฟล์มีเดีย ในกระบวนการนี้เครื่องมือ Sharding สามารถเข้ารหัสแต่ละชาร์ดและสร้างไฟล์คีย์สำหรับมัน
รูปแบบของ. M3u8 มีรายละเอียดอธิบายไว้ด้านล่าง
1.2 เทอร์มินัลการกระจาย HLS
ผู้จัดจำหน่าย HLS นั้นค่อนข้างง่ายตราบใดที่ใช้เซิร์ฟเวอร์เครือข่ายมาตรฐาน พวกเขามีหน้าที่รับคำขอของลูกค้าและส่งไฟล์มัลติมีเดียที่ประมวลผลและทรัพยากรไปยังไคลเอนต์ หากการทำงานพร้อมกันมีขนาดใหญ่อาจจำเป็นต้องใช้ Edge Network หรือเครือข่ายการกระจายเนื้อหาอื่น ๆ
ระบบการแจกจ่ายเป็นเว็บเซิร์ฟเวอร์หรือระบบแคชของเว็บซึ่งสามารถส่งไฟล์มีเดียและไฟล์ดัชนีไปยังไคลเอนต์ผ่าน HTTP ในกรณีส่วนใหญ่ไม่จำเป็นต้องกำหนดค่าเซิร์ฟเวอร์และโมดูลเพิ่มเติมก่อนที่จะแจกจ่ายเนื้อหาและจำเป็นต้องมีการกำหนดค่าเพียงเล็กน้อยเพื่อให้ทำงานได้ตามปกติบนเว็บเซิร์ฟเวอร์ สำหรับการกำหนดค่าโดยละเอียดโปรดดูการปรับใช้สตรีมมิงแบบสด HTTP
1.3 ไคลเอนต์ HLS
ไคลเอนต์มีหน้าที่รับผิดชอบในการเลือกทรัพยากรคำขอที่เหมาะสมทรัพยากรตัวดาวน์โหลดและจากนั้นถอดรหัสการแสดงผล (ฟังก์ชันทั้งหมดของเครื่องเล่น)
โดยปกติไคลเอนต์จะใช้ URL ที่กำหนดเพื่อระบุข้อมูลของสตรีมโดยเริ่มจากการรับไฟล์ดัชนี โดยทั่วไปไฟล์ดัชนีนี้จะระบุตำแหน่งของไฟล์สื่อที่มีอยู่คีย์การถอดรหัสและสตรีมอื่น ๆ ที่เป็นทางเลือก หลังจากไคลเอนต์เลือกสตรีมแล้วไคลเอ็นต์จะเริ่มดาวน์โหลดไฟล์สื่อแต่ละไฟล์ตามลำดับ แต่ละไฟล์มีสตรีมที่เฉพาะเจาะจงต่อเนื่องกัน ตราบใดที่ไคลเอนต์ดาวน์โหลดข้อมูลเพียงพอก็สามารถเริ่มถอดรหัสข้อมูลและแสดงได้
หากจำเป็นไคลเอ็นต์จะต้องรับผิดชอบในการอ่านคีย์การถอดรหัสทั้งหมดการพิสูจน์ตัวตนหรือการจัดหาอินเทอร์เฟซสำหรับการพิสูจน์ตัวตนหรือการถอดรหัสแก่ผู้ใช้
ไคลเอ็นต์สามารถดำเนินการต่อไปได้จนกว่าจะพบแท็ก # ext-x-endlist ในไฟล์ดัชนี หากไม่มีแท็กแสดงว่าไฟล์ดัชนีเป็นแหล่งที่มาที่ใช้งานจริงและไคลเอนต์จำเป็นต้องอัปเดตไฟล์ดัชนีเป็นประจำเพื่อทำซ้ำขั้นตอนข้างต้น
ในระบบ HLS ทั่วไปตัวเข้ารหัสแบบแข็งจะใช้ในการเข้ารหัสเสียงอินพุตเป็น AAC และวิดีโออินพุตเป็น h264 และทั้งสองจะถูกนำมาใช้ซ้ำใน mpeg-ts จากนั้นจะแบ่งออกเป็นชุดไฟล์ TS ขนาดเล็กโดยใช้ เครื่องมือหั่น ไฟล์เหล่านี้สามารถวางบนเว็บเซิร์ฟเวอร์ได้ เครื่องมือแบ่งส่วนยังสร้างและดูแลไฟล์ดัชนี (เรียกว่า. M3u8 ใน HLS) ซึ่งมีรายการไฟล์สื่อที่มีอยู่ URL ของไฟล์ดัชนีถูกเผยแพร่บนเว็บเซิร์ฟเวอร์ ไคลเอนต์สามารถอ่านไฟล์ดัชนีจากนั้นขอไฟล์สื่อที่อยู่ในรายการตามลำดับ ชิ้นส่วนเหล่านี้สามารถเล่นได้อย่างราบรื่น การกำหนดค่าระบบโดยทั่วไปมีดังนี้:
|
ป้อนอีเมลเพื่อรับเซอร์ไพรส์
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 ส่งวิดีโอและเสียงได้ง่ายขึ้น!
ติดต่อ
ที่ตั้ง:
เลขที่ 305 อาคาร HuiLan เลขที่ 273 Huanpu Road Guangzhou China 510620
หมวดหมู่
จดหมายข่าว