GNU/Linux >> Znalost Linux >  >> Cent OS

Jak nainstalovat AVideo/YouPHPTube na CentOS 8 Server

Tento tutoriál vám ukáže, jak spustit svůj vlastní web pro sdílení videa pomocí AVideo (dříve známý jako YouPHPTube) na CentOS 8. AVideo je open-source, samostatně hostovaná alternativa k webům pro sdílení videí, jako je YouTube, Vimeo atd. S AVideo mohou uživatelé nahrávat videa na váš server a sdílet je s Internetem.

Funkce AVideo

  • Neomezené a simultánní živé přenosy a ke každému živému přenosu můžete mít připojen neomezený počet uživatelů.
  • Importujte a kódujte videa z jiných stránek přímo z internetu
  • Hromadné kódování z místního adresáře videa
  • Vytvářejte soukromá videa
  • Zcela integrovaná funkce s YouTube, synchronizace vašich videí s Youtube
  • Překódujte více formátů multimediálních souborů do souborů MP4, WebM a MP3
  • Podpora Amazon S3 (Simple Storage Service)
  • Responzivní rozvržení webu. AVideo vypadá neuvěřitelně na jakémkoli zařízení. (Můžete si vybrat rozvržení ve stylu YouTube nebo Netfilx.)
  • Uživatelské kanály a uživatelské seznamy videí
  • Přihlaste se k odběru kanálů, které se vám líbí
  • Výkon svých videí můžete sledovat pomocí aktuálních metrik a přehledů v AVideo Statistics.
  • Rozšiřte funkce webu pomocí pluginů.
  • Optimalizováno pro SEO
  • K dispozici jsou aplikace pro iOS a Android

Požadavky na AVideo server

Zaprvé byste měli vědět, že jednojádrový procesor není pro web pro sdílení videa životaschopný, protože proces kódování bude spotřebovávat hodně prostředků CPU.

Poté vyberte specifikace serveru v souladu s počtem uživatelů, které má váš web.

  • Pokud jej chcete používat pouze ke sdílení vlastních videí, potřebujete server s alespoň 2 jádry CPU a 4 GB RAM. Můžete si koupit výkonný VPS (virtuální privátní server) od společnosti Contabo s velmi nízkou cenou.
  • Pokud očekáváte, že váš web bude mít desítky uživatelů, můžete zvážit Contabo extra velký VPS, který má 10 CPU jader, 60 GB RAM, rychlost portu 1 Gbit/s, 1,6 TB místa na disku, neomezený provoz, ale stojí pouhých 26,99 eur/měsíc.
  • Až se vaše stránky rozrostou, měli byste si zakoupit dedikovaný server.

Softwarové požadavky pro instalaci AVideo na CentOS 8

AVideo vyžaduje PHP a MySQL/MariaDB. Abyste mohli postupovat podle tohoto návodu, měli byste již nastavit zásobník LAMP nebo zásobník LEMP. Pokud dáváte přednost použití webového serveru Apache, nainstalujte si zásobník LAMP.

  • Jak nainstalovat zásobník LAMP (Apache, MariaDB, PHP) na CentOS 8

Pokud dáváte přednost použití webového serveru Nginx, nainstalujte LEMP stack.

  • Jak nainstalovat zásobník LEMP (Nginx, MariaDB, PHP) na CentOS 8

Poznámka :Podpora AVideo s Nginx je pouze experimentální. Pokud používáte Nginx, váš web může mít problémy .

Potřebujete také název domény. Zaregistroval jsem své doménové jméno na NameCheap, protože cena je nízká a poskytují ochranu soukromí whois doživotně zdarma.

AVideo se skládá ze dvou částí.

  • Hlavní částí je front-end stream server, který uživatelům umožňuje sledovat existující videa.
  • Druhou částí je kodér, který uživatelům umožňuje nahrávat videa.

Veřejný kodér používá název domény https://encoder1.avideo.com . Pokud nechcete, aby uživatelé při nahrávání videí opouštěli váš web, musíte si nastavit soukromý kodér. Jak na to, vám ukážu v tomto článku. Bez dalších okolků můžeme začít.

Krok 1:Stáhněte si AVideo na CentOS 8 Server

Přihlaste se ke svému serveru CentOS 8 přes SSH. Poté přejděte do kořenového adresáře webu.

cd /var/www/

Klonujte úložiště streamerů AVideo z Github.

instalace sudo dnf gitsudo git clone https://github.com/WWBN/AVideo.git

Poté přejděte do adresáře.

cd AVideo/

Klonujte úložiště kodéru AVideo z Github.

klon sudo git https://github.com/WWBN/AVideo-Encoder.git

Bude uložen jako AVideo-Encoder . Přejmenujeme jej na upload , takže uživatelé mohou mít při nahrávání videí lepší představu o tom, k čemu tato adresa URL slouží.

Nahrání sudo mv AVideo-Encoder

Dále musíme nastavit uživatele webového serveru jako vlastníka webového kořenového adresáře.

Apache

sudo chown apache:apache /var/www/AVideo/ -R

Nginx

sudo chown nginx:nginx /var/www/AVideo/ -R

Musíme také změnit kontext SELinux, aby webový server mohl zapisovat do tohoto adresáře.

sudo chcon -t httpd_sys_rw_content_t /var/www/AVideo/ -R

Krok 2:Instalace závislostí

AVideo používá FFmpeg pro kódování videí. FFmpeg můžeme snadno nainstalovat z repozitáře RPMFusion.

instalace sudo dnf epel-releasesudo dnf config-manager --povolte instalaci PowerToolssudo dnf https://download1.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpm https://download1. rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-8.noarch.rpmsudo dnf install ffmpeg -y

Abychom mohli číst a zapisovat metainformace v multimediálních souborech, musíme nainstalovat perl-Image-ExifTool balíček.

instalace sudo dnf perl-Image-ExifTool

Musíte také nainstalovat některá běžná rozšíření PHP.

instalace sudo dnf php-cli php-fpm php-mysqlnd php-common php-json php-opcache php-readline php-curl php-gd php-xml

Abychom mohli načítat videa z jiných webů, musíme nainstalovat YouTube-DL. Přestože je součástí úložiště CentOS, je zastaralý. Nainstalujeme YouTube-DL z Python Package Index, který vždy obsahuje nejnovější verzi YouTube-DL.

sudo dnf install python3-pipsudo -H pip3 install youtube-dl

Je velmi důležité, abyste používali nejnovější verzi, jinak možná nebudete moci stahovat videa z jiných stránek. Můžeme vytvořit úlohu Cron pro automatickou kontrolu a instalaci nejnovější verze.

sudo crontab -e

Přidejte následující řádek na konec souboru Crontab a zkuste denně aktualizovat YouTube-DL.

@daily sudo -H pip3 instalace --upgrade youtube-dl> /dev/null

Krok 3:Vytvořte databázi a uživatele v MariaDB

Přihlaste se do prostředí MySQL/MariaDB jako root pomocí následujícího příkazu. Budete muset zadat heslo root MySQL/MariaDB.

mysql -u root -p

Poté vytvořte databázi pro AVideo. Tento tutoriál pojmenuje databázi AVideo . Můžete použít jakékoli jméno.

vytvořit databázi AVideo;

Vytvořte uživatele databáze. Opět můžete pro tohoto uživatele použít preferované jméno. Nahraďte your-password s vaším preferovaným heslem.

vytvořte uživatele AVideo@localhost identifikovaného pomocí 'vašeho hesla';

Udělte tomuto uživateli všechna oprávnění k AVideo databáze.

udělte všechna oprávnění na AVideo.* na AVideo@localhost;

Potřebujeme také vytvořit samostatnou databázi pro kodér.

vytvořit databázi AVideoEncoder;

Vytvořte uživatele pro tuto databázi.

vytvořit uživatele AVideoEncoder@localhost identifikovaného pomocí 'vašeho hesla';

Udělte oprávnění.

udělte všechna oprávnění pro AVideoEncoder.* na AVideoEncoder@localhost;

Vyprázdněte tabulku oprávnění a ukončete.

vyprázdnit oprávnění;exit;

Krok 4:Nastavení webového serveru

Můžeme použít webový server Apache nebo Nginx.

Apache

Pokud dáváte přednost Apache, vytvořte virtuální hostitelský soubor pro AVideo pomocí textového editoru příkazového řádku, jako je Nano.

sudo nano /etc/httpd/conf.d/avideo.conf

Do souboru vložte následující text. Nahraďte červeně zbarvený text svými skutečnými daty. V tomto tutoriálu používám subdoménu. Pokud chcete, můžete použít hlavní název domény. Nezapomeňte ve správci záznamů DNS nastavit DNS záznam pro název domény. Všimněte si také, že kořenový adresář dokumentu rozlišuje velká a malá písmena a na konec byste neměli přidávat lomítko.

 ServerName tube.yourdomain.com DocumentRoot /var/www/AVideo /var/www/AVideo> DirectoryIndex index.php Možnosti +FollowSymLinks AllowOverride All Vyžadovat udělení všech  ErrorLog /var/log/httpd/avideo.error.log CustomLog /var/log/httpd/avideo.access.log combined 

Uložte a zavřete soubor. Restartujte Apache, aby se změny projevily.

sudo systemctl restart httpd

Nyní navštivte tube.yourdomain.com a budete přesměrováni na stránku průvodce nastavením (tube.yourdomain.com/install/index.php ).

Před zadáním jakýchkoli informací do průvodce nastavením musíme povolit HTTPS.

Nginx

Pokud dáváte přednost Nginx, vytvořte avideo.conf soubor v /etc/nginx/conf.d/ adresář.

sudo nano /etc/nginx/conf.d/avideo.conf

Do souboru vložte následující text. Nahraďte červeně zbarvený text svými skutečnými daty. V tomto tutoriálu používám subdoménu. Pokud chcete, můžete použít hlavní název domény. Nezapomeňte ve správci záznamů DNS nastavit DNS záznam pro název domény. Všimněte si také, že kořenový adresář dokumentu rozlišuje malá a velká písmena.

server { poslouchat 80; poslouchej [::]:80; server_name tube.yourdomain.com; root /var/www/AVideo; index index.php index.html index.htm; znaková sada utf-8; client_max_body_size 2G; access_log /var/log/nginx/avideo.access.log; error_log /var/log/nginx/avideo.error.log; umístění ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/run/php-fpm/www.sock; fastcgi_index index.php; zahrnout fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } # překlad pravidel přepisu Apache v souboru .htaccess do umístění pravidel přepisu Nginx / { přepsat ^/$ /view/ last; } umístění /bootstrap { přepsat ^/bootstrap/(.+)$ /view/bootstrap/$1 poslední; } umístění /js { přepsat ^/js/(.+)$ /view/js/$1 poslední; } umístění /css { přepsat ^/css/(.+)$ /view/css/$1 poslední; } umístění /img { přepsat ^/img/(.+)$ /view/img/$1 poslední; } umístění /stránka { přepsat ^/stránka/([0-9]+)/?$ /view/?page=$1 poslední; } umístění /videoOnly { rewrite ^/videoOnly/?$ /view/?type=video last; } umístění /audioOnly { přepsat ^/audioOnly/?$ /view/?type=audio poslední; } location =/download { rewrite ^(.*)$ /view/downloadExternalVideo.php last; } location =/downloadNow { rewrite ^(.*)$ /objects/downloadVideo.php last; } location =/getDownloadProgress { rewrite ^(.*)$ /objects/downloadVideoProgress.php last; } umístění =/asi { přepsat ^(.*)$ /view/about.php poslední; } umístění =/kontakt { přepsat ^(.*)$ /view/contact.php poslední; } location =/sendEmail { rewrite ^(.*)$ /objects/sendEmail.json.php last; } umístění =/captcha { přepsat ^(.*)$ /objects/getCaptcha.php poslední; } umístění /monitor { přepsat ^/monitor/(.+)$ /objects/ServerMonitor/$1 poslední; } umístění /cat { přepsat ^/cat/([A-Za-z0-9-]+)/?$ /view/?catName=$1 poslední; } umístění /video { přepsat ^/video/([A-Za-z0-9-_.]+)/?$ /view/?videoName=$1 poslední; } umístění /videoEmbeded { přepsat ^/videoEmbeded/([A-Za-z0-9-_.]+)/?$ /view/videoEmbeded.php?videoName=$1 poslední; } umístění =/upload { rewrite ^(.*)$ /view/mini-upload-form/ last; } umístění =/fileUpload { rewrite ^(.*)$ /view/mini-upload-form/upload.php poslední; } umístění /uploadStatu { přepsat ^/uploadStatus /view/mini-upload-form/videoConversionStatus.php poslední; } umístění =/user { přepsat ^(.*)$ /view/user.php poslední; } umístění =/users { přepsat ^(.*)$ /view/managerUsers.php poslední; } umístění =/users.json { přepsat ^(.*)$ /objects/users.json.php poslední; } umístění =/updateUser { přepsat ^(.*)$ /objects/userUpdate.json.php poslední; } umístění =/savePhoto { rewrite ^(.*)$ /objects/userSavePhoto.php last; } umístění =/addNewUser { přepsat ^(.*)$ /objects/userAddNew.json.php poslední; } umístění =/deleteUser { přepsat ^(.*)$ /objects/userDelete.json.php poslední; } umístění =/recoverPass { přepsat ^(.*)$ /objects/userRecoverPass.php poslední; } location =/saveRecoverPassword { rewrite ^(.*)$ /objects/userRecoverPassSave.json.php last; } umístění =/signUp { přepsat ^(.*)$ /view/signUp.php poslední; } umístění =/createUser { přepsat ^(.*)$ /objects/userCreate.json.php poslední; } umístění =/usersGroups { rewrite ^(.*)$ /view/managerUsersGroups.php poslední; } umístění =/usersGroups.json { přepsat ^(.*)$ /objects/usersGroups.json.php poslední; } umístění =/addNewUserGroups { přepsat ^(.*)$ /objects/userGroupsAddNew.json.php poslední; } umístění =/deleteUserGroups { přepsat ^(.*)$ /objects/userGroupsDelete.json.php last; } umístění =/ads { přepsat ^(.*)$ /view/managerAds.php poslední; } umístění =/addNewAd { rewrite ^(.*)$ /objects/video_adsAddNew.json.php last; } umístění =/ads.json { přepsat ^(.*)$ /objects/video_ads.json.php poslední; } umístění =/deleteVideoAd { rewrite ^(.*)$ /objects/video_adDelete.json.php last; } umístění /adClickLo { přepsat ^/adClickLog /objects/video_adClickLog.php last; } location =/categories { rewrite ^(.*)$ /view/managerCategories.php last; } umístění =/categories.json { přepsat ^(.*)$ /objects/categories.json.php poslední; } umístění =/addNewCategory { rewrite ^(.*)$ /objects/categoryAddNew.json.php last; } umístění =/deleteCategory { rewrite ^(.*)$ /objects/categoryDelete.json.php last; } umístění =/orphanFiles { rewrite ^(.*)$ /view/orphanFiles.php last; } umístění =/mvidea { přepsat ^(.*)$ /view/managerVideos.php poslední; } umístění =/videos.json { přepsat ^(.*)$ /objects/videos.json.php poslední; } location =/deleteVideo { rewrite ^(.*)$ /objects/videoDelete.json.php last; } umístění =/addNewVideo { rewrite ^(.*)$ /objects/videoAddNew.json.php last; } umístění =/refreshVideo { rewrite ^(.*)$ /objects/videoRefresh.json.php last; } location =/setStatusVideo { rewrite ^(.*)$ /objects/videoStatus.json.php last; } location =/reencodeVideo { rewrite ^(.*)$ /objects/videoReencode.json.php last; } location =/addViewCountVideo { rewrite ^(.*)$ /objects/videoAddViewCount.json.php last; } location =/saveComment { rewrite ^(.*)$ /objects/commentAddNew.json.php last; } umístění /komentáře { přepsat ^/comments.json/([0-9]+)$ /objects/comments.json.php?video_id=$1 poslední; } umístění =/login { přepsat ^(.*)$ /objects/login.json.php poslední; } umístění =/logoff { přepsat ^(.*)$ /objects/logoff.php poslední; } location =/like { rewrite ^(.*)$ /objects/like.json.php?like=1 last; } umístění =/dislike { rewrite ^(.*)$ /objects/like.json.php?like=-1 last; } umístění /update { přepsat ^/update/?$ /update/update.php poslední; } umístění =/siteConfigurations { rewrite ^(.*)$ /view/configurations.php poslední; } umístění =/updateConfig { přepsat ^(.*)$ /objects/configurationUpdate.json.php poslední; } umístění =/grafy { přepsat ^(.*)$ /view/charts.php poslední; } umístění =/upload/index.php { přepsat ^(.*)$ /upload/view/index.php poslední; } umístění =/upload/isAdmin { přepsat ^(.*)$ /upload/view/isAdmin.php poslední; } umístění =/upload/removeStreamer { přepsat ^(.*)$ /upload/view/removeStreamer.php poslední; } umístění =/upload/priority { rewrite ^(.*)$ /upload/view/priority.php last; } umístění =/upload/status { přepsat ^(.*)$ /upload/view/status.php poslední; } umístění =/upload/serverStatus { rewrite ^(.*)$ /upload/view/status.php?serverStatus=1 poslední; } umístění =/upload/upload { rewrite ^(.*)$ /upload/view/upload.php poslední; } umístění =/upload/listFiles.json { přepsat ^(.*)$ /upload/view/listFiles.json.php poslední; } umístění =/upload/deleteQueue { rewrite ^(.*)$ /upload/view/deleteQueue.php poslední; } umístění =/upload/saveConfig { rewrite ^(.*)$ /upload/view/saveConfig.php poslední; } umístění =/upload/youtubeDl.json { přepsat ^(.*)$ /upload/view/youtubeDl.json.php poslední; } umístění =/upload/send.json { přepsat ^(.*)$ /upload/view/send.json.php poslední; } umístění =/upload/streamers.json { přepsat ^(.*)$ /upload/view/streamers.json.php poslední; } umístění =/upload/queue.json { přepsat ^(.*)$ /upload/view/queue.json.php poslední; } umístění =/upload/queue { rewrite ^(.*)$ /upload/view/queue.php poslední; } umístění =/upload/login { přepsat ^(.*)$ /upload/objects/login.json.php poslední; } umístění =/upload/logoff { rewrite ^(.*)$ /upload/objects/logoff.json.php poslední; } umístění /upload/ { přepište "^/getImage/([A-Za-z0-9=/]+)/([A-Za-z0-9]{3})$" /upload/objects/getImage. php?base64Url=$1&format=$2 poslední; přepište "^/getImageMP4/([A-Za-z0-9=/]+)/([A-Za-z0-9]{3})/([0-9.]+)$" /nahrát/ objects/getImageMP4.php?base64Url=$1&format=$2&time=$3 poslední; } umístění /upload/getSpiritsFromVideo { přepsat ^/getSpiritsFromVideo/([A-Za-z0-9=/]+)/([0-9]+)/([0-9]+)$ /upload/objects/ getSpiritsFromVideo.php?base64Url=$1&tileWidth=$2&totalClips=$3 poslední; } umístění /upload/getLinkInfo { přepsat ^/getLinkInfo/([A-Za-z0-9=/]+)$ /upload/objects/getLinkInfo.json.php?base64Url=$1 poslední; }}

Uložte a zavřete soubor. Poté otestujte konfiguraci Nginx.

sudo nginx -t

Pokud je test úspěšný, znovu načtěte Nginx, aby se změny projevily.

sudo systemctl reload nginx

Nyní navštivte tube.yourdomain.com a budete přesměrováni na stránku průvodce nastavením (tube.yourdomain.com/install/index.php ). Před zadáním jakýchkoli informací do průvodce nastavením musíme povolit HTTPS.

Krok 5:Povolení HTTPS

Pro šifrování HTTP provozu můžeme povolit HTTPS instalací bezplatného TLS certifikátu vydaného od Let’s Encrypt. Spuštěním následujícího příkazu nainstalujte klienta Let’s Encrypt (certbot) na server CentOS 8.

instalace sudo dnf certbot

Pokud používáte Apache, musíte si také nainstalovat plugin Certbot Apache.

instalace sudo dnf python3-certbot-apache

A spusťte tento příkaz, abyste získali a nainstalovali certifikát TLS.

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d tube.yourdomain.com

Pokud používáte Nginx, nainstalujte si plugin Certbot Nginx.

instalace sudo dnf python3-certbot-nginx

Dále spusťte následující příkaz pro získání a instalaci certifikátu TLS.

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d tube.yourdomain.com

Kde

  • --nginx :Použijte plugin nginx.
  • --apache :Použijte plugin Apache.
  • --agree-tos :Souhlas se smluvními podmínkami.
  • --redirect :Vynutit HTTPS přesměrováním 301.
  • --hsts :Přidejte hlavičku Strict-Transport-Security do každé odpovědi HTTP. Vynucení prohlížeče, aby pro doménu vždy používal TLS. Chrání před odstraněním SSL/TLS.
  • --staple-ocsp :Umožňuje sešívání OCSP. Platná odpověď OCSP je přišita k certifikátu, který server nabízí během TLS.

Certifikát by nyní měl být získán a automaticky nainstalován.

Ve výchozím nastavení SELinux zakazuje Apache/Nginx zadávat síťové požadavky na jiné servery, ale později si Apache/Nginx musí vyžádat stav certifikátu TLS ze serveru Let's Encrypt CA pro sešívání OCSP, takže musíme SELinuxu říci, aby povolil Apache/Nginx s následujícím příkaz.

sudo setsebool -P httpd_can_network_connect 1

Krok 6:Dokončete instalaci pomocí průvodce nastavením

Nyní přejděte na tube.yourdomain.com a zobrazí se průvodce nastavením. Na levé straně můžete vidět, zda váš server splňuje požadavky.

Pokud používáte Nginx, můžete následující zprávu ignorovat.

Váš server je nginx/1.14.2, musíte nainstalovat Apache.

Jak můžete vidět, PHP post_max_size by měla být alespoň 100 milionů a upload_max_filesize by měla být alespoň 100 mil. Musíme upravit php.ini soubor pro změnu dvou hodnot.

sudo nano /etc/php.ini

Najděte následující dva řádky.

post_max_size =8Mupload_max_filesize =2M

Změňte hodnoty podle velikosti souboru videa, který se chystáte nahrát. Pokud například povolíte nahrávání souboru videa 1G, pak

post_max_size =1024Mupload_max_filesize =1024M

Uložte a zavřete soubor. Restartujte PHP-FPM, aby se změny projevily.

sudo systemctl restart php-fpm

Nyní obnovte stránku průvodce instalací AVideo. Váš server by měl splňovat všechny požadavky. Nyní na pravé straně můžete zadat název stránky s videem a nastavit heslo správce systému. Zadejte název databáze AVideo, uživatele a heslo, které jste vytvořili dříve. (Poznámka:Měli byste použít hlavní databázi, nikoli databázi kodéru. Také si uvědomte, že se rozlišují velká a malá písmena.)

Klikněte na Install now a AVideo by mělo být úspěšně nainstalováno.

Nyní musíme odstranit /var/www/AVideo/install/ adresář.

sudo rm /var/www/AVideo/install/ -r

Klikněte na Go to the main page a zobrazí se hlavní stránka AVideo.

Můžete kliknout na rozbalovací nabídku vlevo a přihlásit se jako admin uživatele a s heslem, které jste před chvílí nastavili.

Krok 7:Nastavení kodéru

Přejděte na https://tube.yourdomain.com/upload/ . Budete přesměrováni na průvodce nastavením kodéru. Pokud nebudete automaticky přesměrováni, můžete ručně zadat adresu URL průvodce nastavením.

https://tube.yourdomain.com/upload/install/index.php/

Na levé straně se zobrazí, zda váš server splňuje požadavky AVideo Encoder.

Pokud používáte Nginx, můžete následující zprávu ignorovat.

Váš server je nginx/1.14.2, musíte nainstalovat Apache.

V kroku 2 jsme nainstalovali exiftool, FFmpeg a youtube-dl, ale PHP-FPM nemůže najít binární soubory. Je to proto, že jsme nepovolili PATH proměnná v PHP. Upravte konfigurační soubor PHP-FPM.

sudo nano /etc/php-fpm.d/www.conf

Najděte následující řádek a odstraňte středník (;) na začátku.

;env[PATH] =/usr/local/bin:/usr/bin:/bin

Uložte a zavřete soubor. Poté restartujte PHP-FPM.

sudo systemctl restart php-fpm

Obnovte instalační stránku kodéru. Průvodce nastavením by měl být schopen najít binární soubory exiftool, FFmpeg a youtube-dl. Pokud do adresáře videa nelze zapisovat, spusťte následující příkaz.

sudo chcon -t httpd_sys_rw_content_t /var/www/AVideo/ -R

Jak můžete vidět PHP max_execution_time by mělo být alespoň 7200 a PHP memory_limit by mělo být alespoň 512 milionů. Musíme upravit php.ini soubor pro změnu dvou hodnot.

sudo nano /etc/php.ini

Najděte následující dva řádky.

max_execution_time =30memory_limit =128 milionů

Změňte hodnoty.

max_execution_time =7200memory_limit =512 milionů

Pamatujte, že pokud se později kódování videa zastaví v polovině, musíte zvýšit max_execution_time nebo upgradujte svůj CPU.

Uložte a zavřete soubor. Poté restartujte PHP-FPM.

sudo systemctl restart php-fpm

Nyní obnovte stránku průvodce instalací AVideo Encoder. Váš server by měl splňovat všechny požadavky. Nyní na pravé straně musíte zadat název databáze AVideoEncoder, uživatele a heslo, které jste vytvořili dříve. Dejte pozor, aby se rozlišovala malá a velká písmena a zadejte heslo správce webu streameru.

Klikněte na tlačítko Install Now a AVideo Encoder se nainstaluje.

Odeberte instalační adresář.

sudo rm /var/www/AVideo/upload/install/ -r

Přejděte na hlavní stránku. Budete se moci přihlásit do kodéru AVideo.

Krok 8:Změňte adresu URL kodéru

Ve výchozím nastavení používá AVideo pro nahrávání videí veřejný kodér. Chcete-li použít svůj vlastní kodér, přihlaste se jako správce v AVideo (nikoli AVideo Encoder) a přejděte na panel správce z levého postranního panelu.

Přejděte do settings -> site settings -> advanced configuration . Změňte adresu URL kodéru na https://tube.yourdomain.com/upload/ . Uložte nastavení, vymažte adresář mezipaměti a vygenerujte novou mapu webu.

Nyní se odhlaste a znovu přihlaste. Pokud kliknete na encode video and audio tlačítko v pravém horním rohu, budete přesměrováni do svého vlastního kodéru, kde můžete nahrát videa. Je třeba poznamenat, že rychlost kódování závisí na výkonu CPU vašeho serveru. Nevyžaduje mnoho paměti RAM, protože kodér zkopíruje video do dočasného souboru v adresáři pro nahrávání (/var/www/AVideo/upload/videos ).

Krok 9:Konfigurace SMTP

Chcete-li odesílat e-maily (jako je registrace účtu, resetování hesla atd.), musíte nakonfigurovat server SMTP. Chcete-li k odesílání e-mailů klientům používat svůj vlastní poštovní server, přečtěte si prosím následující článek o nastavení vlastního poštovního serveru. Poznámka že vřele doporučuji provozovat poštovní server iRedMail na čerstvém čistém OS. Instalace iRedMail na OS, který má jiné webové aplikace, může selhat a pravděpodobně přerušit stávající aplikace.

  • Jak snadno nastavit e-mailový server na CentOS 8 pomocí iRedMail

Pokud byste chtěli využít službu přenosu SMTP, doporučuji Mailjet. Chcete-li nastavit přenos SMTP na serveru AVideo, postupujte podle níže uvedeného návodu.

  • Jak nastavit přenos Postfix SMTP na CentOS s Mailjet

Odesílání e-mailů můžete otestovat na admin panel -> Setttings -> Site Settings -> Advanced Configuration , najdete konfiguraci SMTP. Použijte následující nastavení.

  • Povolte SMTP.
  • Povolte ověření SMTP.
  • Použijte tls v SMTP Secure.
  • Použijte 587 jako port SMTP.
  • Zadejte název hostitele poštovního serveru.
  • Zadejte uživatelské jméno a heslo SMTP.

Klikněte na Save uložte nastavení a poté klikněte na Test Email abyste zjistili, zda to funguje.

Povolit TCP BBR

U serveru pro streamování videa se doporučuje povolit algoritmus řízení přetížení TCP BBR v jádře Linuxu. Upravte soubor sysctl.conf.

sudo nano /etc/sysctl.conf

Přidejte následující dva řádky na konec souboru.

net.core.default_qdisc=fqnet.ipv4.tcp_congestion_control=bbr

Uložte a zavřete soubor. Poté znovu načtěte konfigurace sysctl.

sudo sysctl -p

Nyní zkontrolujte použitý algoritmus řízení přetížení.

sysctl net.ipv4.tcp_congestion_control

Výstup:

net.ipv4.tcp_congestion_control =bbr

Mobilní aplikace

Bezplatnou aplikaci pro Android nebo iOS si můžete stáhnout vyhledáním AVideo v Obchodě Google Play nebo YPT Mobile v Apple Store. Mobilní aplikace s bílým štítkem vyžaduje placenou licenci.

Odstraňování problémů

Pokud se hlavní stránce AVideo nepodařilo načíst některé zdroje CSS a JavaScript,

Je pravděpodobné, že jste přidali další lomítko do souboru virtuálního hostitele Apache nebo Nginx pro kořenový webový adresář. Místo použití

DocumentRoot /var/www/AVideo/

Měli byste použít

DocumentRoot /var/www/AVideo

Pokud hlavní web nefunguje správně, můžete zkontrolovat soubor protokolu na adrese /var/www/AVideo/videos/avideo.log . Pokud váš kodér nefunguje správně, můžete zkontrolovat soubor protokolu na adrese /var/www/AVideo/upload/videos/avideo.log .

Další informace

Při kódování videí si můžete vybrat rozlišení (nízká, SD, HD). Pokud používáte AVideo jako osobní web pro streamování videa, doporučuji zvolit rozlišení HD pouze pro zkrácení doby kódování a úsporu místa na disku. Pokud jste již zakódovali videa do všech 3 rozlišení, můžete přejít do adresáře videa AVideo (/var/www/AVideo/videos) a smazat videa s nízkým rozlišením a rozlišením SD.

cd /var/www/AVideo/videos/sudo rm *Low.mp4sudo rm *SD.mp4

Jak stáhnout všechna videa z vašeho webu

Můžete použít youtube-dl nástroj příkazového řádku ke stažení všech videí. Nejprve musíte přejít na řídicí panel AVideo, poté přejít na stránku se seznamem videí a posouvat se dolů a kliknout na stáhnout seznam videí (soubor .txt s trvalým odkazem) knoflík. Zobrazí se seznam adres URL všech videí.

Dále otevřete terminál a vytvořte soubor txt pomocí textového editoru, zkopírujte adresy URL z webové stránky a vložte je do souboru. Poté můžete spustit následující příkaz ke stažení videí. Nahraďte video-list.txt s vaším vlastním názvem souboru.

youtube-dl -a video-list.txt

Cent OS
  1. Jak nainstalovat Minecraft Server na CentOS 7

  2. Jak nainstalovat Teamspeak 3 Server na CentOS 8

  3. Jak nainstalovat ProFTPD na CentOS 7

  1. Jak nainstalovat Nginx na CentOS 8

  2. Jak nainstalovat PostgreSQL na CentOS 8

  3. Jak nainstalovat MariaDB na CentOS 8

  1. Jak nainstalovat server FreeIPA na CentOS 7

  2. Jak nainstalovat Samba Server na CentOS 8

  3. Jak nainstalovat Centreon na Centos 7