FMUSER Wirless Transmituj wideo i audio łatwiejsze!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Afrikaans
sq.fmuser.org -> albański
ar.fmuser.org -> arabski
hy.fmuser.org -> Armeński
az.fmuser.org -> Azerbejdżański
eu.fmuser.org -> baskijski
be.fmuser.org -> białoruski
bg.fmuser.org -> bułgarski
ca.fmuser.org -> kataloński
zh-CN.fmuser.org -> chiński (uproszczony)
zh-TW.fmuser.org -> chiński (tradycyjny)
hr.fmuser.org -> chorwacki
cs.fmuser.org -> czeski
da.fmuser.org -> duński
nl.fmuser.org -> holenderski
et.fmuser.org -> estoński
tl.fmuser.org -> filipiński
fi.fmuser.org -> fiński
fr.fmuser.org -> francuski
gl.fmuser.org -> galicyjski
ka.fmuser.org -> gruziński
de.fmuser.org -> niemiecki
el.fmuser.org -> grecki
ht.fmuser.org -> kreolski haitański
iw.fmuser.org -> hebrajski
hi.fmuser.org -> hindi
hu.fmuser.org -> węgierski
is.fmuser.org -> islandzki
id.fmuser.org -> indonezyjski
ga.fmuser.org -> irlandzki
it.fmuser.org -> włoski
ja.fmuser.org -> japoński
ko.fmuser.org -> koreański
lv.fmuser.org -> łotewski
lt.fmuser.org -> litewski
mk.fmuser.org -> macedoński
ms.fmuser.org -> malajski
mt.fmuser.org -> maltański
no.fmuser.org -> norweski
fa.fmuser.org -> perski
pl.fmuser.org -> polski
pt.fmuser.org -> portugalski
ro.fmuser.org -> rumuński
ru.fmuser.org -> rosyjski
sr.fmuser.org -> serbski
sk.fmuser.org -> słowacki
sl.fmuser.org -> słoweński
es.fmuser.org -> hiszpański
sw.fmuser.org -> suahili
sv.fmuser.org -> szwedzki
th.fmuser.org -> Tajski
tr.fmuser.org -> turecki
uk.fmuser.org -> ukraiński
ur.fmuser.org -> Urdu
vi.fmuser.org -> wietnamski
cy.fmuser.org -> walijski
yi.fmuser.org -> jidysz
04. Wprowadzenie do podstawowej wiedzy na temat transmisji na żywo
1. Zbierz wideo i audio
* 1.1 Przechwytywanie struktury kodowania wideo i audio *
AVFoundation: AVFoundation to platforma do odtwarzania i tworzenia audiowizualnych danych medialnych w czasie rzeczywistym. Zapewnia również interfejs Objective-C do manipulowania danymi audiowizualnymi, takimi jak edycja, obracanie i ponowne kodowanie
* 1.2 Sprzęt audio i wideo *
CCD: czujnik obrazu: używany w procesie akwizycji i przetwarzania obrazu w celu konwersji obrazów na sygnały elektryczne.
Odbiór: czujnik dźwięku: używany w procesie gromadzenia i przetwarzania dźwięku, przekształcania dźwięku w sygnały elektryczne.
Przykładowe dane audio: zazwyczaj w formacie PCM
Dane próbkowania wideo: ogólnie są w formacie YUV lub RGB. Głośność zebranego oryginalnego dźwięku i obrazu jest bardzo duża i musi zostać przetworzona za pomocą technologii kompresji, aby poprawić wydajność transmisji
2. Przetwarzanie wideo (piękno, znak wodny)
Zasada przetwarzania wideo: Ponieważ wideo jest ostatecznie renderowane na ekranie przez GPU, klatka po klatce, możemy użyć OpenGL ES do przetwarzania klatek wideo, dzięki czemu wideo ma różne efekty, tak jak wypływający kran Woda przepływa przez kilka rury, a następnie przepływa do różnych celów
Teraz wszystkie rodzaje aplikacji z efektami specjalnymi do dodawania urody i wideo są implementowane przy użyciu struktury GPUImage.
* Struktura przetwarzania wideo *
GPUImage: GPUImage to potężna platforma przetwarzania obrazu / wideo oparta na OpenGL ES. Hermetyzuje różne filtry, a także może pisać filtry niestandardowe. Posiada wbudowanych ponad 120 typowych efektów filtrów.
OpenGL: OpenGL (pełna Open Graphics Library) to specyfikacja definiująca język programowania międzyplatformowego, interfejs programowania międzyplatformowego, który jest używany do trójwymiarowych obrazów (możliwy jest również dwuwymiarowy). OpenGL to profesjonalny interfejs programu graficznego, potężna, łatwa w obsłudze biblioteka graficzna.
OpenGL ES: OpenGL ES (OpenGL dla systemów wbudowanych) to podzbiór interfejsu API grafiki 3D OpenGL, przeznaczony dla urządzeń wbudowanych, takich jak telefony komórkowe, PDA i konsole do gier.
3. Kodowanie i dekodowanie wideo
* 3.1 Struktura kodowania wideo *
FFmpeg: to wieloplatformowa platforma wideo typu open source, która może implementować bogate funkcje, takie jak kodowanie wideo, dekodowanie, transkodowanie, przesyłanie strumieniowe i odtwarzanie. Obsługiwane formaty wideo i protokoły odtwarzania są bardzo bogate, w tym prawie wszystkie kodeki audio i wideo, formaty enkapsulacji i protokoły odtwarzania.
-Libswresample: Może wykonywać operacje, takie jak ponowne próbkowanie, rematriks i konwersja formatu próbkowania dźwięku.
-LibavCodec: Zapewnia ogólną strukturę kodeków, w tym wiele strumieni wideo, audio, napisów i innych kodeków / dekoderów.
-Libavformat: Służy do hermetyzacji / dekapsulacji wideo.
-Libavutil: Zawiera kilka typowych funkcji, takich jak generowanie liczb losowych, struktura danych, operacje matematyczne itp.
-Libpostproc: używany do przetwarzania końcowego wideo.
-Libswscale: używane do skalowania obrazu wideo, konwersji przestrzeni kolorów itp.
-Libavfilter: Zapewnia funkcję filtru.
X264: kodowanie YuV i kompresja oryginalnych danych wideo do formatu H.264
VideoToolbox: własny interfejs API do twardego dekodowania i kodowania wideo firmy Apple, ale otwarty dopiero po iOS8.
audioToolbox: własny interfejs API do twardego dekodowania i kodowania dźwięku firmy Apple
* 3.2 Technologia kodowania wideo *
Standardy kodowania kompresji wideo: technologie kodowania dla kompresji wideo (kodowanie wideo) lub dekompresji (dekodowanie wideo), takie jak MPEG, H.264, te technologie kodowania wideo są kodowaniem kompresji wideo
Główna funkcja: kompresja danych pikseli wideo w strumień wideo, zmniejszając w ten sposób ilość danych wideo. Jeśli wideo nie jest skompresowane i zakodowane, wolumen jest zwykle bardzo duży, a film może wymagać setek gigabajtów miejsca.
Uwaga: najbardziej wpływającym na jakość wideo są dane kodowania wideo i dane kodowania dźwięku, które nie mają nic wspólnego z formatem opakowania
MPEG: metoda kompresji wideo wykorzystująca kompresję międzyklatkową, przechowująca tylko różnice między kolejnymi klatkami, aby uzyskać większy współczynnik kompresji
H.264 / AVC: Metoda kompresji wideo, która wykorzystuje predykcję wstępną i tę samą metodę przewidywania klatek, co ramka PB w formacie MPEG. Może generować strumień wideo odpowiedni do transmisji sieciowej w zależności od potrzeb i ma wyższy współczynnik kompresji. Miej lepszą jakość obrazu
Uwaga 1: Jeśli porównasz definicję pojedynczego ekranu, mpeg4 ma przewagę; z definicji ciągłości działania H.264 ma przewagę
Uwaga 2: Ponieważ algorytm 264 jest bardziej złożony, implementacja programu jest kłopotliwa, a do jego uruchomienia potrzeba więcej zasobów procesora i pamięci. Dlatego uruchomienie 264 wymaga stosunkowo wysokich wymagań systemowych.
Uwaga 3: Ponieważ implementacja 264 jest bardziej elastyczna, pozostawia niektóre implementacje samym producentom. Chociaż przynosi to wiele korzyści wdrożeniu, komunikacja między różnymi produktami stała się dużym problemem, co spowodowało przyjęcie firmy A Dane zebrane przez koder muszą zostać rozwiązane przez dekoder firmy A, aby rozwiązać takie kłopotliwe sprawy
H.265 / HEVC: Metoda kompresji wideo oparta na H.264, zachowująca niektóre z oryginalnych technologii, jednocześnie ulepszając niektóre powiązane technologie w celu poprawy relacji między strumieniem bitowym, jakością kodowania, opóźnieniem i złożonością algorytmu. Relacje w celu osiągnięcia optymalnego ustawienia.
H.265 to bardziej wydajny standard kodowania, który umożliwia kompresję objętości zawartości do mniejszego rozmiaru przy tym samym efekcie jakości obrazu oraz szybszą transmisję i oszczędność przepustowości.
I ramka: (ramka kluczowa) zachowaj pełny obraz, do zakończenia dekodowania potrzebne są tylko dane z tej ramki (ponieważ zawiera ona pełny obraz
Klatka P: (klatka różnicy) Różnica między tą klatką a poprzednią klatką zostaje zachowana. Podczas dekodowania poprzednio zbuforowany obraz musi zostać nałożony na różnicę zdefiniowaną przez tę ramkę, aby wygenerować ostateczny obraz. (Ramka P nie zawiera pełnych danych obrazu, tylko dane różniące się od obrazu z poprzedniej klatki)
Ramka B: (dwukierunkowa ramka różnicowa) zachowuje różnicę między bieżącą klatką a poprzednią i następną klatką. Aby zdekodować ramkę B, należy uzyskać nie tylko poprzedni buforowany obraz, ale także zdekodowany obraz. Ostateczny wynik uzyskuje się poprzez nałożenie obrazu przedniego i tylnego oraz aktualnych danych klatki Obraz. Stopień kompresji klatek B jest wysoki, ale procesor będzie bardziej zmęczony podczas dekodowania
Kompresja wewnątrzramkowa: podczas kompresji klatki obrazu brane są pod uwagę tylko dane z tej klatki, bez uwzględniania nadmiarowych informacji między sąsiednimi klatkami. Ogólnie w ramce używany jest algorytm kompresji stratnej
Kompresja InteRFrame: kompresja czasowa, która kompresuje dane przez porównanie danych między różnymi ramkami na osi czasu. Kompresja między klatkami jest generalnie bezstratna
muxing (synteza): hermetyzuj strumienie wideo, strumienie audio, a nawet strumienie napisów do pliku (format kontenera (FLV, TS)) i przesyłaj go jako sygnał.
* 3.3 Technologia kodowania dźwięku *
AAC, mp3: Są to technologie kodowania dźwięku używane do skompresowanego dźwięku
* 3.4 Kontrola dawki *
Multi-bitrate: sytuacja w sieci, w której znajdują się odbiorcy, jest bardzo skomplikowana, może to być WiFi, może to być 4G, 3G, a nawet 2G, więc jak zaspokoić potrzeby wielu stron? Zbuduj kilka dodatkowych linii i dostosuj szybkość transmisji do aktualnego środowiska sieciowego.
Na przykład: często widzę 1024, 720, HD, SD, smooth itp. W oprogramowaniu do odtwarzania wideo, które odnoszą się do różnych szybkości transmisji.
* 3.5 Format opakowania wideo *
TS: format enkapsulacji mediów strumieniowych. Zaletą enkapsulacji mediów strumieniowych jest brak konieczności ładowania indeksu przed odtworzeniem, co znacznie zmniejsza opóźnienie pierwszego ładowania. Jeśli film jest stosunkowo długi, indeks pliku mp4 jest dość duży, co wpływa na wrażenia użytkownika
Dlaczego warto używać TS: Dzieje się tak, ponieważ dwa klipy TS można bezproblemowo połączyć, a odtwarzacz może odtwarzać w sposób ciągły
FLV: format hermetyzacji multimediów strumieniowych. Ze względu na wyjątkowo mały rozmiar pliku i niezwykle dużą prędkość ładowania umożliwia oglądanie plików wideo w Internecie. Dlatego format FLV stał się dziś głównym formatem wideo.
4. Naciśnij strumień
* 4.1 Struktura transmisji danych *
librtmp: służy do przesyłania danych w formacie protokołu RTMP
* 4.2 Protokół transmisji danych mediów strumieniowych *
RTMP: protokół przesyłania wiadomości w czasie rzeczywistym, otwarty protokół opracowany przez firmę Adobe Systems do przesyłania dźwięku, obrazu i danych między odtwarzaczami Flash a serwerami. Ponieważ jest to protokół otwarty, można go używać w całości.
Protokół RTMP służy do przesyłania obiektów, obrazu i dźwięku.
Ten protokół jest oparty na protokole TCP lub protokole odpytywania HTTP.
Protokół RTMP jest jak kontener używany do przechowywania pakietów danych. Te dane mogą być danymi audiowizualnymi w formacie FLV. Pojedyncze połączenie może przesyłać wiele strumieni sieciowych przez różne kanały, a pakiety w tych kanałach są przesyłane w pakietach o stałym rozmiarze
chunk: pakiet wiadomości
5. Serwer mediów strumieniowych
* 5.1 Powszechnie używane serwery *
SRS: doskonały system serwera mediów strumieniowych typu open source opracowany przez Chińczyków
BMS: Jest to również system serwera mediów strumieniowych, ale nie jest to oprogramowanie typu open source. Jest to komercyjna wersja SRS i ma więcej funkcji niż SRS
nginx: darmowy serwer WWW typu open source, powszechnie używany do konfigurowania serwerów mediów strumieniowych.
* 5.2 Dystrybucja danych *
CDN: (Content Delivery Network), sieć dostarczania treści, publikuje zawartość strony internetowej do „krawędzi” sieci najbliższej użytkownikowi, tak aby użytkownik mógł uzyskać żądane treści w pobliżu, rozwiązuje przeciążenie sieci internetowej i poprawia szybkość reakcji użytkownika w dostępie do strony internetowej.
CDN: serwer proxy, odpowiednik pośrednika.
Zasada działania CDN: na przykład żądanie danych z multimediów strumieniowych
1. Prześlij dane multimediów strumieniowych na serwer (witryna źródłowa)
2. Stacja źródłowa przechowuje dane mediów strumieniowych
3. Klient odtwarza media strumieniowe i żąda zakodowanych danych mediów strumieniowych z CDN
4. Serwer CDN odpowiada na żądanie. Jeśli dane mediów strumieniowych nie istnieją w węźle, nadal żąda danych mediów strumieniowych ze stacji źródłowej; jeśli plik wideo jest już buforowany w węźle, przejdź do kroku 6.
5. Witryna źródłowa odpowiada na żądanie CDN i dystrybuuje multimedia strumieniowe do odpowiedniego węzła CDN
6. CDN wysyła strumieniowe dane multimedialne do klienta
Powrót do początku: gdy użytkownik odwiedza określony adres URL, jeśli przeanalizowany węzeł CDN nie buforuje zawartości odpowiedzi lub pamięć podręczna wygasła, powróci do witryny źródłowej, aby uzyskać wyszukiwanie. Jeśli nikt go nie odwiedza, węzeł CDN nie będzie aktywnie przechodził do witryny źródłowej, aby go pobrać.
Przepustowość: całkowita ilość danych, które można przesłać w określonym czasie,
Na przykład w przypadku 64-bitowej magistrali FSB 800 MHz szybkość przesyłania danych wynosi 64 bity × 800 MHz ÷ 8 (bajty) = 6.4 GB / s
Równoważenie obciążenia: zestaw serwerów składa się z wielu serwerów w sposób symetryczny. Każdy serwer ma równoważny status i może świadczyć usługi niezależnie, bez pomocy innych serwerów.
Dzięki określonej technologii współdzielenia obciążenia żądania wysyłane z zewnątrz są równomiernie dystrybuowane do określonego serwera w strukturze symetrycznej, a serwer, który odbiera żądanie, samodzielnie odpowiada na żądanie klienta.
Równoważenie obciążenia może równomiernie rozdzielać żądania klientów do macierzy serwerowej, zapewniając w ten sposób szybki dostęp do ważnych danych i rozwiązując problem dużej liczby współbieżnych usług dostępu.
Ta technologia klastra może osiągnąć wydajność zbliżoną do wydajności komputera mainframe przy minimalnych nakładach inwestycyjnych.
QoS (zarządzanie przepustowością): Ogranicz przepustowość każdej grupy, aby ograniczoną przepustowość można było wykorzystać w maksymalnym stopniu
6. Przepływ ciągnący
Wybór protokołu transmisji na żywo:
RTMP, RTSP mogą być używane dla osób z wysokimi wymaganiami w czasie rzeczywistym lub potrzebami interaktywnymi
W przypadku wymagań dotyczących odtwarzania lub wielu platform zalecany jest HLS
Porównanie protokołów transmisji na żywo: (5)
HLS: protokół przesyłania strumieniowego w czasie rzeczywistym zdefiniowany przez firmę Apple. HLS jest zaimplementowany w oparciu o protokół HTTP. Treść transmisji składa się z dwóch części, z których jedna to plik opisu M3U8, a druga to plik multimedialny TS. Może realizować media strumieniowe na żywo i na żądanie, używane głównie w systemie iOS
HLS ma realizować transmisję na żywo za pomocą technologii na żądanie
HLS to adaptacyjne przesyłanie strumieniowe z szybkością transmisji bitów. Klient automatycznie wybierze strumienie wideo o różnych szybkościach transmisji w zależności od warunków sieciowych. Używaj wysokich przepływności, jeśli pozwalają na to warunki, i niskich przepływności, gdy sieć jest zajęta, i automatycznie przełączaj się między nimi w dowolnym momencie
zmiana. Jest to bardzo pomocne, aby zapewnić płynne odtwarzanie, gdy warunki sieciowe urządzenia mobilnego są niestabilne.
Metoda implementacji polega na tym, że serwer zapewnia strumień wideo o wielu szybkościach transmisji bitów i jest on odnotowywany w pliku listy, a odtwarzacz automatycznie dostosowuje się do postępu odtwarzania i prędkości pobierania.
Porównanie HLS i RTMP: HLS wynika głównie ze stosunkowo dużego opóźnienia, a główną zaletą RTMP jest małe opóźnienie
Metoda małych kawałków protokołu HLS wygeneruje dużą liczbę plików, a przechowywanie lub przetwarzanie tych plików spowoduje dużo marnotrawstwa zasobów
W porównaniu z protokołem SP zaletą jest to, że po zakończeniu segmentacji w dalszym procesie dystrybucji nie jest wymagane żadne specjalne oprogramowanie. Wystarczy zwykły serwer sieciowy, co znacznie zmniejsza wymagania konfiguracyjne serwera brzegowego CDN i można użyć dowolnego gotowego CDN. , A ogólnie serwery rzadko obsługują RTSP.
HTTP-FLV: przesyłanie strumieniowe treści multimedialnych w oparciu o protokół HTTP.
W porównaniu z RTMP protokół HTTP jest prostszy i dobrze znany, opóźnienie zawartości może również wynosić 1 ~ 3 sekundy, a prędkość otwierania jest szybsza, ponieważ sam HTTP nie ma złożonej interakcji ze stanem. Zatem z punktu widzenia opóźnienia HTTP-FLV jest lepszy niż RTMP.
RTSP: protokół przesyłania strumieniowego w czasie rzeczywistym, definiuje, w jaki sposób aplikacje typu „jeden do wielu” mogą efektywnie przesyłać dane multimedialne przez sieć IP.
RTP: protokół transportowy w czasie rzeczywistym. RTP jest oparty na protokole UDP i często jest używany razem z RTCP. Nie zapewnia mechanizmu dostawy na czas ani innych gwarancji jakości usług (QoS). Aby osiągnąć ten proces, opiera się na usługach niskiego poziomu.
RTCP: protokół wspierający RTP, którego główną funkcją jest dostarczanie informacji zwrotnych na temat jakości usług (QoS) zapewnianych przez RTP oraz zbieranie informacji statystycznych o połączeniu mediów, takich jak liczba przesłanych bajtów, liczba przesłanych pakietów, liczba utraconych pakietów, sieci jednokierunkowe i dwukierunkowe, Opóźnienie i tak dalej.
7. Dekodowanie
* 7.1 Dekapsulacja *
Demuxing (separacja): Zdekomponuj wideo, audio lub napisy z pliku (format kontenera (FLV, TS)) zsyntetyzowany ze strumienia wideo, strumienia audio i strumienia napisów, a następnie zdekoduj je osobno.
* 7.2 Struktura kodowania dźwięku *
fdk_aac: Struktura kodowania i dekodowania dźwięku, dane audio PCM i konwersja danych audio AAC
* 7.3 Wprowadzenie do dekodowania *
Twarde dekodowanie: użyj GPU do dekodowania, zmniejsz operacje procesora
Zalety: płynne odtwarzanie, niskie zużycie energii, duża prędkość dekodowania,
* Wady: słaba kompatybilność
Miękkie dekodowanie: użyj procesora do dekodowania
Zalety: dobra kompatybilność
* Wady: zwiększone obciążenie procesora, zwiększone zużycie energii, brak sprzętu
Płynne dekodowanie, stosunkowo niska prędkość dekodowania
8. Grać
ijkplayer: odtwarzacz wideo typu open source na Androida / iOS oparty na FFmpeg
API jest łatwe do zintegrowania;
Konfigurację kompilacji można przyciąć, aby ułatwić kontrolę rozmiaru pakietu instalacyjnego;
Obsługa dekodowania przyspieszenia sprzętowego, większa oszczędność energii
Prosty i łatwy w użyciu, określ adres URL przesyłania strumieniowego, automatycznie dekoduj i odtwarzaj.
9. Interakcja na czacie
IM: (InstantMessaging) Instant Messaging: to system komunikacji w czasie rzeczywistym, który umożliwia dwóm lub więcej osobom używanie sieci do komunikowania się w czasie rzeczywistym za pomocą wiadomości tekstowych, plików, głosu i wideo.
Główną rolą komunikatorów w systemie transmisji na żywo jest uświadomienie sobie interakcji tekstowej między publicznością a kotwicą oraz między publicznością a publicznością.
* Pakiet SDK innej firmy *
Tencent Cloud: pakiet SDK do przesyłania wiadomości błyskawicznych dostarczony przez Tencent, który może być używany jako pokój rozmów na żywo
Rongyun: Powszechnie używany pakiet SDK do obsługi wiadomości błyskawicznych, którego można używać jako pokoju rozmów na żywo
5. Jak szybko stworzyć kompletną aplikację do transmisji na żywo na iOS
1. Skorzystaj z pakietu SDK do transmisji na żywo innych firm, aby szybko programować
Qiniu Cloud: Qiniu Live Cloud to globalna usługa transmisji na żywo stworzona specjalnie dla platform transmisji na żywo oraz platforma usługowa w chmurze na poziomie przedsiębiorstwa, która implementuje kompleksowe scenariusze transmisji na żywo z SDK.
* Platformy do transmisji na żywo, takie jak Panda TV i Dragon Ball TV, używają Qiniu Cloud
Chmura wideo NetEase: Oparta na profesjonalnej, wieloplatformowej technologii kodeków wideo i sieci dystrybucji treści wideo na dużą skalę, zapewnia stabilne, płynne, współbieżne usługi audio i wideo w czasie rzeczywistym o niewielkich opóźnieniach i może bezproblemowo łączyć wideo na żywo z własną aplikację.
2. Dlaczego zewnętrzne firmy SDK dostarczają nam zestawy SDK?
Mamy nadzieję, że przywiążemy nasz produkt i go do tej samej łodzi i będziemy na niej bardziej polegać.
Technologia zarabia pieniądze i pomaga zdobyć dużą liczbę programistów
3. Funkcja transmisji na żywo: samodzielne badanie lub wykorzystanie rozwoju SDK do transmisji na żywo innych firm?
Rozwój pakietu SDK innej firmy: w przypadku zespołu start-up samodzielnie opracowana transmisja na żywo ma duży próg pod względem progu technicznego, CDN i przepustowości, a przygotowanie gotowego produktu zajmuje dużo czasu, co nie sprzyja do inwestycji.
Badania własne: platforma transmisji na żywo firmy jest duża. Na dłuższą metę samodzielne badanie może obniżyć koszty, a aspekty techniczne są znacznie bardziej kontrolowane niż bezpośrednio przy użyciu SDK.
4. Korzyści z pakietu SDK innych firm
obniżyć koszt
Skorzystaj z dobrych usług firm zewnętrznych, nie będziesz już musiał wydawać wysokich cen na zatrudnianie headhunterów do kopania drogich dużych krów i nie ma potrzeby łagodzenia temperamentu dużych krów.
Popraw wydajność
Skoncentrowanie się na usługach stron trzecich i wygoda, jaką zapewnia integracja kodu, może zająć tylko 1-2 godziny, co oszczędza prawie 99% czasu, co wystarcza w zamian za więcej czasu na walkę z konkurentami i wzrost. Ogromne możliwości sukcesu
zmniejszyć ryzyko
Z pomocą profesjonalnych usług zewnętrznych, ze względu na swoje szybkie, profesjonalne, stabilne i inne cechy, może znacznie zwiększyć konkurencyjność produktów (usługi wysokiej jakości, szybkość badań i rozwoju itp.) Oraz skrócić okres próbny i czas błędu, który z pewnością będzie jednym ze sposobów ratowania życia w przedsiębiorczości.
|
Wpisz e-mail, aby otrzymać niespodziankę
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Afrikaans
sq.fmuser.org -> albański
ar.fmuser.org -> arabski
hy.fmuser.org -> Armeński
az.fmuser.org -> Azerbejdżański
eu.fmuser.org -> baskijski
be.fmuser.org -> białoruski
bg.fmuser.org -> bułgarski
ca.fmuser.org -> kataloński
zh-CN.fmuser.org -> chiński (uproszczony)
zh-TW.fmuser.org -> chiński (tradycyjny)
hr.fmuser.org -> chorwacki
cs.fmuser.org -> czeski
da.fmuser.org -> duński
nl.fmuser.org -> holenderski
et.fmuser.org -> estoński
tl.fmuser.org -> filipiński
fi.fmuser.org -> fiński
fr.fmuser.org -> francuski
gl.fmuser.org -> galicyjski
ka.fmuser.org -> gruziński
de.fmuser.org -> niemiecki
el.fmuser.org -> grecki
ht.fmuser.org -> kreolski haitański
iw.fmuser.org -> hebrajski
hi.fmuser.org -> hindi
hu.fmuser.org -> węgierski
is.fmuser.org -> islandzki
id.fmuser.org -> indonezyjski
ga.fmuser.org -> irlandzki
it.fmuser.org -> włoski
ja.fmuser.org -> japoński
ko.fmuser.org -> koreański
lv.fmuser.org -> łotewski
lt.fmuser.org -> litewski
mk.fmuser.org -> macedoński
ms.fmuser.org -> malajski
mt.fmuser.org -> maltański
no.fmuser.org -> norweski
fa.fmuser.org -> perski
pl.fmuser.org -> polski
pt.fmuser.org -> portugalski
ro.fmuser.org -> rumuński
ru.fmuser.org -> rosyjski
sr.fmuser.org -> serbski
sk.fmuser.org -> słowacki
sl.fmuser.org -> słoweński
es.fmuser.org -> hiszpański
sw.fmuser.org -> suahili
sv.fmuser.org -> szwedzki
th.fmuser.org -> Tajski
tr.fmuser.org -> turecki
uk.fmuser.org -> ukraiński
ur.fmuser.org -> Urdu
vi.fmuser.org -> wietnamski
cy.fmuser.org -> walijski
yi.fmuser.org -> jidysz
FMUSER Wirless Transmituj wideo i audio łatwiejsze!
Kontakt
Adres:
Nr 305 Pokój HuiLan Budynek nr 273 Huanpu Road Guangzhou Chiny 510620
Kategorie
Newsletter