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 -> ยิดดิช
เมื่อเร็ว ๆ นี้ฉันได้เริ่มติดต่อโครงการวิดีโอสดฉันยังสรุปแนวคิดเทคโนโลยีและโซลูชันที่เกี่ยวข้องกับวิดีโอสด
ก่อนอื่นทำความเข้าใจแนวคิดของวิดีโอถ่ายทอดสด โปรโตคอลวิดีโอทั่วไปหลายอย่าง ได้แก่ : RTMP, http-flv, HLS, RTP / RTCP
จากนั้นเราจะอธิบายกระบวนการทั้งหมดของการถ่ายทอดสดและเทคโนโลยีที่เกี่ยวข้อง
1、 โปรโตคอลวิดีโอสด
ในด้านการถ่ายทอดสดการถ่ายทอดสดมี XNUMX ประเภท ได้แก่ การถ่ายทอดสดแบบโต้ตอบและการถ่ายทอดสดแบบไม่โต้ตอบ
การถ่ายทอดสดแบบไม่โต้ตอบ (เช่น Live Parade, NBA Live Broadcasting, Champions League live broadcasting ฯลฯ ) ไม่มีการโต้ตอบสูงทำให้ล่าช้า 10 วินาทีขึ้นไป มีลักษณะเป็นแหล่งที่มาค่อนข้างน้อยและเหมาะสำหรับการแปลงรหัสหลายช่องสัญญาณ (ผู้ใช้สามารถรับชมได้ตามเงื่อนไขของเครือข่าย)
ฉากทั่วไปของการถ่ายทอดสดแบบโต้ตอบ ได้แก่ การแสดงการถ่ายทอดสดการถ่ายทอดสดเกม ฯลฯ เนื่องจากข้อกำหนดขั้นสูงสำหรับการโต้ตอบระหว่างผู้ประกาศข่าวและผู้ชมการถ่ายทอดสดเหล่านี้จึงจำเป็นต้องล่าช้าภายใน 5 วินาที ลักษณะของการถ่ายทอดสดเชิงโต้ตอบคือแหล่งที่มามากกว่าไม่เหมาะสำหรับการแปลงรหัสหลายช่องสัญญาณเซิร์ฟเวอร์ระดับกลางเป็นเพียงบทบาทการส่งผ่านเท่านั้น
สื่อสำหรับการส่งเนื้อหาสดคือเครือข่ายและจำเป็นต้องใช้โปรโตคอลที่เกี่ยวข้องในการส่งวิดีโอหรือเสียงในเครือข่าย ในปัจจุบันโปรโตคอลทั่วไปที่เหมาะสำหรับฉากถ่ายทอดสดมีดังนี้
1. โปรโตคอล RTMP (ไม่รองรับ HTML 5 ที่แฟลชรองรับ)
RTMP เป็นโปรโตคอลสื่อสตรีมมิ่งซึ่งเป็นโปรโตคอลสิทธิบัตรของ Adobe จาก TCP เป็นที่นิยมอย่างมากในประเทศจีน
เหตุผลยอดนิยม: การสนับสนุนซอฟต์แวร์โอเพนซอร์สและไลบรารีโอเพ่นซอร์สนั้นมีความเสถียรและสมบูรณ์และโดยทั่วไปแล้วโซลูชันการสตรีมและสตรีมมิ่งที่ใช้กันมากที่สุดสามารถทำงานได้อย่างเสถียร ตัวอย่างเช่นไลบรารีสตรีมพุช librtmp แบบโอเพนซอร์สฝั่งบริการมีปลั๊กอิน nginx RTMP, สตรีมดึงมีไลบรารีการเล่น ijkplayer
2. โปรโตคอล Http-flv (ไม่รองรับ HTML 5, รองรับแฟลช)
นั่นคือการใช้โปรโตคอล HTTP เพื่อสตรีมเนื้อหาสื่อ HTTP ง่ายกว่าและรู้จักกันดีกว่า RTMP ความล่าช้าของเนื้อหาอาจเป็น 2-5 วินาทีและความเร็วในการเปิดเร็วขึ้นเนื่องจาก HTTP เองไม่มีการโต้ตอบสถานะที่ซับซ้อน ดังนั้นจากมุมมองของเวลาแฝง http-flv จึงดีกว่า RTMP
3. โปรโตคอล HLS (รองรับ HTML, รองรับ Flash)
สตรีมมิงแบบสด HTTP เป็นโปรโตคอลการส่งกระแสข้อมูลสื่อที่อิงตาม HTTP ที่ Apple เสนอ HLS มีข้อได้เปรียบที่ยิ่งใหญ่มาก: HTML5 สามารถเปิดและเล่นได้โดยตรง ซึ่งหมายความว่าสามารถแชร์ลิงก์ถ่ายทอดสดผ่าน wechat และการส่งต่ออื่น ๆ ได้โดยไม่จำเป็นต้องติดตั้งแอปอิสระใด ๆ ด้วยเบราว์เซอร์จึงได้รับความนิยมอย่างมาก แอปโซเชียลไลฟ์จำเป็นต้องมี HLS URL สตรีมสดตาม HLS คือไฟล์ m3u8 ซึ่งมีไฟล์ TS วิดีโอขนาดเล็กล่าสุดหลายไฟล์ ความล่าช้าของโหมดการเล่นนี้ค่อนข้างสูง (ซึ่งสัมพันธ์กับขนาดของไฟล์ TS) และสามารถหน่วงเวลาได้ 5-7 วินาทีในเครือข่ายเมืองเดียวกัน
4. โปรโตคอล RTP / RTCP
โปรโตคอลการขนส่งแบบเรียลไทม์เป็นโปรโตคอลชั้นการขนส่งสำหรับสตรีมข้อมูลมัลติมีเดียบนอินเทอร์เน็ต RTCP ส่งสัญญาณของการควบคุมแบบโต้ตอบและ RTP ส่งข้อมูลสื่อจริง
RTP ใช้กันอย่างแพร่หลายในการเฝ้าระวังวิดีโอการประชุมทางวิดีโอและโทรศัพท์ IP เนื่องจากประสบการณ์ที่สำคัญอย่างหนึ่งของการประชุมทางวิดีโอและโทรศัพท์ IP เป็นเนื้อหาแบบเรียลไทม์ที่แข็งแกร่ง
เมื่อเปรียบเทียบกับสามโปรโตคอลข้างต้นความแตกต่างที่สำคัญอย่างหนึ่งระหว่าง RTP และโปรโตคอลเหล่านี้คือโปรโตคอล UDP ใช้ในการส่งข้อมูลตามค่าเริ่มต้นในขณะที่ RTMP และ HTTP ใช้โปรโตคอล TCP
ใช้การวิเคราะห์สถานการณ์: ฉากสตรีมเสียงและวิดีโอแบบเรียลไทม์ไม่จำเป็นต้องมีการรับประกันที่เชื่อถือได้ดังนั้นจึงไม่จำเป็นต้องมีกลไกการส่งสัญญาณซ้ำ ไม่สำคัญที่จะต้องดูภาพและเสียงแบบเรียลไทม์สูญเสียเนื้อหาบางส่วนเมื่อเครือข่ายกระวนกระวายใจเบลอภาพและหน้าจอเริ่มต้น ในการส่งใหม่ TCP จะทำให้เกิดความล่าช้าและไม่ตรงกัน หากเนื้อหาส่วนหนึ่งมาถึงหลังจากผ่านไปหนึ่งวินาทีเนื่องจากการส่งซ้ำการสนทนาทั้งหมดจะล่าช้าออกไปหนึ่งวินาที เมื่อเครือข่ายกระวนกระวายใจความล่าช้าจะเพิ่มขึ้นเป็นสองวินาทีหรือสามวินาที หากไคลเอนต์ไม่จัดการกับการเล่นประสบการณ์การออกอากาศโดยตรงจะได้รับผลกระทบอย่างร้ายแรง วิธีการเพิ่มประสิทธิภาพจะอธิบายในบทความต่อไปนี้
สรุป: ในการเลือกโปรโตคอลการถ่ายทอดสดหากเลือก RTMP หรือ http-flv หมายความว่ามีความล่าช้าของเนื้อหา 2-5 วินาที แต่เท่าที่เกี่ยวข้องกับความล่าช้าในการเปิด http-flv จะดีกว่า RTMP . HLS มีความล่าช้าของเนื้อหา 5-7 วินาที การเลือก RTP สำหรับการถ่ายทอดสดอาจทำให้การถ่ายทอดสดล่าช้าได้ภายใน 1 วินาที อย่างไรก็ตามเท่าที่เราทราบผู้ผลิต CDN รายใหญ่ไม่รองรับการถ่ายทอดสดตาม RTP ดังนั้นกระแสหลักในประเทศในปัจจุบันคือ RTMP หรือ http-flv
2、 กระบวนการถ่ายทอดสดวิดีโอ
กระบวนการทางเทคนิคที่เกี่ยวข้องกับวิดีโอสดคือการได้มาซึ่งสตรีมวิดีโอแบบเรียลไทม์ - การเข้ารหัสสตรีมวิดีโอ - การส่งสตรีมวิดีโอ - การถอดรหัสวิดีโอสตรีม - การเล่นวิดีโอ
1. แนวคิดในการจับภาพวิดีโอแบบเรียลไทม์
a) ด้วยการตั้งค่า setpreviewcallback ในการแสดงตัวอย่างการถ่ายภาพของกล้อง Android ทำให้อินเทอร์เฟซ onpreviewframe สามารถจับข้อมูลของสตรีมวิดีโอแต่ละรายการได้แบบเรียลไทม์
b) ผ่าน Android mediarecorder ผูก localocket ในฟังก์ชัน setoutputfile
c) โหมดเซิร์ฟเวอร์สื่อการสตรีมโดยใช้ ffmpeg หรือ getstreamer เพื่อรับวิดีโอจากกล้อง
2. ตระหนักถึงการเข้ารหัสการบีบอัดวิดีโอ
a) หากไม่มีการเข้ารหัสเฟรมวิดีโอ yuv420sp ดั้งเดิมจะถูกส่งผ่านซ็อกเก็ตโดยตรง
b) JEPG บีบอัดเฟรมวิดีโอ yuv420sp ดั้งเดิมลงใน H.264 แล้วส่ง
ค) H.264 / avc เฟรมวิดีโอ yuv420sp ดั้งเดิมถูกบีบอัดเป็น H.264 แล้วส่ง ตัวเข้ารหัสโอเพ่นซอร์สทั่วไปที่ใช้ H264 ได้แก่ JM, x264, t264, hdot264 เป็นต้น
ง). mpeg4. บีบอัดเฟรมวิดีโอ yuv420sp ดั้งเดิมลงใน MPEG4 แล้วส่ง
3. แนวคิดในการส่งวิดีโอ
ก). การส่งผ่านซ็อกเก็ต
ข). การขนส่ง HTTP
ค) . การส่ง RTP / RTSP
ง). โหมดเซิร์ฟเวอร์สื่อการสตรีมเช่น live555 เป็นต้น
4. ตระหนักถึงการถอดรหัสวิดีโอ
ก). ตัวถอดรหัสที่สอดคล้องกับการเข้ารหัส
5. แนวคิดในการเล่นวิดีโอ
ก). ผ่าน Android videoview
ข). ผ่าน Android mediaplay
ค) . วางภาพเฟรมโดยตรงผ่านผ้าใบ
|
ป้อนอีเมลเพื่อรับเซอร์ไพรส์
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
หมวดหมู่
จดหมายข่าว