FMUSER Wirless Transmit video și audio mai ușor!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Afrikaans
sq.fmuser.org -> Albaneză
ar.fmuser.org -> arabă
hy.fmuser.org -> Armeană
az.fmuser.org -> azeră
eu.fmuser.org -> bască
be.fmuser.org -> bielorusă
bg.fmuser.org -> Bulgarian
ca.fmuser.org -> catalană
zh-CN.fmuser.org -> Chineză (simplificată)
zh-TW.fmuser.org -> Chineză (tradițională)
hr.fmuser.org -> croată
cs.fmuser.org -> cehă
da.fmuser.org -> Daneză
nl.fmuser.org -> Dutch
et.fmuser.org -> estonă
tl.fmuser.org -> filipinez
fi.fmuser.org -> finlandeză
fr.fmuser.org -> Franceză
gl.fmuser.org -> Galeză
ka.fmuser.org -> Georgiană
de.fmuser.org -> germană
el.fmuser.org -> greacă
ht.fmuser.org -> Creole haitian
iw.fmuser.org -> ebraică
hi.fmuser.org -> Hindi
hu.fmuser.org -> Maghiară
is.fmuser.org -> islandeză
id.fmuser.org -> indoneziană
ga.fmuser.org -> irlandeză
it.fmuser.org -> Italiană
ja.fmuser.org -> japoneză
ko.fmuser.org -> coreeană
lv.fmuser.org -> letonă
lt.fmuser.org -> lituaniană
mk.fmuser.org -> macedoneană
ms.fmuser.org -> Malay
mt.fmuser.org -> malteză
no.fmuser.org -> norvegiană
fa.fmuser.org -> persană
pl.fmuser.org -> poloneză
pt.fmuser.org -> portugheză
ro.fmuser.org -> Română
ru.fmuser.org -> rusă
sr.fmuser.org -> sârbă
sk.fmuser.org -> slovacă
sl.fmuser.org -> Slovenă
es.fmuser.org -> spaniolă
sw.fmuser.org -> Swahili
sv.fmuser.org -> suedeză
th.fmuser.org -> Thai
tr.fmuser.org -> turcă
uk.fmuser.org -> ucraineană
ur.fmuser.org -> Urdu
vi.fmuser.org -> Vietnameză
cy.fmuser.org -> galeză
yi.fmuser.org -> idiș
04. Introducere în cunoașterea de bază a transmisiunii live
1. Colectează video și audio
* 1.1 Captură cadru de codare video și audio *
AVFoundation: AVFoundation este un cadru pentru redarea și crearea datelor media audiovizuale în timp real. De asemenea, oferă o interfață Objective-C pentru a manipula aceste date audiovizuale, cum ar fi editarea, rotirea și recodarea
* 1.2 Echipamente hardware video și audio *
CCD: senzor de imagine: utilizat în procesul de achiziție și procesare a imaginii pentru a converti imaginile în semnale electrice.
Pickup: Senzor de sunet: utilizat în procesul de colectare și procesare a sunetului, transformând sunetul în semnale electrice.
Eșantion de date audio: în general în format PCM
Date de eșantionare video: în general, este în format YUV sau RGB. Volumul audio și video original colectat este foarte mare și trebuie procesat prin tehnologia de compresie pentru a îmbunătăți eficiența transmisiei
2. Procesare video (frumusețe, filigran)
Principiul procesării video: Deoarece videoclipul este redat în cele din urmă pe ecran prin GPU, cadru cu cadru, putem folosi OpenGL ES pentru a procesa cadrele video, astfel încât videoclipul să aibă diverse efecte, la fel ca un robinet care curge Apa trece prin mai multe conducte și apoi curge către diferite ținte
Acum, toate tipurile de aplicații de frumusețe și videoclipuri cu efecte speciale sunt implementate utilizând cadrul GPUImage.
* Cadrul de procesare video *
GPUImage: GPUImage este un cadru puternic de procesare a imaginii / video bazat pe OpenGL ES. Incapsulează diverse filtre și poate scrie, de asemenea, filtre personalizate. Are încorporate mai mult de 120 de efecte comune de filtrare.
OpenGL: OpenGL (Open Graphics Library în întregime) este o specificație care definește un limbaj de programare încrucișată, interfață de programare multiplataformă, care este utilizată pentru imagini tridimensionale (este posibil și bidimensional) OpenGL este o interfață profesională de programe grafice, o bibliotecă grafică puternică, ușor de apelat.
OpenGL ES: OpenGL ES (OpenGL pentru sistemele încorporate) este un subset al API-ului grafic OpenGL 3D, conceput pentru dispozitive încorporate precum telefoane mobile, PDA-uri și console de jocuri.
3. Codificare și decodare video
* 3.1 Cadrul de codare video *
FFmpeg: este un cadru video cu sursă deschisă pe mai multe platforme, care poate implementa funcții bogate, cum ar fi codificarea video, decodarea, transcodarea, streamingul și redarea. Formatele video și protocoalele de redare acceptate sunt foarte bogate, incluzând aproape toate codecurile audio și video, formatele de încapsulare și protocoalele de redare.
-Libswresample: Poate efectua operațiuni precum resampling, rematrixing și conversia formatului de sampling al sunetului.
-LibavCodec: Oferă un cadru general de codec, incluzând multe fluxuri video, audio, de subtitrare și alți codec / decodificatori.
-Libavformat: Folosit pentru a încapsula / decapsula videoclipul.
-Libavutil: Conține unele funcții comune, cum ar fi generarea de numere aleatoare, structura datelor, operații matematice etc.
-Libpostproc: folosit pentru unele postprocesări ale videoclipului.
-Libswscale: utilizat pentru scalarea imaginilor video, conversia spațiului de culoare etc.
-Libavfilter: Furnizați funcția de filtrare.
X264: YuV care codifică și comprimă datele video originale în format H.264
VideoToolbox: API-ul propriu Apple de decodare și codare video, dar deschis numai după iOS8.
audioToolbox: API-ul propriu Apple de decodare hard și codare dură
* 3.2 Tehnologie de codare video *
Standarde de codare a compresiei video: tehnologii de codare pentru compresie video (codare video) sau decompresie (decodare video), cum ar fi MPEG, H.264, aceste tehnologii de codare video sunt codificare video prin compresie
Funcția principală: pentru a comprima datele pixelilor video într-un flux video, reducând astfel cantitatea de date video. Dacă videoclipul nu este comprimat și codificat, volumul este de obicei foarte mare, iar un film poate necesita sute de gigaocteți de spațiu.
Notă: Calitatea video cea mai influențată este datele sale de codare video și datele de codare audio, care nu au nicio legătură cu formatul de ambalare
MPEG: o metodă de compresie video care utilizează compresie între cadre, stocând doar diferențele dintre cadre consecutive, astfel încât să se obțină un raport de compresie mai mare
H.264 / AVC: O metodă de compresie video care utilizează predicția și aceeași metodă de predicție a cadrului ca cadrul PB din MPEG. Poate genera un flux video potrivit pentru transmisia în rețea în funcție de nevoi și are un raport de compresie mai mare. Aveți o calitate a imaginii mai bună
Notă 1: Dacă comparați definiția unui singur ecran, mpeg4 are un avantaj; din definiția continuității acțiunii, H.264 are un avantaj
Notă 2: Deoarece algoritmul 264 este mai complex, programul este dificil de implementat și are nevoie de mai multe resurse de procesor și memorie pentru al rula. Prin urmare, rularea 264 necesită cerințe de sistem relativ ridicate.
Notă 3: Deoarece implementarea 264 este mai flexibilă, lasă producătorii înșiși unele implementări. Deși acest lucru aduce multe beneficii implementării, intercomunicarea între diferite produse a devenit o mare problemă, rezultând în adoptarea companiei A Datele compilate de codificator trebuie rezolvate de decodorul Companiei A pentru a rezolva astfel de lucruri jenante.
H.265 / HEVC: o metodă de compresie video bazată pe H.264, păstrând unele dintre tehnologiile originale, îmbunătățind în același timp unele tehnologii conexe pentru a îmbunătăți relația dintre fluxul de biți, calitatea codării, întârzierea și complexitatea algoritmului Relații pentru a atinge setarea optimă.
H.265 este un standard de codificare mai eficient, care poate comprima volumul conținutului la o dimensiune mai mică sub același efect de calitate a imaginii și poate transmite mai rapid și economisi lățime de bandă.
Cadru I: (cadru cheie) păstrez o imagine completă, am nevoie doar de datele acestui cadru pentru a finaliza decodarea (deoarece conține imaginea completă
Cadru P: (Cadru diferențial) Diferența dintre acest cadru și cadrul anterior este păstrată. La decodare, imaginea tamponată anterior trebuie suprapusă diferenței definite de acest cadru pentru a genera imaginea finală. (Cadrul P nu are date complete de imagine, doar date care sunt diferite de imaginea cadrului anterior)
Cadru B: (cadru diferențial bidirecțional) păstrează diferența dintre cadrul curent și cadrele anterioare și următoare. Pentru a decoda cadrul B, trebuie obținută nu numai imaginea tamponată anterioară, ci și imaginea decodificată. Rezultatul final se obține prin suprapunerea imaginilor din față și din spate și a datelor curente ale cadrului Imagine. Rata de compresie a cadrului B este mare, dar procesorul va fi mai obosit la decodare
Compresia intra-cadru: La comprimarea unui cadru de imagine, sunt luate în considerare doar datele acestui cadru fără a lua în considerare informațiile redundante dintre cadrele adiacente. În general, în cadru se utilizează un algoritm de compresie cu pierderi
Compresie InteRFrame: compresie temporală, care comprimă datele prin compararea datelor între diferite cadre pe axa timpului. Compresia între cadre este, în general, fără pierderi
muxing (sinteză): încapsulați fluxuri video, fluxuri audio și chiar fluxuri de subtitrare într-un fișier (format container (FLV, TS)) și transmiteți-l ca semnal.
* 3.3 Tehnologie de codare audio *
AAC, mp3: Acestea sunt tehnologii de codare audio, utilizate pentru audio comprimat
* 3.4 Controlul ratei *
Multi-bitrate: situația de rețea în care se află audiența este foarte complicată, poate fi WiFi, poate fi 4G, 3G sau chiar 2G, deci cum să răspundă nevoilor mai multor părți? Construiți încă câteva linii și personalizați rata de biți în funcție de mediul curent de rețea.
De exemplu: văd adesea 1024, 720, HD, SD, neted etc. în software-ul de redare video, care se referă la diverse rate de biți.
* 3.5 Format de ambalare video *
TS: un format de încapsulare media în flux. Incapsularea media în flux are avantajul că nu este nevoie să încărcați indexul înainte de redare, ceea ce reduce foarte mult întârzierea primei încărcări. Dacă filmul este relativ lung, indexul fișierului mp4 este destul de mare, ceea ce afectează experiența utilizatorului
De ce să folosiți TS: Acest lucru se datorează faptului că două clipuri TS pot fi îmbinate perfect, iar jucătorul poate juca continuu
FLV: Un format de încapsulare media streaming. Datorită dimensiunii extrem de mici a fișierelor și a vitezei de încărcare extrem de rapide, face posibilă vizionarea fișierelor video pe Internet. Prin urmare, formatul FLV a devenit formatul video mainstream astăzi.
4. Apăsați Stream
* 4.1 Cadrul de transmitere a datelor *
librtmp: folosit pentru a transmite date în format de protocol RTMP
* 4.2 Protocolul de transmisie a datelor media *
RTMP: protocol de mesagerie în timp real, un protocol deschis dezvoltat de Adobe Systems pentru transmisie audio, video și de date între playere Flash și servere. Deoarece este un protocol deschis, toate pot fi utilizate.
Protocolul RTMP este utilizat pentru transmiterea de obiecte, video și audio.
Acest protocol este construit deasupra protocolului TCP sau a protocolului HTTP de interogare.
Protocolul RTMP este ca un container folosit pentru a păstra pachete de date. Aceste date pot fi date audiovizuale în FLV. O singură conexiune poate transmite mai multe fluxuri de rețea prin diferite canale, iar pachetele din aceste canale sunt transmise în pachete de dimensiuni fixe
chunk: pachet de mesaje
5. Streaming Media Server
* 5.1 Servere utilizate în mod obișnuit *
SRS: Un excelent sistem de streaming media open source dezvoltat de chinezi
BMS: Este, de asemenea, un sistem de streaming media server, dar nu open source. Este o versiune comercială a SRS și are mai multe funcții decât SRS
nginx: server web gratuit și open source, utilizat în mod obișnuit pentru configurarea serverelor media de streaming.
* 5.2 Distribuirea datelor *
CDN: (Content Delivery Network), rețeaua de livrare a conținutului, publică conținutul site-ului web la "marginea" rețelei cele mai apropiate de utilizator, astfel încât utilizatorul să poată obține conținutul dorit în apropiere, rezolvă congestionarea rețelei de Internet , și îmbunătățește accesul utilizatorului la viteza de răspuns a site-ului web.
CDN: server proxy, echivalent cu un intermediar.
Principiul de funcționare al CDN: cum ar fi solicitarea fluxului de date media
1. Încărcați date media în flux pe server (site-ul de origine)
2. Stația sursă stochează date media în flux
3. Clientul redă media în flux și solicită datele media codate din CDN
4. Serverul CDN răspunde la cerere. Dacă datele media în flux nu există pe nod, continuă să solicite datele media în flux de la stația sursă; dacă fișierul video este deja în cache pe nod, treceți la pasul 6.
5. Site-ul de origine răspunde la solicitarea CDN și distribuie media în flux către nodul CDN corespunzător
6. CDN trimite fluxuri de date media către client
Înapoi la origine: atunci când un utilizator accesează o anumită adresă URL, dacă nodul CDN analizat nu cache conținutul răspunsului sau cache-ul a expirat, acesta va reveni la site-ul de origine pentru a efectua căutarea. Dacă nimeni nu vizitează, atunci nodul CDN nu va merge în mod activ la site-ul sursă pentru al obține.
Lățime de bandă: cantitatea totală de date care poate fi transmisă la un moment fix,
De exemplu, o magistrală frontală pe 64 de biți, 800 MHz, rata de transfer a datelor este egală cu 64 biți × 800 MHz ÷ 8 (octeți) = 6.4 GB / s
Echilibrarea încărcării: un set de servere este compus din mai multe servere într-o manieră simetrică. Fiecare server are un statut echivalent și poate furniza servicii în mod independent, fără asistența altor servere.
Printr-o anumită tehnologie de partajare a sarcinilor, solicitările trimise din exterior sunt distribuite uniform către un anumit server în structura simetrică, iar serverul care primește solicitarea răspunde independent la solicitarea clientului.
Echilibrarea încărcării poate distribui în mod uniform cererile clienților către matricea serverului, oferind astfel acces rapid la date importante și rezolvând problema unui număr mare de servicii de acces simultan.
Această tehnologie cluster poate obține performanțe apropiate de cele ale unui mainframe cu investiții minime.
QoS (gestionarea lățimii de bandă): limitați lățimea de bandă a fiecărui grup, astfel încât lățimea de bandă limitată să poată fi utilizată la efectul maxim
6. Trageți fluxul
Selectarea protocolului de difuzare live:
RTMP, RTSP pot fi utilizate pentru cei cu cerințe în timp real ridicate sau cu nevoi interactive
Pentru cei cu cerințe de redare sau multiplataforma, se recomandă HLS
Comparație protocol de difuzare live: (5)
HLS: un protocol pentru streaming în timp real definit de Apple. HLS este implementat pe baza protocolului HTTP. Conținutul transmisiei include două părți, una este fișierul de descriere M3U8, iar cealaltă este fișierul media TS. Poate realiza media live și la cerere, folosită în principal în sistemul iOS
HLS este de a realiza difuzarea în direct prin tehnologie la cerere
HLS este un flux adaptiv de flux de biți. Clientul va selecta automat fluxuri video cu rate de biți diferite în funcție de condițiile de rețea. Utilizați rate de biți mari dacă condițiile o permit și utilizați rate de biți reduse atunci când rețeaua este ocupată și comutați automat între cele două după bunul plac
Schimbare. Acest lucru este foarte util pentru a asigura redarea fără probleme atunci când condițiile de rețea ale dispozitivului mobil sunt instabile.
Metoda de implementare este că serverul furnizează un flux video multi-bitrate și este notat în fișierul listă, iar playerul se ajustează automat în funcție de progresul redării și viteza de descărcare.
Comparația dintre HLS și RTMP: HLS se datorează în principal întârzierii relativ mari, iar principalul avantaj al RTMP este latența scăzută
Metoda de felie mică a protocolului HLS va genera un număr mare de fișiere, iar stocarea sau procesarea acestor fișiere va provoca o cantitate mare de resurse
În comparație cu protocolul SP, avantajul este că, odată ce segmentarea este finalizată, procesul de distribuție ulterior nu trebuie să utilizeze deloc niciun software special. Este suficient un server de rețea obișnuit, ceea ce reduce foarte mult cerințele de configurare ale serverului CDN edge și poate fi utilizat orice CDN gata pregătit. Și serverele generale acceptă rareori RTSP.
HTTP-FLV: Streaming de conținut media bazat pe protocol HTTP.
În comparație cu RTMP, HTTP este mai simplu și bine cunoscut, întârzierea conținutului poate fi, de asemenea, de 1 ~ 3 secunde, iar viteza de deschidere este mai rapidă, deoarece HTTP în sine nu are interacțiuni complexe de stare. Deci, din perspectiva latenței, HTTP-FLV este mai bun decât RTMP.
RTSP: protocol de streaming în timp real, definește modul în care aplicațiile one-to-many pot transmite în mod eficient date multimedia printr-o rețea IP.
RTP: protocol de transport în timp real. RTP este construit pe protocolul UDP și este adesea utilizat împreună cu RTCP. Nu oferă mecanisme de livrare la timp sau alte garanții privind calitatea serviciilor (QoS). Pentru realizarea acestui proces, se bazează pe servicii de nivel scăzut.
RTCP: protocolul de suport al RTP, funcția principală este de a oferi feedback pentru calitatea serviciului (QoS) oferit de RTP și de a colecta informații statistice despre conexiunea media, cum ar fi numărul de octeți transmis, numărul de pachete transmise, numărul de pachete pierdute, întârzierea rețelelor unidirecționale și bidirecționale și așa mai departe.
7. Decodare
* 7.1 Decapsulare *
Demuxing (separare): Descompuneți videoclipul, sunetul sau subtitrările din fișier (format container (FLV, TS)) sintetizat din fluxul video, fluxul audio și fluxul de subtitrări și decodificați-le separat.
* 7.2 Cadru de codare audio *
fdk_aac: cadru de codare și decodare audio, date audio PCM și conversie date audio AAC
* 7.3 Introducere în decodare *
Decodare dură: utilizați GPU pentru a decoda, reduce operațiunile CPU
Avantaje: redare lină, consum redus de energie, viteză de decodare rapidă,
* Dezavantaje: compatibilitate slabă
Decodare soft: utilizați CPU pentru a decoda
Avantaje: compatibilitate bună
* Dezavantaje: sarcină crescută a procesorului, consum crescut de energie, fără hardware
Decodare lină, viteză de decodare relativ lentă
8. Joaca
ijkplayer: un player video Android / iOS open source bazat pe FFmpeg
API-ul este ușor de integrat;
Configurația compilației poate fi tăiată pentru a facilita controlul dimensiunii pachetului de instalare;
Suportă decodarea accelerării hardware, mai multă economie de energie
Simplu și ușor de utilizat, specificați adresa URL de streaming, decodați automat și redați.
9. Interacțiunea de chat
IM: (InstantMessaging) Mesageria instantanee: este un sistem de comunicare în timp real care permite două sau mai multe persoane să folosească rețeaua pentru a comunica în timp real mesaje text, fișiere, voce și video.
Rolul principal al IM în sistemul de difuzare în direct este de a realiza interacțiunea textului dintre audiență și ancoră, și între audiență și audiență.
* SDK terță parte *
Tencent Cloud: SDK de mesagerie instant oferit de Tencent, care poate fi folosit ca cameră de chat live
Rongyun: un SDK de mesagerie instantanee utilizat în mod obișnuit, care poate fi folosit ca cameră de chat live
5. Cum să dezvolți rapid o aplicație completă de streaming live iOS
1. Folosiți SDK-ul live de la terți pentru dezvoltare rapidă
Qiniu Cloud: Qiniu Live Cloud este un serviciu global de streaming live creat special pentru platformele de streaming live și o platformă de servicii de streaming live la nivel de întreprindere care implementează scenarii de streaming live end-to-end SDK.
* Platformele de streaming live precum Panda TV și Dragon Ball TV folosesc toate Qiniu Cloud
NetEase Video Cloud: Bazat pe tehnologia codec video multiplataforma profesională și pe o rețea de distribuție a conținutului video pe scară largă, oferă servicii audio și video în timp real stabile, netede, cu latență scăzută, cu concurență ridicată și se poate conecta perfect video live la propria aplicație.
2. De ce companiile SDK terțe ne oferă SDK-uri?
Sperăm să legăm produsul nostru și același vas și să ne bazăm mai mult pe el.
Tehnologia face bani și ajută la strângerea unui număr mare de programatori
3. Funcția de difuzare live: auto-cercetare sau utilizarea dezvoltării SDK transmise în direct de la terți?
Dezvoltare SDK terță parte: pentru o echipă de start-up, transmisia live auto-dezvoltată are un prag mare în ceea ce privește pragul tehnic, CDN și lățimea de bandă și este nevoie de mult timp pentru a realiza un produs finit, ceea ce nu este favorabil la investiții.
Auto-cercetare: platforma de difuzare în direct a companiei este mare. Pe termen lung, auto-cercetarea poate economisi costuri, iar aspectele tehnice sunt mult mai controlabile decât folosind direct SDK.
4. Beneficii SDK terță parte
reduce costul
Folosiți servicii corporative terțe bune, nu va mai trebui să cheltuiți prețuri ridicate pentru a angaja vânători de căști pentru a săpa vaci mari scumpe și nu este nevoie să liniștiți temperamentul personal al vacilor mari.
Imbunatatirea eficientei
Focalizarea serviciilor terțe și confortul adus de integrarea codului pot dura doar 1-2 ore, ceea ce economisește aproape 99% din timp, ceea ce este suficient în schimbul unui timp mai mare pentru a lupta împotriva concurenților și a crește mai mult. Posibilitate mare de succes
reduceți riscul
Cu ajutorul serviciilor terțe profesionale, datorită caracteristicilor sale rapide, profesionale, stabile și de altă natură, poate spori foarte mult competitivitatea produselor (servicii de înaltă calitate, viteza de cercetare și dezvoltare etc.) și poate scurta perioada de încercare și timpul de eroare, care va fi cu siguranță unul dintre mijloacele de a salva vieți în antreprenoriat.
|
Introduceți adresa de e-mail pentru a primi o surpriză
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Afrikaans
sq.fmuser.org -> Albaneză
ar.fmuser.org -> arabă
hy.fmuser.org -> Armeană
az.fmuser.org -> azeră
eu.fmuser.org -> bască
be.fmuser.org -> bielorusă
bg.fmuser.org -> Bulgarian
ca.fmuser.org -> catalană
zh-CN.fmuser.org -> Chineză (simplificată)
zh-TW.fmuser.org -> Chineză (tradițională)
hr.fmuser.org -> croată
cs.fmuser.org -> cehă
da.fmuser.org -> Daneză
nl.fmuser.org -> Dutch
et.fmuser.org -> estonă
tl.fmuser.org -> filipinez
fi.fmuser.org -> finlandeză
fr.fmuser.org -> Franceză
gl.fmuser.org -> Galeză
ka.fmuser.org -> Georgiană
de.fmuser.org -> germană
el.fmuser.org -> greacă
ht.fmuser.org -> Creole haitian
iw.fmuser.org -> ebraică
hi.fmuser.org -> Hindi
hu.fmuser.org -> Maghiară
is.fmuser.org -> islandeză
id.fmuser.org -> indoneziană
ga.fmuser.org -> irlandeză
it.fmuser.org -> Italiană
ja.fmuser.org -> japoneză
ko.fmuser.org -> coreeană
lv.fmuser.org -> letonă
lt.fmuser.org -> lituaniană
mk.fmuser.org -> macedoneană
ms.fmuser.org -> Malay
mt.fmuser.org -> malteză
no.fmuser.org -> norvegiană
fa.fmuser.org -> persană
pl.fmuser.org -> poloneză
pt.fmuser.org -> portugheză
ro.fmuser.org -> Română
ru.fmuser.org -> rusă
sr.fmuser.org -> sârbă
sk.fmuser.org -> slovacă
sl.fmuser.org -> Slovenă
es.fmuser.org -> spaniolă
sw.fmuser.org -> Swahili
sv.fmuser.org -> suedeză
th.fmuser.org -> Thai
tr.fmuser.org -> turcă
uk.fmuser.org -> ucraineană
ur.fmuser.org -> Urdu
vi.fmuser.org -> Vietnameză
cy.fmuser.org -> galeză
yi.fmuser.org -> idiș
FMUSER Wirless Transmit video și audio mai ușor!
Contact
Adresa:
Nr. 305 Clădirea HuiLan nr. 273 Huanpu Road Guangzhou China 510620
Categorii
Stiri lunare via e-mail