Skonfiguruj Nginx na Ubuntu, aby przesyłać strumieniowo wideo na żywo HLS

HTTP Live Streaming (HLS) to bardzo solidny protokół przesyłania strumieniowego wideo wdrożony przez Apple Inc. HLS wykorzystuje transakcje HTTP, które z łatwością przechodzą przez zapory ogniowe, serwery proxy i mogą być dystrybuowane za pośrednictwem sieci CDN. Dlatego ta technologia jest w stanie dotrzeć do znacznie większej liczby odbiorców niż RTP lub inne protokoły oparte na UDP. Większość dzisiejszych strumieniowych transmisji wideo online jest obsługiwana przez drogie systemy korzystające z HLS, ale są one generalnie drogie i wymagają dużej ilości zasobów serwerowych. W tym samouczku pokażemy, jak skonfigurować bardzo przystępny cenowo system Ubuntu 14.04 VULTR VPS, aby przeprowadzać transmisje na żywo HLS przy użyciu tylko oprogramowania typu open source.

Pierwszym krokiem jest przeczytanie i skonfigurowanie serwera zgodnie z Vultr Doc „ Instalacja Nginx-RTMP na Ubuntu 14.04 ”. Instrukcje w tym dokumencie były najbardziej wyczerpujące na etapie instalacji w momencie pisania. Wspomnę, że możesz zastąpić „nginx-1.7.5” „nginx-1.9.4” lub jakąkolwiek najnowszą dostępną wersją Nginx. Inną sugestią jest skompilowanie Nginx z modułem statusu kodu pośredniczącego HTTP, aby umożliwić sobie monitorowanie liczby przeglądających HLS na żywo, które masz później.

Zamiast kompilować z:

./configure --with-http_ssl_module  --add-module=../nginx-rtmp-module-master

Użyj tego ciągu w procedurze opisanej we wstępnym dokumencie:

./configure --with-http_ssl_module --with-http_stub_status_module --add-module=../nginx-rtmp-module-master

Przykład w tym samouczku utworzy zarówno strumień „na żywo”, jak i „mobilny” (zoptymalizowany) i użyje programu ffmpeg (zainstalowanego w poprzednim samouczku) do wygenerowania strumienia HLS zoptymalizowanego pod kątem przepływności. Przykład pokaże także, w jaki sposób zmusić serwer do automatycznego nagrywania twoich transmisji na żywo i umożliwić odtwarzanie nagrań jako usługi odtwarzania wideo na żądanie (VOD).

Najpierw utwórz struktury folderów niezbędne do przechowywania manifestów i fragmentów wideo HLS na żywo i na urządzeniach mobilnych:

sudo mkdir /HLS
sudo mkdir /HLS/live
sudo mkdir /HLS/mobile
sudo mkdir /video_recordings
sudo chmod -R 777 /video_recordings

Prawdopodobnie dobrym pomysłem jest włączenie zapory sieciowej, jeśli jeszcze tego nie zrobiłeś. Jeśli tak, musisz zezwolić na ruch do portów używanych przez Nginx i HLS. Jeśli na razie chcesz uruchomić zaporę ogniową, zignoruj ​​sekcję ufw poniżej.

sudo ufw limit ssh
sudo ufw allow 80
sudo ufw allow 1935
sudo ufw enable

Przesyłanie strumieniowe HLS wymaga znacznie innej konfiguracji Nginx niż konfiguracji RTMP w pierwszym artykule. Edytuj nginx.confplik, aby użyć następujących, zastępując „my-ip” i „my-stream-key” informacjami. Możesz użyć czegokolwiek, co chcesz, do „my-stream-key” to tylko jedno słowo, które jest dla ciebie wyjątkowe i pomocne. Możesz najpierw wykonać kopię zapasową oryginalnego pliku konfiguracyjnego, a następnie wkleić dostarczone informacje o konfiguracji do edytora, zastępując wszystko, co tam było:

sudo cp /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.conf.original
sudo nano /usr/local/nginx/conf/nginx.conf

Nowy plik nginx.conf:

worker_processes  1;
error_log  logs/error.log debug;
events {
worker_connections  1024;
}
rtmp {
server {
listen 1935;
allow play all;

#creates our "live" full-resolution HLS videostream from our incoming encoder stream and tells where to put the HLS video manifest and video fragments
application live {
allow play all;
live on;
record all;
record_path /video_recordings;
record_unique on;
hls on;
hls_nested on;
hls_path /HLS/live;
hls_fragment 10s;

#creates the downsampled or "trans-rated" mobile video stream as a 400kbps, 480x360 sized video
exec ffmpeg -i rtmp://192.168.254.178:1935/$app/$name -acodec copy -c:v libx264 -preset veryfast -profile:v baseline -vsync cfr -s 480x360 -b:v 400k maxrate 400k -bufsize 400k -threads 0 -r 30 -f flv rtmp://192.168.254.178:1935/mobile/$;
}

#creates our "mobile" lower-resolution HLS videostream from the ffmpeg-created stream and tells where to put the HLS video manifest and video fragments
application mobile {
allow play all;
live on;
hls on;
hls_nested on;
hls_path /HLS/mobile;
hls_fragment 10s;
}

#allows you to play your recordings of your live streams using a URL like "rtmp://my-ip:1935/vod/filename.flv"
application vod {
play /video_recordings;
}
}
}


http {
include       mime.types;
default_type  application/octet-stream;

server {
listen 80;
server_name 192.168.254.178;

#creates the http-location for our full-resolution (desktop) HLS stream - "http://my-ip/live/my-stream-key/index.m3u8"      
location /live {
types {
application/vnd.apple.mpegurl m3u8;
}
alias /HLS/live;
add_header Cache-Control no-cache;
}

#creates the http-location for our mobile-device HLS stream - "http://my-ip/mobile/my-stream-key/index.m3u8"        
location /mobile {
types {
application/vnd.apple.mpegurl m3u8;
}
alias /HLS/mobile;
add_header Cache-Control no-cache;
}   

#allows us to see how stats on viewers on our Nginx site using a URL like: "http://my-ip/stats"     
location /stats {
stub_status;
}

#allows us to host some webpages which can show our videos: "http://my-ip/my-page.html"     
location / {
root   html;
index  index.html index.htm;
}   
}
}

Naciśnij Ctrl + X, aby wyjść. Powiedz „tak”, aby zapisać zmiany.

W tym nginx.confpliku można znaleźć jasne instrukcje i przykłady zmiennych możliwych , jeśli zapytasz swoją ulubioną wyszukiwarkę o „dyrektywy nginx-rtmp”. Używam nginx-rtmp z HLS od kilku lat, bez użycia dyrektyw „zezwalaj na publikowanie” i „odmawiaj publikowania” i widziałem zero przypadków osób używających / atakujących moje serwery wideo. Więc nie zawarłem tutaj tych dyrektyw. Przeczytaj i dodaj te dyrektywy, jeśli chcesz.

Po zmianie nginx.confpliku musisz zrestartować Nginx, aby użyć nowej konfiguracji:

sudo service nginx restart

Uważnie obserwuj wszelkie komunikaty o błędach Nginx i usuwaj wszelkie błędy, które mogły być spowodowane błędną pisownią, własnością folderu lub problemami z uprawnieniami. Jeśli nie masz żadnych komunikatów o błędach, możesz utworzyć strumień kodowania.

Musisz mieć koder wideo, aby utworzyć strumień. Używam OBS (Open Broadcaster Software) - oprogramowania typu open source i działa dobrze dla mnie. Istnieją inne rozwiązania do wyboru, które są poza zakresem tego samouczka. Nie omówię wszystkiego na temat konfigurowania kodera wideo RTMP. Wszystkie wymagają jednak mniej więcej tych samych zmiennych wejściowych. Kluczowe ustawienia, które musisz wprowadzić, aby użyć mojej dokładnej nginx.confkonfiguracji i dobrze funkcjonować w większości odtwarzaczy / przeglądarek / platform, są następujące:

  1. Encoder-x264
  2. Zmienna przepływność (nie CBR lub stała przepływność), najwyższa jakość
  3. Maksymalna przepływność - 600 kb / s
  4. Audio-Codec-AAC
  5. Format audio-44,1 kHz
  6. Audio-bitrate-64kbps
  7. FMS URL- „rtmp: // my-ip: 1935 / live”
  8. Klucz strumienia - „mój klucz strumienia”
  9. Rozdzielczość 640x480
  10. FPS (klatki na sekundę) -30
  11. CFR (Constant Frame Rate) - Tak
  12. Interwał klatki kluczowej - 2 sekundy (jedna klatka kluczowa co 2 sekundy)
  13. Kodowanie x264 Profil podstawowy (może działać z głównym - zależy od użytego odtwarzacza)
  14. Procesor x264 Bardzo szybki

Polecam wypróbowanie różnych koderów i eksperymentowanie z nimi. Możesz potrzebować szerokiego współczynnika proporcji - lub może wymagać tego twój aparat (lub inna transmisja). Jeśli tak, pamiętaj o zmianie tych informacji w koderze, a także o proporcjach wymienionych w sekcji exec-ffmpeg nginx.confpliku, który dostarczyłem; w przeciwnym razie dostaniesz trochę głupkowato wyglądających kanałów wideo.

Po skonfigurowaniu enkodera możesz przetestować wszystko. Uruchom koder za pomocą kamery internetowej lub działającej na nim paszy testowej. W tym momencie możesz obejrzeć transmisję za pomocą odtwarzacza VLC, używając adresów URL takich jak:

http://my-ip/live/my-stream-key/index.m3u8
http://my-ip/mobile/my-stream-key/index.m3u8

Są to odpowiednio dla głównego i mobilnego strumienia wideo. Zastąp swój adres IP i odpowiednio klucz strumienia.

Po pomyślnym wyemitowaniu pierwszej transmisji strumieniowej (za pośrednictwem ssh lub ftp) sprawdź, czy transmisja na żywo została nagrana w /video_recordingsfolderze na Vultr VPS. Możesz także spróbować odtworzyć ten nagrany plik w VLC pod adresem URL:

rtmp://my-ip/vod/filename.flv

Dostępne są także statystyki Nginx (z Nginx stub_status). Aby wyświetlić statystyki odwiedzających / przeglądających, uzyskaj dostęp:

http://my-ip/stats

Aby oglądać wideo na stronie internetowej, potrzebujesz wbudowanego odtwarzacza. Istnieje wiele dostępnych odtwarzaczy, które będą odtwarzać wideo HLS. Używam JW Player od kilku lat, ale darmowa wersja nie będzie odtwarzać HLS. Flowplayer i Bitdash firmy Bitmovin (wśród innych rozwiązań) są na tyle hojne, że oferują niekomercyjną wersję swoich odtwarzaczy za darmo, która sprawi, że Twój strumień HLS zostanie osadzony na stronie internetowej. W tym artykule wypróbowałem je oba i stwierdziłem, że oba działają całkiem dobrze z moim serwerem wideo opartym na Vultr / Nginx. Pokrótce pokażę, w jaki sposób uruchomiłem Flowplayer na mojej maszynie testowej.

Jeśli zamierzasz korzystać z przesyłania strumieniowego HLS na żywo w jakikolwiek regularny, trwały lub komercyjny sposób, zachęcam do zakupu licencji od Flowplayer lub dowolnego odtwarzacza, którego zdecydujesz się użyć. Otrzymasz gracza, który ma mniej ograniczeń, więcej funkcji i może być oznaczony marką Twojej organizacji. Otrzymasz również wsparcie - co może być bardzo ważne. Oprócz Vultr VPS jest to naprawdę jedyny koszt związany z projektem.

Zanim zrobisz cokolwiek innego, ważne jest, aby zadbać o tak zwane ograniczenia „międzydomenowe”, które w przeciwnym razie uniemożliwiłyby Ci możliwość strumieniowego przesyłania na stronę internetową. Utwórz crossdomain.xmlplik w swoim nginx/htmlfolderze i umieść w nim instrukcje, aby umożliwić przepływ danych między domenami:

sudo nano /usr/local/nginx/html/crossdomain.xml

Najpierw skopiuj (z tej strony), a następnie wklej (kliknij prawym przyciskiem myszy) w polu edytora nano następujące dane XML:

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<allow-access-from domain="*"/>
</cross-domain-policy>

Naciśnij Ctrl + O, aby zapisać, a następnie Ctrl + X, aby zapisać plik na dysku i wyjść.

Chwyciłem HTML5 (wersja 6.0.3) Flowplayer, który po rozpakowaniu dał mi wiele plików i folderów. Przesłałem wszystkie pliki i folder do podfolderu folderu głównego Nginx / HTML, który nazwałem „flowplayer”. Dokładna ścieżka była /usr/local/nginx/html/flowplayer.

Aby przetestować nasze wideo po umieszczeniu na stronie internetowej, utwórz kilka plików HTML w katalogu głównym folderu Nginx / HTML za pomocą nano i wypełnij je następującą zawartością.

Plik:

sudo nano /usr/local/nginx/html/hls.html

Kod HTML:

<!doctype html>
<head>
<link rel="stylesheet" href="#">
</head>

<body>
640x480 664kbps (live) Desktop Browsers<br>
<div style="width:640px;" class="flowplayer" data-swf="flowplayer/flowplayer.swf" data-ratio="0.75">
<video>
<source type="application/x-mpegurl" src="">
</video>
</div>
<br><br>
480x360 464kbps (mobile) Mobile Browsers <br>
<div style="width:480px;" class="flowplayer" data-swf="flowplayer/flowplayer.swf" data-ratio="0.75">
<video>
<source type="application/x-mpegurl" src="">
</video>
</div>
</body>

Plik:

sudo nano /usr/local/nginx/html/hls_progressive.html

Kod HTML:

<!doctype html>
<head>
<link rel="stylesheet" href="#">
<style> .flowplayer { width: 640px; } </style>
</head>

<body>
<div class="flowplayer" data-swf="flowplayer/flowplayer.swf" data-ratio="0.75">
<video>
<source type="application/x-mpegurl" src=""> 
<source type="application/x-mpegurl" src="">
</video>
</div>
<br>
</body>

Pamiętaj, aby zastąpić „my-ip” i „my-stream-key” swoimi danymi.

Musisz zastąpić ścieżkę flowplayer/skin/functional.cssznakiem „#” w arkuszu stylów href="#". Oprogramowanie samouczka obiera ścieżkę. Musisz wypełnić URL w src=""części - jest on pozbawiony przez samouczek oprogramowania, użytkowania http://my-ip/live/my-stream-key/index.m3u8i http://my-ip/mobile/my-stream-key/index.m3u8odpowiednio. Musisz także dodać srcznaczniki skryptu w nagłówku zarówno dla, jak jquery-1.11.2.min.jsi dla flowplayer.min.js. Tagi są usuwane przez oprogramowanie samouczka. Możesz dowiedzieć się, jak zrobić te tagi, patrząc na example htmlplik dołączony do zestawu Flowplayer.

Uruchom koder za pomocą kamery internetowej lub działającej na nim paszy testowej. Możesz wyświetlić swoją transmisję w przeglądarce, używając następujących adresów URL:

http://my-ip/hls.html
http://my-ip/hls_progressive.html

Pierwsza strona po prostu pokazuje każdy z twoich strumieni - główny i platformę mobilną. Będziesz mógł je uruchomić i przeglądać. Zauważysz, że strumień platformy mobilnej jest mniejszy. Te kroki mają na celu upewnienie się, że wszystko działa.

Druga strona pokazuje pojedynczy strumień. Ale jest skonfigurowany w sposób, który nazywa się „progresywnym streamingiem”. Oznacza to, że gdy przeglądający odtworzy wideo, zarówno serwer, jak i odtwarzacz starają się zapewnić widzowi strumień o wysokiej przepływności i wysokiej jakości, jeśli połączenie z widzem może go utrzymać. Jeśli ich połączenie jest słabe i nie może utrzymać połączenia, wyświetla się strumień o niższej przepływności (mobilny), który ma przepustowość o 200 kb / s. Jeśli chcesz, możesz stworzyć bardziej stopniowane, progresywne strumienie za pomocą ffmpeg i skonfigurować je na moim przykładzie.

Przetestowałem tę konfigurację na jednym rdzeniu, Vultr VPS o pojemności 1 GB i stwierdziłem, że z jednym strumieniem na żywo, a także z transmisyjnym strumieniem mobilnym, który tworzy z ffmpeg, użycie procesora było mniejsze niż 35% i zużyło tylko 100 MB mój 1 GB pamięci RAM. To bardzo wydajna konfiguracja.

Jeśli planujesz przesyłać strumieniowo wideo, które ma znacznie większe wymiary w pikselach niż SD, może się okazać, że musisz użyć mocniejszego VPS. Byłem ciekawy tego i uruchomiłem mój główny strumień do 1280 x 960 pikseli i 2 Mb / s - nakładając na to dodatkowe obciążenie. Ale VPS nadal zużywał tylko 50% procesora, a zużycie pamięci pozostało na 100 MB. Dodałem tuzin przeglądarek / przeglądarek i nie miało to prawie żadnego znaczenia w obciążeniu VPS - wzrosła tylko używana przepustowość. Jestem pewien, że tworzenie dodatkowych strumieni z oceną za pomocą ffmpeg nadal obciążałoby system.

Użyłem tego typu serwera w środowiskach produkcyjnych z 50 do 100 równoczesnymi użytkownikami i stwierdziłem, że użycie zasobów wzrosło bardzo niewiele wraz ze wzrostem liczby połączeń z przeglądarką. Eksperymentuj z tym. Sądzę jednak, że większość użytkowników byłaby zadowolona z jednordzeniowego VPS 1 GB. Ciesz się swoim nowym serwerem strumieniowym HLS!



Leave a Comment

Jak zainstalować platformę koszyków LiteCart na Ubuntu 16.04

Jak zainstalować platformę koszyków LiteCart na Ubuntu 16.04

LiteCart to darmowa i otwarta platforma koszyka na zakupy napisana w PHP, jQuery i HTML 5. Jest to prosty, lekki i łatwy w użyciu program do handlu elektronicznego

Jak zainstalować Anchor CMS na CentOS 7 LAMP VPS

Jak zainstalować Anchor CMS na CentOS 7 LAMP VPS

Używasz innego systemu? Anchor CMS to bardzo prosty i niezwykle lekki, darmowy i otwarty system zarządzania treścią (CMS) Blog Engine, który

Jak zainstalować Matomo Analytics na Fedorze 28

Jak zainstalować Matomo Analytics na Fedorze 28

Używasz innego systemu? Matomo (wcześniej Piwik) to platforma analityczna typu open source, otwarta alternatywa dla Google Analytics. Źródło Matomo jest hostowane o

Skonfiguruj serwer TeamTalk w systemie Linux

Skonfiguruj serwer TeamTalk w systemie Linux

TeamTalk to system konferencyjny, który pozwala użytkownikom na wysokiej jakości rozmowy audio / wideo, czat tekstowy, przesyłanie plików i udostępnianie ekranów. To ja

Jak zainstalować TextPattern CMS 4.6.2 na FreeBSD 11 FAMP VPS

Jak zainstalować TextPattern CMS 4.6.2 na FreeBSD 11 FAMP VPS

Używasz innego systemu? TextPattern CMS 4.6.2 to prosty, elastyczny, bezpłatny i otwarty system zarządzania treścią (CMS), który umożliwia projektantom stron internetowych

Jak zainstalować forum NodeBB na FreeBSD 12

Jak zainstalować forum NodeBB na FreeBSD 12

Używasz innego systemu? NodeBB to oprogramowanie forum oparte na Node.js. Wykorzystuje gniazda sieciowe do natychmiastowych interakcji i powiadomień w czasie rzeczywistym. NodeB

Jak zainstalować Ranger Terminal File Manager w systemie Linux

Jak zainstalować Ranger Terminal File Manager w systemie Linux

Ranger to oparty na linii poleceń menedżer plików z powiązaniami klawiszy VI. Zapewnia minimalistyczny i ładny interfejs curses z widokiem na hierarchię katalogów

Skonfiguruj Magento na CentOS 6

Skonfiguruj Magento na CentOS 6

Niezależnie od tego, czy chcesz umieścić zapasy sklepów online, czy po prostu prosty sklep z akcesoriami technicznymi, Magento jest doskonałym rozwiązaniem dla eCommerce online. Ten artykuł

Jak zbudować Brotli ze źródła na Ubuntu 18.04 LTS

Jak zbudować Brotli ze źródła na Ubuntu 18.04 LTS

Używasz innego systemu? Brotli to nowa metoda kompresji z lepszym współczynnikiem kompresji niż GZIP. Jego kod źródłowy jest publicznie hostowany na tym Githu

Jak zainstalować i skonfigurować OrientDB Community Edition na CentOS 7

Jak zainstalować i skonfigurować OrientDB Community Edition na CentOS 7

OrientDB to wielomodowy model open source NoSQL DBMS nowej generacji. Dzięki obsłudze wielu modeli danych, OrientDB może zapewnić większą funkcjonalność i elastyczność

Jak zainstalować Neos CMS na CentOS 7

Jak zainstalować Neos CMS na CentOS 7

Neos to innowacyjny system zarządzania treścią typu open source, który doskonale nadaje się do tworzenia i edytowania treści online. Z myślą o autorach i redaktorach, Neo

Jak zainstalować DokuWiki na Ubuntu 16.04 LTS

Jak zainstalować DokuWiki na Ubuntu 16.04 LTS

Używasz innego systemu? DokuWiki to program wiki typu open source napisany w PHP, który nie wymaga bazy danych. Przechowuje dane w plikach tekstowych. DokuWik

Jak zainstalować i skonfigurować CyberPanel na Ubuntu 18.04 LTS

Jak zainstalować i skonfigurować CyberPanel na Ubuntu 18.04 LTS

Używasz innego systemu? Wprowadzenie CyberPanel jest jednym z pierwszych paneli sterowania na rynku, który jest zarówno open source, jak i wykorzystuje OpenLiteSpeed. Co ty?

Konfigurowanie ClamFS i ClamAV na Ubuntu

Konfigurowanie ClamFS i ClamAV na Ubuntu

ClamAV to darmowy pakiet antywirusowy typu open source. Planując strategię bezpieczeństwa dla swojego serwera, możesz rozważyć uruchomienie programu antywirusowego w celu ochrony

Jak zainstalować forum NodeBB na Fedorze 28

Jak zainstalować forum NodeBB na Fedorze 28

Używasz innego systemu? NodeBB jest forum opartym na Node.js. Wykorzystuje gniazda sieciowe do natychmiastowych interakcji i powiadomień w czasie rzeczywistym. Kod źródłowy NodeBB i

Jak budować Brotli ze źródła na Debianie 9

Jak budować Brotli ze źródła na Debianie 9

Używasz innego systemu? Brotli to nowa metoda kompresji z lepszym współczynnikiem kompresji niż Gzip. Jego kod źródłowy jest publicznie hostowany na Github. Cześć

Instalowanie Netdata na CentOS 7

Instalowanie Netdata na CentOS 7

Używasz innego systemu? Netdata jest wschodzącą gwiazdą w dziedzinie monitorowania wskaźników systemowych w czasie rzeczywistym. W porównaniu z innymi narzędziami tego samego rodzaju, Netdata:

Jak skonfigurować serwer pocztowy za pomocą iRedMail na Ubuntu 16.04

Jak skonfigurować serwer pocztowy za pomocą iRedMail na Ubuntu 16.04

Używasz innego systemu? Wprowadzenie Jeśli kiedykolwiek zbudowałeś serwer pocztowy od podstaw, będziesz wiedział, że może to być żmudne przedsięwzięcie. Tutaj ja

Jak zainstalować Monikę na Ubuntu 18.04 LTS

Jak zainstalować Monikę na Ubuntu 18.04 LTS

Używasz innego systemu? Monica to system zarządzania relacjami osobistymi typu open source. Pomyśl o tym jak o CRM (popularnym narzędziu używanym przez zespoły sprzedażowe w th

Jak zainstalować panel sterowania OpenSIPS na Ubuntu 16.04

Jak zainstalować panel sterowania OpenSIPS na Ubuntu 16.04

Panel sterowania OpenSIPS to oparta na PHP aplikacja internetowa do obsługi serwera OpenSIPS SIP. Może służyć do udostępniania, obsługi i monitorowania multiplikacji

Funkcjonalności warstw architektury referencyjnej Big Data

Funkcjonalności warstw architektury referencyjnej Big Data

Przeczytaj blog, aby w najprostszy sposób poznać różne warstwy w architekturze Big Data i ich funkcjonalności.

Rewolucyjne wynalazki Google, które ułatwią Twoje życie.

Rewolucyjne wynalazki Google, które ułatwią Twoje życie.

Chcesz zobaczyć rewolucyjne wynalazki Google i jak te wynalazki zmieniły życie każdego człowieka dzisiaj? Następnie czytaj na blogu, aby zobaczyć wynalazki Google.

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

Pozostań w kontakcie dzięki aplikacji WhatsApp na komputer 24*7

Pozostań w kontakcie dzięki aplikacji WhatsApp na komputer 24*7

Whatsapp w końcu uruchomił aplikację Desktop dla użytkowników komputerów Mac i Windows. Teraz możesz łatwo uzyskać dostęp do Whatsapp z systemu Windows lub Mac. Dostępne dla Windows 8+ i Mac OS 10.9+

5 przykładów, które dowodzą, że energetyka jądrowa nie zawsze jest zła

5 przykładów, które dowodzą, że energetyka jądrowa nie zawsze jest zła

Energia jądrowa jest zawsze pogardzana, nigdy jej nie szanujemy z powodu przeszłych wydarzeń, ale nie zawsze jest zła. Przeczytaj post, aby dowiedzieć się więcej na ten temat.

Friday Essential: Co się stało z samochodami sterowanymi przez sztuczną inteligencję?

Friday Essential: Co się stało z samochodami sterowanymi przez sztuczną inteligencję?

Koncepcja autonomicznych samochodów, które wyjadą na drogi za pomocą sztucznej inteligencji, to marzenie, które mamy już od jakiegoś czasu. Ale pomimo kilku obietnic nigdzie ich nie widać. Przeczytaj ten blog, aby dowiedzieć się więcej…

Czy AI może walczyć z rosnącą liczbą ataków ransomware?

Czy AI może walczyć z rosnącą liczbą ataków ransomware?

Wzrasta liczba ataków ransomware, ale czy sztuczna inteligencja może pomóc w radzeniu sobie z najnowszym wirusem komputerowym? Czy AI jest odpowiedzią? Przeczytaj tutaj, wiedz, że sztuczna inteligencja jest zmorą lub zgubą

5 przydatnych narzędzi sztucznej inteligencji, które uproszczą Twoje życie

5 przydatnych narzędzi sztucznej inteligencji, które uproszczą Twoje życie

Sztuczna inteligencja nie jest dla ludzi nową nazwą. Ponieważ sztuczna inteligencja jest włączona do każdego strumienia, jednym z nich jest opracowywanie narzędzi zwiększających ludzką wydajność i dokładność. Skorzystaj z tych niesamowitych narzędzi uczenia maszynowego i uprość swoje codzienne zadania.

Wgląd w 26 technik analizy Big Data: część 2

Wgląd w 26 technik analizy Big Data: część 2

Zawsze potrzebujemy Big Data Analytics do efektywnego zarządzania danymi. W tym artykule omówiliśmy kilka technik analizy Big Data. Sprawdź ten artykuł.

Ataki DDOS: krótki przegląd

Ataki DDOS: krótki przegląd

Czy jesteś również ofiarą ataków DDOS i nie masz pewności co do metod zapobiegania? Przeczytaj ten artykuł, aby rozwiązać swoje pytania.