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 -> ยิดดิช
พื้นหลัง
MP4 เป็นรูปแบบวิดีโอทั่วไปของเราและบ่อยครั้งเมื่อเราเล่นวิดีโอเซิร์ฟเวอร์เป็นแหล่งที่มาของวิดีโอ MP4 ที่ร้องขอโดยตรง แต่ที่จริงแล้วสิ่งนี้ไม่ดี ไฟล์ส่วนหัว MP4 [ftyp + moov] มีขนาดใหญ่และการเล่นครั้งแรกจำเป็นต้องดาวน์โหลดไฟล์ส่วนหัวที่สมบูรณ์และวิเคราะห์จากนั้นดาวน์โหลดคลิปวิดีโอที่สามารถเล่นได้ที่มีความยาวจำนวนหนึ่งเพื่อเล่น นอกจากนี้เมื่อขนาดของวิดีโอเพิ่มขึ้นไฟล์ส่วนหัวจะยังคงเติบโตและเวลาในการเล่นครั้งแรกจะนานขึ้น เมื่อพิจารณาถึงสถานการณ์นี้จำเป็นต้องใช้วิธีการที่สามารถเร่งความเร็วในการวิเคราะห์วิดีโอเบื้องต้นได้ HLS เป็นโซลูชันที่เสนอโดย Apple เพื่อแก้ปัญหานี้
HLS
HLS เป็นคำย่อของ HTTP Live Streaming เป็นโปรโตคอลการส่งผ่านเครือข่ายสื่อสตรีมมิ่งแบบ HTTP ที่เสนอโดย Apple สามารถรองรับการถ่ายทอดสดและตามความต้องการในเวลาเดียวกันรวมทั้งมัลติแทร็กเสียงและวิดีโอคำบรรยายและฟังก์ชั่นอื่น ๆ หลักการของมันคือการแบ่งวิดีโอทั้งหมดออกเป็นวิดีโอขนาดเล็กหลาย ๆ วิดีโอและการเล่นที่สมบูรณ์นั้นเกิดจากการเชื่อมต่อส่วนต่างๆ
HLS ใช้กันอย่างแพร่หลายในเทอร์มินัลมือถือ ไคลเอนต์ปัจจุบันที่รองรับโปรโตคอล HLS ได้แก่ :
iOS 3.0 ขึ้นไป AVPlayer รองรับ HLS
Android 3.0 และเหนือ
Adobe Flash Player 11.0 ขึ้นไป
หลักการทั่วไปของมันคือ:
1. รวบรวมเสียงและวิดีโอ
2. เข้ารหัสเสียงและวิดีโอบนเซิร์ฟเวอร์
3. หลังจากเข้ารหัสแล้วให้ส่งต่อไปยัง Stream Segmenter ในรูปแบบของสตรีมการขนส่ง MPEG-2
4. ตัวแบ่งส่วนข้อมูลสร้างไฟล์ดัชนีและรายการเล่น ts ไฟล์ดัชนีจะใช้เพื่อระบุตำแหน่งของเสียงและวิดีโอและ ts เป็นคลิปมัลติมีเดียที่แท้จริง
5. ใส่ทรัพยากรของขั้นตอนก่อนหน้าบนเซิร์ฟเวอร์ HTTP
6. ไคลเอนต์ร้องขอไฟล์ดัชนีสำหรับการเล่นและเนื้อหาการเล่นสามารถพบได้ผ่านไฟล์ดัชนี
เอ็ม3ยู8
ขั้นตอนสำคัญในการตระหนักถึง HLS คือขั้นตอนที่สี่ข้างต้น ได้แก่ การจัดระเบียบไฟล์ดัชนีและรายการเพลง รูปแบบ M3U8 ถูกใช้ที่นี่ M3U8 เป็นเวอร์ชัน Unicode ของ M3U, 8 หมายถึงใช้การเข้ารหัส UTF-8 และทั้ง M3U และ M3U8 เป็นรูปแบบไฟล์สำหรับรายการมัลติมีเดีย
คำอธิบายรูปแบบ M3U8
บางครั้งเราอาจต้องแก้ไขเนื้อหาของไฟล์ M3U8 ด้วยตนเองเพื่อทำการทดสอบหรือในบางกรณีพิเศษดังนั้นเราจึงจำเป็นต้องมีความเข้าใจในรูปแบบของไฟล์ คำจำกัดความของรูปแบบนี้เขียนไว้ในเอกสาร RFC 8216 ต่อไปนี้เป็นหมายเหตุบางส่วน:
ไฟล์ M3U8 ต้องเข้ารหัสเป็น UTF-8 และไม่สามารถใช้ลำดับไบต์ Byte Order Mark (BOM) และไม่สามารถมีอักขระควบคุม utf-8 (U + 0000 ~ U_001F และ U + 007F ~ u + 009F)
แต่ละบรรทัดของเนื้อหาไฟล์ M3U8 เป็นบรรทัดว่าง URI หรือสตริงที่ขึ้นต้นด้วย # และจะไม่มีอักขระว่างปรากฏขึ้น
แท็กในตัวคือสตริงทั้งหมดที่ขึ้นต้นด้วย #EXT และคำนึงถึงขนาดตัวพิมพ์
URI คือพา ธ เนื้อหาซึ่งอาจเป็นพา ธ สัมพัทธ์หรือพา ธ สัมบูรณ์
ไฟล์รายการ Master M3U8
โดยทั่วไปไฟล์ดัชนี M3U8 หลักจะใช้เพื่อระบุแหล่งที่มาของดัชนีหลายแหล่ง ก่อนอื่นเรามาวิเคราะห์เนื้อหาของไฟล์ m3u8 หลัก hls_vod_mvp.m3u8 หัวของมันเป็นแบบนี้
รูปแบบส่วนหัว
#EXTM3U
# EXT-X-VERSION: 7
# EXT-X-INDEPENDENT-SEGMENTSCopy code
# EXTM3U ระบุว่าไฟล์อยู่ในรูปแบบ M3U และไฟล์รูปแบบ M3U ทั้งหมดควรใส่เนื้อหาในบรรทัดแรก
# EXT-X-VERSIOn ระบุเวอร์ชันที่เข้ากันได้ของเพลย์ลิสต์ซึ่งปัจจุบันคือ 7
# EXT-X-INDEPENDENT-SEGMENTS แท็กนี้ระบุว่าตัวอย่างสื่อทั้งหมดในกลุ่มสื่อสามารถถอดรหัสได้อย่างอิสระโดยไม่ต้องอาศัยข้อมูลส่วนสื่ออื่น ๆ
รูปแบบคำบรรยาย
เนื้อหาด้านล่างเป็นคำอธิบายภาพบางส่วนไม่จำเป็นต้องมีเนื้อหาของคำอธิบายภาพ
# EXT-X-MEDIA: TYPE = SUBTITLES, GROUP-ID = "subs", NAME = "English", DEFAULT = YES, AUTOSELECT = YES, FORCED = NO, LANGUAGE = "eng", URI = "subtitles / eng / prog_index.m3u8 "
# EXT-X-MEDIA: TYPE = SUBTITLES, GROUP-ID = "subsC", NAME = "English", DEFAULT = YES, AUTOSELECT = YES, FORCED = NO, LANGUAGE = "eng", URI = "subtitles / engc / prog_index.m3u8 "
# EXT-X-MEDIA: TYPE = SUBTITLES, GROUP-ID = "subs", NAME = "Japanese", DEFAULT = YES, AUTOSELECT = YES, FORCED = NO, LANGUAGE = "jpn", URI = "subtitles / jpn / prog_index.m3u8 "
# EXT-X-MEDIA: TYPE = SUBTITLES, GROUP-ID = "subsC", NAME = "Japanese", DEFAULT = YES, AUTOSELECT = YES, FORCED = NO, LANGUAGE = "jpn", URI = "subtitles / jpnc / prog_index.m3u8 "
# EXT-X-MEDIA: TYPE = SUBTITLES, GROUP-ID = "subs", NAME = "Chinese", DEFAULT = YES, AUTOSELECT = YES, FORCED = NO, LANGUAGE = "zho", URI = "subtitles / zho / prog_index.m3u8 "
# EXT-X-MEDIA: TYPE = SUBTITLES, GROUP-ID = "subsC", NAME = "Chinese", DEFAULT = YES, AUTOSELECT = YES, FORCED = NO, LANGUAGE = "zho", URI = "subtitles / zhoc / prog_index.m3u8 "คัดลอกโค้ด
# EXT-X-MEDIA ใช้เพื่อระบุทรัพยากรรายการสื่อหลายภาษาที่มีเนื้อหาเดียวกัน
TYPE คือประเภททรัพยากรและเนื้อหาที่เป็นทางเลือก ได้แก่ : เสียง, วิดีโอ, คำบรรยาย, การจับภาพแบบปิด
เนื้อหาข้างต้นกำหนด TYPE = SUBTITLES ซึ่งเป็นประเภทคำบรรยาย
GROUP-ID คือกลุ่มที่มีการแปลหลายภาษาและเป็นพารามิเตอร์ที่จำเป็น
NAME เป็นข้อมูลคำอธิบายที่อ่านได้ของสตรีมการแปลและค่านี้สอดคล้องกับ displayName ของ AVMediaSelectionOption
DEFAULT, AUTOSELECT, FORCED คือค่า BOOL สามค่าที่สอดคล้องกับการเลือกสตรีมการแปลตามค่าเริ่มต้นหากไม่มีข้อมูลที่จำเป็น สตรีมการเล่นจะเล่นเมื่อผู้ใช้ไม่แสดงการตั้งค่า FORCED ใช้ได้เฉพาะกับประเภทคำบรรยายและใช้เพื่อทำเครื่องหมายการเลือกสตรีมการแปลอัตโนมัติในปัจจุบัน .
LANGUAGE ใช้เพื่อระบุประเภทภาษาซึ่งตั้งค่าตาม [รหัสภาษา ISO 639] (https://www.w3.org/WAI/ER/WD-AERT/iso639.htm "รหัสภาษา ISO 639") เมื่อเครื่องเล่นเริ่มต้นของระบบเลือกคำบรรยายชื่อของรายการคำบรรยายที่แสดงจะถูกตั้งค่าตามค่านี้
URI คือข้อมูลตำแหน่งที่ตั้งของทรัพยากรซึ่งสอดคล้องกับไฟล์ M3U8 ที่มีคำบรรยาย คำบรรยาย / eng / prog_index.m3u8 เป็นเส้นทางสัมพัทธ์
จากข้อมูลข้างต้นเราสามารถวิเคราะห์ความหมายของเนื้อหาข้างต้นได้ว่าวิดีโอปัจจุบันรองรับคำบรรยาย XNUMX ภาษา ได้แก่ อังกฤษญี่ปุ่นและจีน แต่แต่ละภาษาจะมีข้อความ EXT-X-MEDIA สองข้อความ ความแตกต่างระหว่างพวกเขาคือการจัดกลุ่มกลุ่มหนึ่งถูกจัดกลุ่มเป็นส่วนย่อยและอีกกลุ่มหนึ่งถูกจัดกลุ่มใน subsC ทำไมมีสองกลุ่ม ฉันจะพูดถึงเรื่องนี้ในภายหลัง
รูปแบบวิดีโอ
ดูดัชนีของเนื้อหาวิดีโออีกครั้ง:
#EXT-X-STREAM-INF:BANDWIDTH=827299,AVERAGE-BANDWIDTH=747464,CODECS="avc1.64001f,mp4a.40.2",RESOLUTION=640x360,FRAME-RATE=29.970,AUDIO="program_audio",SUBTITLES=" subs"
0640 / 0640.m3u8
#EXT-X-I-FRAME-STREAM-INF:BANDWIDTH=360849,AVERAGE-BANDWIDTH=320932,CODECS="avc1.64001f",RESOLUTION=640x360,URI="0640/0640_I-Frame.m3u8"Copy code
EXT-X-STREAM-INF: แอตทริบิวต์นี้ระบุแหล่งข้อมูลสำรองนั่นคือเส้นทางการเล่นวิดีโอและข้อมูลวิดีโอบางส่วน ต่อไปนี้คือการกำหนดค่าของเนื้อหาที่เกี่ยวข้อง: BANDWIDTH คืออัตราบิตสูงสุด 827299 คือ 827299 บิต / วินาทีซึ่งเป็นเวลาสูงสุดที่ใช้การรับส่งข้อมูล 101KB ต่อวินาที
AVERAGE-BANDWIDTH คืออัตราบิตเฉลี่ย 747464
CODECS คือข้อมูลการเข้ารหัส avc1.64001f, mp4a.40.2, avc แสดงถึงรูปแบบการเข้ารหัส h264 64001f ต่อไปนี้คือพารามิเตอร์การเข้ารหัสที่แสดงด้วยเลขฐานสิบหก 64, 00, 1f ตามลำดับแทนค่าพารามิเตอร์ที่แตกต่างกันสามค่า mp4a เป็นรูปแบบการเข้ารหัสเสียงและ 40.2 ต่อไปนี้แสดงถึงพารามิเตอร์การเข้ารหัสเสียง
RESOLUTION คือความละเอียดของวิดีโอ ความละเอียดของแหล่งที่มาของวิดีโอปัจจุบันคือ 640x360
FRAME-RATE คืออัตราเฟรมสูงสุด 29.970 หมายถึงอัตราเฟรมสูงสุดของการเล่นปัจจุบันคือ 29.970 เฟรมต่อวินาที
AUDIO คือกลุ่มเสียงและ program_audio คือชื่อของกลุ่มเสียงที่เกี่ยวข้อง
SUBTITLES ระบุกลุ่มคำบรรยายที่เกี่ยวข้องและ subs คือชื่อของกลุ่มคำบรรยายที่เกี่ยวข้อง ข้อมูลคำบรรยายข้างต้นมี GROUP-ID และค่านี้สอดคล้องกับข้อมูลนั้น
URI คือพา ธ เนื้อหา 0640/0640.m3u8 ตรงกับพา ธ ไฟล์ m3u8 ของแหล่งวิดีโอ สิ่งนี้สามารถเห็นได้ในข้อมูลการดักจับแพ็กเก็ต
ด้านล่าง EXT-X-STREAM-INF คือ EXT-XI-FRAME-STREAM-INF ซึ่งแสดงถึง I frame (คีย์เฟรม) ของทรัพยากรมัลติมีเดียที่อยู่ในไฟล์เพลย์ลิสต์ เนื่องจาก I frame เป็นเพียงรูปภาพจึงไม่มีเนื้อหาเสียงและพารามิเตอร์ที่เหลือจะสอดคล้องกับรูปแบบเนื้อหาวิดีโอ
หลังจากนั้นจะมีแหล่งวิดีโอที่ตรงกับความละเอียดที่แตกต่างกันคือ 1920x1080, 1280x720, 960x540, 480x270 เนื่องจาก HLS จะเปลี่ยนความละเอียดโดยอัตโนมัติตามสถานการณ์ของเครือข่ายโดยทั่วไปความละเอียดหลายรายการจึงเตรียมไว้สำหรับการเลือก ตามการวิเคราะห์ข้อมูลที่จับได้ส่วนแรกที่เล่นคือความละเอียด 640 ส่วนที่สองถึง 8 ส่วนหลังจากนั้นคือความละเอียด 480 จากนั้นจะเปลี่ยนเป็นความละเอียด 640
รูปแบบเสียง
มองลงไปคือดัชนีของเสียงที่เกี่ยวข้อง
# EXT-X-MEDIA: TYPE = AUDIO, GROUP-ID = "program_audio", LANGUAGE = "eng", NAME = "Alternate Audio", AUTOSELECT = YES, DEFAULT = YES, URI = "audio1 / audio1.m3u8" คัดลอก รหัส
# EXT-X-MEDIA ปรากฏด้านบน แต่ไม่ได้กล่าวถึงรายการสำหรับหลายภาษา
TYPE = AUDIO คราวนี้เป็นประเภทเสียง
GROUP-ID คือ ID กลุ่มที่สอดคล้องกับเนื้อหา AUDIO ใน EXT-X-STREAM-INF
URI = audio1 / audio1.m3u8 สอดคล้องกับเส้นทางเสียง
แหล่งที่มาทางเลือกของรูปแบบการเข้ารหัสที่แตกต่างกัน
ในไฟล์ M3U8 หลักเรายังสามารถดูแหล่งวิดีโอที่มีความละเอียด 640 ซึ่งไม่เหมือนกับความละเอียด 640 ข้างต้น เนื้อหาเป็นดังนี้:
#EXT-X-STREAM-INF:BANDWIDTH=1922391,AVERAGE-BANDWIDTH=1276855,VIDEO-RANGE=SDR,CODECS="hvc1.2.4.H150.B0,mp4a.40.2",RESOLUTION=640x360,FRAME-RATE=29.970 ,AUDIO="program_audio_0",SUBTITLES="subsC"
0640c / prog_index.m3u8
#EXT-X-I-FRAME-STREAM-INF:BANDWIDTH=1922391,AVERAGE-BANDWIDTH=1276855,CODECS="hvc1.2.4.H150.B0",RESOLUTION=640x360,URI="0640c/iframe_index.m3u8"
# EXT-X-MEDIA: TYPE = AUDIO, GROUP-ID = "program_audio_0", LANGUAGE = "eng", NAME = "Alternate Audio", AUTOSELECT = YES, DEFAULT = YES, URI = "audioc / prog_index.m3u8" คัดลอก รหัส
รูปแบบการเข้ารหัส CODECS คือ hvc1.2.4.H150.B0, mp4a.40.2 รูปแบบการเข้ารหัสเสียงไม่เปลี่ยนแปลง แต่รูปแบบการเข้ารหัสวิดีโอมีการเปลี่ยนแปลง hvc1 เป็นหนึ่งในรูปแบบการเข้ารหัส HEVC (H265) เป็นรูปแบบการเข้ารหัสวิดีโอรุ่นใหม่ที่เปิดตัวโดย Apple เนื่องจากปัญหาความเข้ากันได้ไคลเอนต์จำนวนมากไม่สามารถแยกวิเคราะห์รูปแบบนี้ได้จึงไม่เป็นที่นิยมมากนัก แหล่งที่มาของวิดีโอในรูปแบบนี้ปรากฏขึ้นซึ่งควรเป็นข้อมูลสำรองที่นี่ เมื่อเปรียบเทียบสองเนื้อหาที่มีความละเอียดเดียวกันจะพบว่าอัตราบิตของรูปแบบ hvc1 สูงกว่ารูปแบบ avc1 ซึ่งแสดงให้เห็นว่าเนื้อหาของ hvc1 มีขนาดใหญ่กว่าและอัตราส่วนการบีบอัดของ avc1 นั้นสูงกว่าภายใต้ความละเอียดเดียวกัน
ตามแหล่งที่มาของวิดีโอรูปแบบ hvc1 การจัดกลุ่มเนื้อหาคำบรรยายและการจัดกลุ่มเนื้อหาเสียงก็เปลี่ยนไปเช่นกันซึ่งเป็นสาเหตุที่คำบรรยายข้างต้นมีสำเนาภาษาเดียวกันสองชุดและสอดคล้องกับแหล่งที่มาของวิดีโอในรูปแบบ avc1 และ hvc1
นี่คือรายการหลักของ M3U8 เสียงและวิดีโอของเนื้อหานี้ได้รับการประมวลผลแยกกัน แต่สามารถรวมเข้าด้วยกันได้
ไฟล์ M3u8 ที่มีข้อมูลสื่อ
ใช้ไฟล์ 0640.m3u8 เป็นตัวอย่าง
#EXTM3U
# EXT-X-VERSION: 4
# EXT-X-TARGETDURATION: 7
# EXT-X-MEDIA-SEQUENCE: 1
# EXT-X-PLAYLIST-TYPE: VOD
#EXTINF: 6.006,
0640_00001.ts
#EXTINF: 6.006,
0640_00002.ts
#EXTINF: 6.006,
0640_00003.ts
....
# EXT-X-ENDLISCopy รหัส
# EXTM3U และ # EXT-X-VERSION คือส่วนหัวของไฟล์ M3U และหมายเลขเวอร์ชันที่เข้ากันได้ตามลำดับ รูปแบบนี้เป็นเวอร์ชันก่อนหน้าดังนั้นหมายเลขเวอร์ชันจึงต่ำกว่าไฟล์หลัก
EXT-X-TARGETDURATION หมายถึงระยะเวลาสูงสุดของแต่ละส่วนการเล่น 7 หมายถึง 7 วินาทีและเซ็กเมนต์ในไดเร็กทอรีนี้ต้องไม่เกิน 7 วินาที
EXT-X-MEDIA-SEQUENCE หมายถึงหมายเลขลำดับของส่วนแรกของเพลย์ลิสต์และ 1 หมายถึงกลุ่มการเล่นเริ่มจาก 1
#EXTINF หมายถึงระยะเวลาของเซ็กเมนต์ 6.006 หมายความว่าเซ็กเมนต์ปัจจุบันคือ 6.006 วินาที ข้อมูลระยะเวลาทั้งหมดของวิดีโอได้มาจากการสะสมค่านี้
0640_00001.ts คือเส้นทางสัมพัทธ์ของคลิป ไฟล์ ts เป็นตัวแทนของวิดีโอหรือเสียงและสามารถอยู่ในรูปแบบ ts, mp4, aac และอื่น ๆ เพราะมีการระบุให้เปิดตั้งแต่ 1
|
ป้อนอีเมลเพื่อรับเซอร์ไพรส์
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
หมวดหมู่
จดหมายข่าว