Tento tutoriál vám ukáže, jak spustit vlastní webovou stránku pro sdílení videa pomocí YouPHPTube na Debian 10 Buster. YouPHPTube je open-source, samostatně hostovaná alternativa k webům pro sdílení videa, jako je YouTube, Vimeo atd. S YouPHPTube můžete nahrát video na svůj vlastní server a sdílet je s internetem.
Funkce YouPHTube
- 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, která vám umožní synchronizovat vaše videa s YouTube
- Překódujte více formátů multimediálních souborů do souborů MP4, WebM a MP3
- Podpora Amazone S3 (Simple Storage Service)
- Responzivní rozvržení webu. YouPHPTube 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ů ve statistikách YouPHTube.
- Rozšiřte funkce webu pomocí pluginů.
- Optimalizováno pro SEO
- K dispozici jsou aplikace pro iOS a Android
Požadavky serveru YouPHPTube
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 instalace YouPHPTube na Debian 10 Buster
YouPHPTube 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 Debian 10 Buster
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 Debian 10 Buster
Poznámka :Podpora YouPHTube s Nginx je pouze experimentální. Pokud používáte Nginx, můžete 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.
YouPHPTube se skládá ze dvou částí.
- Hlavní částí je front-end streamer 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 encoder.youphptube.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 YouPHPTube na Debian 10 Buster Server
Přihlaste se ke svému serveru Debian 10 Buster přes SSH. Poté přejděte do kořenového adresáře webu.
cd /var/www/
Naklonujte úložiště streamerů YouPHPTube z Github.
sudo apt install git sudo git clone https://github.com/YouPHPTube/YouPHPTube.git
Poté přejděte do adresáře.
cd YouPHPTube/
Naklonujte úložiště kodéru YouPHPTube z Github.
sudo git clone https://github.com/YouPHPTube/YouPHPTube-Encoder.git
Bude uložen jako YouPHPTube-Encoder
. Přejmenujeme jej na upload
, takže uživatelé mohou mít při nahrávání videí lepší představu, k čemu tato adresa URL slouží.
sudo mv YouPHPTube-Encoder upload
Dále musíme udělat z www-data (uživatele webového serveru) vlastníka webového kořenového adresáře.
sudo chown www-data:www-data /var/www/YouPHPTube/ -R
Krok 2:Instalace závislostí
YouPHPTube používá FFmpeg
pro kódování videí. FFmpeg můžeme snadno nainstalovat z výchozího úložiště Debianu.
sudo apt install ffmpeg
Abychom mohli číst a zapisovat metainformace v multimediálních souborech, musíme nainstalovat libimage-exiftool-perl
balíček.
sudo apt install libimage-exiftool-perl
Musíte také nainstalovat některá běžná rozšíření PHP.
sudo apt install php7.3-cli php7.3-common php7.3-json php7.3-opcache php7.3-readline php7.3-curl php7.3-gd php7.3-xml
Abychom mohli načítat videa z jiných webů, musíme nainstalovat YouTube-DL. I když je součástí úložiště Debianu, ale je zastaralý. Nainstalujeme YouTube-DL z Python Package Index, který vždy obsahuje nejnovější verzi YouTube-DL.
sudo apt install python3-pip sudo -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 install --upgrade youtube-dl > /dev/null
Krok 3:Vytvořte databázi a uživatele v MariaDB
Přihlaste se k databázovému serveru MariaDB pomocí následujícího příkazu. Protože MariaDB nyní používá unix_socket
plugin pro ověření přihlášení uživatele, není nutné zadávat root heslo MariaDB. Potřebujeme pouze předponu mysql
příkaz pomocí sudo
.
sudo mysql
Poté vytvořte databázi pro YouPHPTube. Tento tutoriál pojmenuje databázi YouPHPTube
. Můžete použít jakékoli jméno.
create database YouPHPTube;
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.
create user youphptube@localhost identified by 'your-password';
Udělte tomuto uživateli všechna oprávnění na youphptube
databáze.
grant all privileges on YouPHPTube.* to youphptube@localhost;
Potřebujeme také vytvořit samostatnou databázi pro kodér.
create database YouPHPTubeEncoder;
Vytvořte uživatele pro tuto databázi.
create user encoder@localhost identified by 'your-password';
Udělte oprávnění.
grant all privileges on YouPHPTubeEncoder.* to encoder@localhost;
Vyprázdněte tabulku oprávnění a ukončete.
flush privileges; 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 soubor virtuálního hostitele pro YouPHPTube pomocí textového editoru příkazového řádku, jako je Nano.
sudo nano /etc/apache2/sites-available/youphptube.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 neměli byste na konec přidávat lomítko.
<VirtualHost *:80> ServerName tube.yourdomain.com DocumentRoot /var/www/YouPHPTube <Directory /var/www/YouPHPTube> DirectoryIndex index.php Options +FollowSymLinks AllowOverride All Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/youphptube.error.log CustomLog ${APACHE_LOG_DIR}/youphptube.access.log combined </VirtualHost>
Uložte a zavřete soubor. Poté povolte tohoto virtuálního hostitele.
sudo a2ensite youphptube.conf
Musíme povolit modul přepisování.
sudo a2enmod rewrite
Restartujte Apache, aby se změny projevily.
sudo systemctl restart apache2
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
). Pokud místo průvodce nastavením vidíte výchozí stránku Apache, musíte výchozí virtuální hostitel zakázat.
sudo a2dissite 000-default.conf
A restartujte Apache.
Před zadáním jakýchkoli informací do průvodce nastavením musíme povolit HTTPS.
Nginx
Pokud dáváte přednost Nginxu, vytvořte youphptube.conf
soubor v /etc/nginx/conf.d/
adresář.
sudo nano /etc/nginx/conf.d/youphptube.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 { listen 80; server_name tube.yourdomain.com; root /var/www/YouPHPTube; index index.php index.html index.htm; charset utf-8; client_max_body_size 2G; access_log /var/log/nginx/youphptube.access.log; error_log /var/log/nginx/youphptube.error.log; location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/run/php/php7.3-fpm.sock; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } # translating Apache rewrite rules in the .htaccess file to Nginx rewrite rules location / { rewrite ^/$ /view/ last; } location /bootstrap { rewrite ^/bootstrap/(.+)$ /view/bootstrap/$1 last; } location /js { rewrite ^/js/(.+)$ /view/js/$1 last; } location /css { rewrite ^/css/(.+)$ /view/css/$1 last; } location /img { rewrite ^/img/(.+)$ /view/img/$1 last; } location /page { rewrite ^/page/([0-9]+)/?$ /view/?page=$1 last; } location /videoOnly { rewrite ^/videoOnly/?$ /view/?type=video last; } location /audioOnly { rewrite ^/audioOnly/?$ /view/?type=audio last; } location = /download { rewrite ^(.*)$ /view/downloadExternalVideo.php last; } location = /downloadNow { rewrite ^(.*)$ /objects/downloadVideo.php last; } location = /getDownloadProgress { rewrite ^(.*)$ /objects/downloadVideoProgress.php last; } location = /about { rewrite ^(.*)$ /view/about.php last; } location = /contact { rewrite ^(.*)$ /view/contact.php last; } location = /sendEmail { rewrite ^(.*)$ /objects/sendEmail.json.php last; } location = /captcha { rewrite ^(.*)$ /objects/getCaptcha.php last; } location /monitor { rewrite ^/monitor/(.+)$ /objects/ServerMonitor/$1 last; } location /cat { rewrite ^/cat/([A-Za-z0-9-]+)/?$ /view/?catName=$1 last; } location /video { rewrite ^/video/([A-Za-z0-9-_.]+)/?$ /view/?videoName=$1 last; } location /videoEmbeded { rewrite ^/videoEmbeded/([A-Za-z0-9-_.]+)/?$ /view/videoEmbeded.php?videoName=$1 last; } location = /upload { rewrite ^(.*)$ /view/mini-upload-form/ last; } location = /fileUpload { rewrite ^(.*)$ /view/mini-upload-form/upload.php last; } location /uploadStatu { rewrite ^/uploadStatus /view/mini-upload-form/videoConversionStatus.php last; } location = /user { rewrite ^(.*)$ /view/user.php last; } location = /users { rewrite ^(.*)$ /view/managerUsers.php last; } location = /users.json { rewrite ^(.*)$ /objects/users.json.php last; } location = /updateUser { rewrite ^(.*)$ /objects/userUpdate.json.php last; } location = /savePhoto { rewrite ^(.*)$ /objects/userSavePhoto.php last; } location = /addNewUser { rewrite ^(.*)$ /objects/userAddNew.json.php last; } location = /deleteUser { rewrite ^(.*)$ /objects/userDelete.json.php last; } location = /recoverPass { rewrite ^(.*)$ /objects/userRecoverPass.php last; } location = /saveRecoverPassword { rewrite ^(.*)$ /objects/userRecoverPassSave.json.php last; } location = /signUp { rewrite ^(.*)$ /view/signUp.php last; } location = /createUser { rewrite ^(.*)$ /objects/userCreate.json.php last; } location = /usersGroups { rewrite ^(.*)$ /view/managerUsersGroups.php last; } location = /usersGroups.json { rewrite ^(.*)$ /objects/usersGroups.json.php last; } location = /addNewUserGroups { rewrite ^(.*)$ /objects/userGroupsAddNew.json.php last; } location = /deleteUserGroups { rewrite ^(.*)$ /objects/userGroupsDelete.json.php last; } location = /ads { rewrite ^(.*)$ /view/managerAds.php last; } location = /addNewAd { rewrite ^(.*)$ /objects/video_adsAddNew.json.php last; } location = /ads.json { rewrite ^(.*)$ /objects/video_ads.json.php last; } location = /deleteVideoAd { rewrite ^(.*)$ /objects/video_adDelete.json.php last; } location /adClickLo { rewrite ^/adClickLog /objects/video_adClickLog.php last; } location = /categories { rewrite ^(.*)$ /view/managerCategories.php last; } location = /categories.json { rewrite ^(.*)$ /objects/categories.json.php last; } location = /addNewCategory { rewrite ^(.*)$ /objects/categoryAddNew.json.php last; } location = /deleteCategory { rewrite ^(.*)$ /objects/categoryDelete.json.php last; } location = /orphanFiles { rewrite ^(.*)$ /view/orphanFiles.php last; } location = /mvideos { rewrite ^(.*)$ /view/managerVideos.php last; } location = /videos.json { rewrite ^(.*)$ /objects/videos.json.php last; } location = /deleteVideo { rewrite ^(.*)$ /objects/videoDelete.json.php last; } location = /addNewVideo { rewrite ^(.*)$ /objects/videoAddNew.json.php last; } location = /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; } location /comments { rewrite ^/comments.json/([0-9]+)$ /objects/comments.json.php?video_id=$1 last; } location = /login { rewrite ^(.*)$ /objects/login.json.php last; } location = /logoff { rewrite ^(.*)$ /objects/logoff.php last; } location = /like { rewrite ^(.*)$ /objects/like.json.php?like=1 last; } location = /dislike { rewrite ^(.*)$ /objects/like.json.php?like=-1 last; } location /update { rewrite ^/update/?$ /update/update.php last; } location = /siteConfigurations { rewrite ^(.*)$ /view/configurations.php last; } location = /updateConfig { rewrite ^(.*)$ /objects/configurationUpdate.json.php last; } location = /charts { rewrite ^(.*)$ /view/charts.php last; } location = /upload/index.php { rewrite ^(.*)$ /upload/view/index.php last; } location = /upload/isAdmin { rewrite ^(.*)$ /upload/view/isAdmin.php last; } location = /upload/removeStreamer { rewrite ^(.*)$ /upload/view/removeStreamer.php last; } location = /upload/priority { rewrite ^(.*)$ /upload/view/priority.php last; } location = /upload/status { rewrite ^(.*)$ /upload/view/status.php last; } location = /upload/serverStatus { rewrite ^(.*)$ /upload/view/status.php?serverStatus=1 last; } location = /upload/upload { rewrite ^(.*)$ /upload/view/upload.php last; } location = /upload/listFiles.json { rewrite ^(.*)$ /upload/view/listFiles.json.php last; } location = /upload/deleteQueue { rewrite ^(.*)$ /upload/view/deleteQueue.php last; } location = /upload/saveConfig { rewrite ^(.*)$ /upload/view/saveConfig.php last; } location = /upload/youtubeDl.json { rewrite ^(.*)$ /upload/view/youtubeDl.json.php last; } location = /upload/send.json { rewrite ^(.*)$ /upload/view/send.json.php last; } location = /upload/streamers.json { rewrite ^(.*)$ /upload/view/streamers.json.php last; } location = /upload/queue.json { rewrite ^(.*)$ /upload/view/queue.json.php last; } location = /upload/queue { rewrite ^(.*)$ /upload/view/queue.php last; } location = /upload/login { rewrite ^(.*)$ /upload/objects/login.json.php last; } location = /upload/logoff { rewrite ^(.*)$ /upload/objects/logoff.json.php last; } location /upload/ { rewrite "^/getImage/([A-Za-z0-9=/]+)/([A-Za-z0-9]{3})$" /upload/objects/getImage.php?base64Url=$1&format=$2 last; rewrite "^/getImageMP4/([A-Za-z0-9=/]+)/([A-Za-z0-9]{3})/([0-9.]+)$" /upload/objects/getImageMP4.php?base64Url=$1&format=$2&time=$3 last; } location /upload/getSpiritsFromVideo { rewrite ^/getSpiritsFromVideo/([A-Za-z0-9=/]+)/([0-9]+)/([0-9]+)$ /upload/objects/getSpiritsFromVideo.php?base64Url=$1&tileWidth=$2&totalClips=$3 last; } location /upload/getLinkInfo { rewrite ^/getLinkInfo/([A-Za-z0-9=/]+)$ /upload/objects/getLinkInfo.json.php?base64Url=$1 last; } }
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 Debian 10 Buster.
sudo apt install certbot
Pokud používáte Apache, musíte si také nainstalovat plugin Certbot Apache.
sudo apt install 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.
sudo apt install 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
:Ke každé odpovědi HTTP přidejte záhlaví Strict-Transport-Security. Vynucení prohlížeče, aby pro doménu vždy používal TLS. Chrání před odstraněním SSL/TLS.--staple-ocsp
: Povoluje 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.
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.
Your server is nginx/1.14.2, you must install 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. Pokud používáte webový server Apache, pak
sudo nano /etc/php/7.3/apache2/php.ini
Pokud používáte Nginx s PHP-FPM, musíte upravit verzi FPM souboru php.ini.
sudo nano /etc/php/7.3/fpm/php.ini
Najděte následující dva řádky.
post_max_size = 8M upload_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 = 1024M upload_max_filesize = 1024M
Uložte a zavřete soubor. Restartujte Apache, aby se změny projevily.
sudo systemctl restart apache2
Pokud používáte Nginx s PHP-FPM, restartujte PHP-FPM.
sudo systemctl restart php7.3-fpm
Nyní obnovte stránku průvodce instalací YouPHPTube. Váš server by měl splňovat všechny požadavky. Nyní na pravé straně můžete zadat název svého webu s videem. Zadejte název databáze YouPHPTube, 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.) A nastavte heslo správce systému.
Klikněte na Install now
a YouPHPTube by měly být úspěšně nainstalovány.
Nyní musíme odstranit /var/www/YouPHPTube/install/
adresář.
sudo rm /var/www/YouPHPTube/install/ -r
Klikněte na Go to the main page
a uvidíte hlavní stránku YouPHPTube.
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/
Levá strana vám ukáže, zda váš server splňuje požadavky YouPHPTube Encoder.
Pokud používáte Nginx, můžete následující zprávu ignorovat.
Your server is nginx/1.14.2, you must install Apache.
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. Pokud používáte webový server Apache, pak
sudo nano /etc/php/7.3/apache2/php.ini
Pokud používáte Nginx s PHP-FPM, musíte upravit verzi FPM souboru php.ini.
sudo nano /etc/php/7.3/fpm/php.ini
Najděte následující dva řádky.
max_execution_time = 30 memory_limit = 128M
Změňte hodnoty .
max_execution_time = 7200 memory_limit = 512M
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. Restartujte Apache, aby se změny projevily.
sudo systemctl restart apache2
Pokud používáte Nginx s PHP-FPM, restartujte PHP-FPM.
sudo systemctl restart php7.3-fpm
Nyní obnovte stránku průvodce instalací YouPHPTube Encoder. Váš server by měl splňovat všechny požadavky. Nyní na pravé straně musíte zadat název databáze YouPHPTubeEncoder, 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 YouPHPTube Encoder se nainstaluje.
Odeberte instalační adresář.
sudo rm /var/www/YouPHPTube/upload/install/ -r
A přejděte na hlavní stránku.
Krok 8:Změňte adresu URL kodéru
Ve výchozím nastavení používá YouPHPTube pro nahrávání videí veřejný kodér. Chcete-li použít svůj vlastní kodér, přihlaste se jako správce do YouPHPTube (nikoli kodér YouPHPTube) a přejděte na panel správce z levého panelu správce.
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.
Krok 9:Konfigurace SMTP
Chcete-li odesílat e-maily (jako je registrace účtu, resetování hesla atd.), musíte nakonfigurovat server SMTP. Pokud byste chtě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.
- Jak rychle nastavit e-mailový server na Debianu 9 pomocí Modoboa
Pokud byste chtěli používat službu přenosu SMTP, doporučuji Mailjet. Chcete-li nastavit přenos SMTP na serveru YouPHTube, postupujte podle níže uvedeného návodu.
- Jak nastavit přenos Postfix SMTP na Debianu pomocí Mailjet
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 podle pokynů v článku níže. (Je napsán pro Ubuntu, ale funguje také na Debian 10 Buster.)
- Jak snadno zvýšit výkon sítě Ubuntu 16.04/18.04 povolením TCP BBR
Mobilní aplikace
Bezplatnou aplikaci pro Android nebo iOS si můžete stáhnout vyhledáním YouPHPTube
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 YouPHTube 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/YouPHPTube/
Měli byste použít
DocumentRoot /var/www/YouPHPTube
Pokud váš kodér nefunguje správně, můžete zkontrolovat soubor protokolu na adrese /var/www/YouPHPTube/upload/videos/youphptube.log
.
Další informace
Při kódování videí si můžete vybrat rozlišení (nízká, SD, HD). Pokud používáte YouPHPTube 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 videí YouPHPTube (/var/www/YouPHPTube/videos) a smazat videa s nízkým rozlišením a rozlišením SD.
cd /var/www/YouPHPTube/videos/ sudo rm *Low.mp4 sudo 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 YouPHPTube, 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