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 -> ยิดดิช
รหัสโอเพนซอร์ส live555 คือ SDK ที่ใช้เพื่อใช้ฟังก์ชันการส่งผ่านสื่อสตรีมมิ่ง ใช้การเล่น Common.cpp ในโฟลเดอร์ teSTProgs ใน SDK เพื่อออกแบบโมดูลการส่งสัญญาณของกล่องรับสัญญาณ IP TV และร่วมกับโมดูลการเล่นจะเป็นเครื่องเล่นสื่อสตรีมมิ่งของกระบวนการกล่องรับสัญญาณ IPTV playCommon cpp เป็นสะพานเชื่อมต่อเซิร์ฟเวอร์และไคลเอนต์ หลักการทำงานคือเมื่อไคลเอนต์ร้องขอข้อมูลจากเซิร์ฟเวอร์จะได้รับข้อมูลคำอธิบาย SDP จาก URL ของเซิร์ฟเวอร์และสร้างเซสชันมัลติมีเดียตาม SDP และในที่สุดก็เล่นสตรีมข้อมูล
แนะนำขั้นตอนการออกแบบของเครื่องเล่นสื่อสตรีมมิ่งกล่องรับสัญญาณ IPTV โดยใช้ฟังก์ชันของ playCommON.cpp ในรหัสโอเพนซอร์ส live555 รวมกับการออกแบบโครงสร้างซอฟต์แวร์ของกล่องรับสัญญาณ IPTV พัฒนาโมดูลการส่งผ่านของกล่องรับสัญญาณ IPTV . จากนั้นโมดูลการส่งจะเชื่อมต่อกับมิดเดิลแวร์ผ่านคิวข้อความและในเวลาเดียวกันจะเชื่อมต่อกับโมดูลการเล่นผ่านฟังก์ชั่นการป้อนข้อมูลของโมดูลการเล่นและในที่สุดก็กลายเป็นเครื่องเล่นสื่อสตรีมมิ่งของกล่องรับสัญญาณ IPTV ผู้เล่นได้รับการทดสอบและมีเสถียรภาพในการทำงาน
1 การออกแบบเครื่องเล่นสื่อสตรีมมิ่งกล่องรับสัญญาณ IPTV
1. 1 โครงสร้างซอฟต์แวร์กล่องรับสัญญาณ IPTV
รหัสซอฟต์แวร์ของกล่องรับสัญญาณแบ่งออกเป็น 4 ส่วน ได้แก่ ไดรเวอร์ฮาร์ดแวร์ระบบปฏิบัติการมิดเดิลแวร์ชั้นแอปพลิเคชัน
1) ไดรเวอร์ฮาร์ดแวร์เชื่อมต่อฮาร์ดแวร์พื้นฐานและระบบปฏิบัติการส่วนบน 2) ระบบปฏิบัติการลินุกซ์โอเพนซอร์สโค้ดฟรีใช้ที่นี่ 3) มิดเดิลแวร์ชั้นการปรับแต่งซอฟต์แวร์ที่แยกชั้นแอปพลิเคชันด้านบนออกจากระบบปฏิบัติการและฮาร์ดแวร์พื้นฐาน โมดูลหลักของมิดเดิลแวร์ส่วนใหญ่ประกอบด้วย: (1) เบราว์เซอร์: รับ URL จากเซิร์ฟเวอร์และแสดงเพจ EPG ที่เกี่ยวข้อง (2) การจัดการอินเทอร์เฟซผู้ใช้แบบกราฟิก: จัดเตรียมฟังก์ชันกราฟิกเช่นการควบคุมอินเทอร์เฟซผู้ใช้ (เช่นปุ่มรายการ) และการวาดภาพกราฟิกสำหรับแอปพลิเคชัน 4) เลเยอร์แอปพลิเคชั่นตระหนักถึงการเล่นไฟล์สื่อเสียงและวิดีโอ
1.2 โครงสร้างระบบเครื่องเล่นมีเดียสตรีมมิ่งกล่องรับสัญญาณ IPTV
ในโค้ดโอเพนซอร์ส Live555 playCommon.cpp ตระหนักถึงฟังก์ชันของการใช้คอมพิวเตอร์เป็นเทอร์มินัลรับรับและเล่นกับซอฟต์แวร์ VLC และในที่สุดก็แสดงบนคอมพิวเตอร์ เนื้อหาของการวิจัยคือการรวม playCommon.cpp เข้ากับรหัสซอฟต์แวร์ของกล่องรับสัญญาณและในที่สุดก็ตระหนักถึงฟังก์ชันของการใช้กล่องรับสัญญาณ IPTV เป็นเครื่องรับสัญญาณและเล่นและแสดงบนทีวี สิ่งนี้ทำให้เกิดข้อกำหนดใหม่สำหรับการออกแบบโค้ด: ในแง่หนึ่ง playCommon.cpp ได้รับ URL ของเซิร์ฟเวอร์โดยการป้อน rtsp: // ที่อยู่ IP ในเครื่อง: หมายเลขพอร์ต / ชื่อไฟล์ที่จะเล่นในคอลัมน์ RTSP ของ VLC . ได้มา อย่างไรก็ตามสำหรับกล่องรับสัญญาณ IPTV URL ที่ได้รับจากโมดูลการส่งจะเป็น URL ที่สอดคล้องกันเมื่อผู้ใช้เลือกโปรแกรมบน EPG ผ่านรีโมทคอนโทรล เบราว์เซอร์อ่าน URL นี้ในมิดเดิลแวร์ดังนั้นจึงจำเป็นต้องเชื่อมต่อมิดเดิลแวร์และโมดูลการส่งผ่านจะยืนขึ้น ในทางกลับกันสตรีมข้อมูลที่ส่งโดย playCommon.cpp จะได้รับและเล่นผ่าน VLC สำหรับกล่องรับสัญญาณ IPTV สตรีมข้อมูลที่ส่งโดยโมดูลการส่งจะรับและเล่นผ่านโมดูลการเล่น ดังนั้นจึงจำเป็นต้องเชื่อมต่อโมดูลส่งและโมดูลการเล่น
ในการเชื่อมต่อมิดเดิลแวร์โมดูลเอาต์พุตและโมดูลการเล่นคิวข้อความได้รับการออกแบบมาเพื่อให้เกิดการสื่อสารข้อมูลระหว่างโมดูลทั้งสามนี้ นอกจากนี้ pt hread create () ยังได้รับการออกแบบในโปรแกรมเพื่อสร้าง thread rt spmain () เพื่อให้เกิดการทำงานพร้อมกันของโปรแกรม
1.3 การวิเคราะห์โครงสร้างโปรแกรม
1.3.1 โมดูลเกียร์
1) ฟังก์ชันหลัก (1) เป็นโมฆะ initMsgQ () เริ่มต้นคิวข้อความ dataQid แสดงถึงคิวข้อความของข้อมูลซึ่งมีข้อมูลบางส่วนที่ส่งบนเครือข่าย สุดท้ายข้อมูลในคิวข้อความจะถูกส่งไปยังเครื่องเล่นผ่านฟังก์ชัน void send data to player () msgkeyQid แสดงคิวข้อความของค่าคีย์ข้อความ โมดูลการส่งจะได้รับคำสั่งค่าคีย์การควบคุมระยะไกลที่ได้รับจากมิดเดิลแวร์และส่งไปยังผู้เล่นเพื่อรับรู้การดำเนินการไปข้างหน้าอย่างรวดเร็วกรอถอยหลังหยุดและเล่น fromeMiddleQid แสดงคิวข้อความของมิดเดิลแวร์ โมดูลการส่งจะรับ URL ที่ส่งจากมิดเดิลแวร์เป็นที่อยู่ปลายทางเมื่อผู้เล่นไคลเอนต์ร้องขอข้อมูลจากเซิร์ฟเวอร์ playerStateQid แสดงคิวข้อความของสถานะการเล่น โมดูลการส่งสัญญาณใช้ในการส่งและรับสถานะของผู้เล่นและเพื่อควบคุมว่าผู้เล่นกำลังต้องการการถ่ายทอดสดหรือกะเวลา (2) phread_create (& g_session_thread_info, & tattr, (โมฆะ * (*) (โมฆะ *)) rtsp_main, (โมฆะ *) & urlInform); สร้างเธรด rtsp_main () ตรวจสอบให้แน่ใจว่าการสื่อสารของคิวข้อความและการส่งสื่อสตรีมมิ่งทำงานพร้อมกัน
2) ฟังก์ชัน rtsp_main (1) recvMiddlewareMsg (fromeMiddleQid, url): ค่าของ url ที่ส่งผ่านจากมิดเดิลแวร์จะถูกกำหนดให้กับตัวแปร url (คำจำกัดความของ url เสร็จสมบูรณ์ในมิดเดิลแวร์ดังนั้นจึงต้องได้รับจากมิดเดิลแวร์); (2) ฟังก์ชัน playCommon.cpp: เมื่อไคลเอนต์ส่งคำขอไปยังเซิร์ฟเวอร์เซิร์ฟเวอร์จะตอบสนองต่อคำขอสร้างเซสชันสื่อและเล่นสตรีมข้อมูล (3) main_player_entry (gTrans. first Create): ไคลเอนต์รับสตรีมและเรียกใช้ฟังก์ชันการป้อนข้อมูลของผู้เล่นเพื่อเริ่มต้นโปรแกรมเล่น (4) โมฆะ send_data_to_player (): โทรหาผู้เล่นส่งข้อมูลที่ได้รับจากอินเทอร์เน็ตไปยังผู้เล่นและเริ่มเล่น
|
ป้อนอีเมลเพื่อรับเซอร์ไพรส์
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
หมวดหมู่
จดหมายข่าว