Questo tutorial ti mostrerà come eseguire il tuo sito Web di condivisione video con YouPHPTube su Debian 10 Buster. YouPHPTube è un'alternativa open source self-hosted ai siti Web di condivisione video come YouTube, Vimeo, ecc. Con YouPHPTube puoi caricare video sul tuo server e condividerli con Internet.
Funzionalità di YouTube
- Live streaming illimitati e simultanei e puoi avere utenti illimitati connessi a ogni live streaming.
- Importa e codifica video da altri siti direttamente da Internet
- Codifica in blocco dalla directory video locale
- Crea video privati
- Funzione totalmente integrata con Youtube, che ti consente di sincronizzare i tuoi video con Youtube
- Transcodifica più formati di file multimediali in file MP4, WebM e MP3
- Supporta Amazone S3 (servizio di archiviazione semplice)
- Layout del sito reattivo. YouPHPTube sembra incredibile su qualsiasi dispositivo. (Puoi scegliere il layout in stile YouTube o Netfilx.)
- Canali utente e playlist utente
- Iscriviti ai canali che ti piacciono
- Puoi monitorare il rendimento dei tuoi video con metriche e rapporti aggiornati nelle statistiche di YouPHPTube.
- Estendi le funzionalità del sito con i plug-in.
- Ottimizzato SEO
- App iOS e Android disponibili
Requisiti del server YouTube
Innanzitutto, dovresti sapere che una CPU single-core non è valida per un sito Web di condivisione video, perché il processo di codifica utilizzerà molte risorse della CPU.
Quindi scegli le specifiche del server in base al numero di utenti del tuo sito.
- Se vuoi usarlo solo per condividere i tuoi video, hai bisogno di un server con almeno 2 core CPU e 4 GB di RAM. Puoi acquistare un potente VPS (virtual private server) da Contabo con costi molto contenuti.
- Se prevedi che il tuo sito abbia dozzine di utenti, puoi prendere in considerazione il VPS extra large di Contabo, che ha 10 core CPU, 60 GB di RAM, velocità della porta 1 Gbit/s, 1,6 TB di spazio su disco, traffico illimitato ma costa solo 26,99 Euro/mese.
- Quando il tuo sito cresce oltre, dovresti acquistare un server dedicato.
Requisiti software per l'installazione di YouPHPTube su Debian 10 Buster
YouPHPTube richiede PHP e MySQL/MariaDB. Per seguire questo tutorial, dovresti aver già impostato uno stack LAMP o uno stack LEMP. Se preferisci utilizzare il server Web Apache, installa lo stack LAMP.
- Come installare lo stack LAMP (Apache, MariaDB, PHP) su Debian 10 Buster
Se preferisci utilizzare il server web Nginx, installa lo stack LEMP.
- Come installare lo stack LEMP (Nginx, MariaDB, PHP) su Debian 10 Buster
Nota :Il supporto di YouPHPTube con Nginx è solo sperimentale. Potresti avere problemi se usi Nginx.
Hai anche bisogno di un nome di dominio. Ho registrato il mio nome di dominio su NameCheap perché il prezzo è basso e offrono protezione della privacy a Whois gratuita per tutta la vita.
YouPHPTube è composto da due parti.
- La parte principale è il server streamer front-end, che consente agli utenti di guardare i video esistenti.
- L'altra parte è il codificatore, che consente agli utenti di caricare i propri video.
Il codificatore pubblico utilizza il nome di dominio encoder.youphptube.com
. Se non desideri che gli utenti lascino il tuo sito durante il caricamento di video, devi configurare il tuo codificatore privato. Ti mostrerò come in questo articolo. Senza ulteriori indugi, iniziamo.
Passaggio 1:scarica YouPHPTube su Debian 10 Buster Server
Accedi al tuo server Debian 10 Buster tramite SSH. Quindi vai alla directory principale del Web.
cd /var/www/
Clona il repository di streamer YouPHPTube da Github.
sudo apt install git sudo git clone https://github.com/YouPHPTube/YouPHPTube.git
Quindi vai nella directory.
cd YouPHPTube/
Clona il repository dell'encoder YouPHPTube da Github.
sudo git clone https://github.com/YouPHPTube/YouPHPTube-Encoder.git
Verrà salvato come YouPHPTube-Encoder
. Lo rinominiamo in upload
, in modo che gli utenti possano avere un'idea migliore a cosa serve questo URL durante il caricamento dei video.
sudo mv YouPHPTube-Encoder upload
Successivamente, dobbiamo impostare www-data (l'utente del server web) come proprietario della radice web.
sudo chown www-data:www-data /var/www/YouPHPTube/ -R
Passaggio 2:installa le dipendenze
YouPHPTube utilizza FFmpeg
per codificare i video. Possiamo facilmente installare FFmpeg dal repository Debian predefinito.
sudo apt install ffmpeg
Per leggere e scrivere metainformazioni nei file multimediali, dobbiamo installare libimage-exiftool-perl
pacchetto.
sudo apt install libimage-exiftool-perl
Devi anche installare alcune estensioni PHP comuni.
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
Per recuperare video da altri siti, dobbiamo installare YouTube-DL. Sebbene sia incluso nel repository Debian, ma è obsoleto. Installeremo YouTube-DL dall'indice dei pacchetti Python, che contiene sempre l'ultima versione di YouTube-DL.
sudo apt install python3-pip sudo -H pip3 install youtube-dl
È molto importante utilizzare la versione più recente, altrimenti potresti non essere in grado di scaricare video da altri siti. Possiamo creare un processo Cron per controllare e installare automaticamente l'ultima versione.
sudo crontab -e
Aggiungi la riga seguente alla fine del file Crontab per provare ad aggiornare YouTube-DL ogni giorno.
@daily sudo -H pip3 install --upgrade youtube-dl > /dev/null
Fase 3:crea database e utente in MariaDB
Accedi al server del database MariaDB con il seguente comando. Dal momento che MariaDB ora sta usando unix_socket
plug-in per l'autenticazione dell'accesso utente, non è necessario inserire la password di root di MariaDB. Dobbiamo solo anteporre mysql
comando con sudo
.
sudo mysql
Quindi crea un database per YouTube. Questo tutorial nomina il database YouPHPTube
. Puoi usare il nome che preferisci.
create database YouPHPTube;
Crea l'utente del database. Anche in questo caso, puoi utilizzare il tuo nome preferito per questo utente. Sostituisci your-password
con la tua password preferita.
create user youphptube@localhost identified by 'your-password';
Concedi a questo utente tutti i privilegi su youphptube
banca dati.
grant all privileges on YouPHPTube.* to youphptube@localhost;
Dobbiamo anche creare un database separato per il codificatore.
create database YouPHPTubeEncoder;
Crea un utente per questo database.
create user encoder@localhost identified by 'your-password';
Concedi privilegi.
grant all privileges on YouPHPTubeEncoder.* to encoder@localhost;
Svuota la tabella dei privilegi ed esci.
flush privileges; exit;
Fase 4:configurazione del server Web
Possiamo usare il web server Apache o Nginx.
Apache
Se preferisci Apache, crea un file host virtuale per YouPHPTube con un editor di testo a riga di comando come Nano.
sudo nano /etc/apache2/sites-available/youphptube.conf
Inserisci il seguente testo nel file. Sostituisci il testo di colore rosso con i tuoi dati effettivi. Uso un sottodominio in questo tutorial. Se preferisci, puoi utilizzare il tuo nome di dominio principale. Non dimenticare di impostare il record DNS A per il nome di dominio nel tuo gestore di record DNS. Tieni inoltre presente che la directory principale del documento fa distinzione tra maiuscole e minuscole e non dovresti aggiungere una barra alla fine.
<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>
Salva e chiudi il file. Quindi abilita questo host virtuale.
sudo a2ensite youphptube.conf
Dobbiamo abilitare il modulo di riscrittura.
sudo a2enmod rewrite
Riavvia Apache per rendere effettive le modifiche.
sudo systemctl restart apache2
Ora visita tube.yourdomain.com
e verrai reindirizzato alla pagina della procedura guidata di configurazione (tube.yourdomain.com/install/index.php
). Se vedi la pagina Apache predefinita invece della procedura guidata di configurazione, devi disabilitare l'host virtuale predefinito.
sudo a2dissite 000-default.conf
E riavvia Apache.
Prima di inserire qualsiasi informazione nella procedura guidata di configurazione, è necessario abilitare HTTPS.
Nginx
Se preferisci Nginx, crea un youphptube.conf
file in /etc/nginx/conf.d/
directory.
sudo nano /etc/nginx/conf.d/youphptube.conf
Inserisci il seguente testo nel file. Sostituisci il testo di colore rosso con i tuoi dati effettivi. Uso un sottodominio in questo tutorial. Se preferisci, puoi utilizzare il tuo nome di dominio principale. Non dimenticare di impostare il record DNS A per il nome di dominio nel tuo gestore di record DNS. Nota inoltre che la directory radice del documento fa distinzione tra maiuscole e minuscole.
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; } }
Salva e chiudi il file. Quindi testa la configurazione di Nginx.
sudo nginx -t
Se il test ha esito positivo, ricarica Nginx per rendere effettive le modifiche.
sudo systemctl reload nginx
Ora visita tube.yourdomain.com
e verrai reindirizzato alla pagina della procedura guidata di configurazione (tube.yourdomain.com/install/index.php
). Prima di inserire qualsiasi informazione nella procedura guidata di configurazione, è necessario abilitare HTTPS.
Fase 5:abilitazione di HTTPS
Per crittografare il traffico HTTP, possiamo abilitare HTTPS installando un certificato TLS gratuito emesso da Let's Encrypt. Esegui il comando seguente per installare il client Let's Encrypt (certbot) sul server Debian 10 Buster.
sudo apt install certbot
Se usi Apache, devi anche installare il plugin Certbot Apache.
sudo apt install python3-certbot-apache
Ed esegui questo comando per ottenere e installare il certificato TLS.
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d tube.yourdomain.com
Se usi Nginx, installa il plugin Certbot Nginx.
sudo apt install python3-certbot-nginx
Quindi, esegui il comando seguente per ottenere e installare il certificato TLS.
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d tube.yourdomain.com
Dove
--nginx
:usa il plugin nginx.--apache
:usa il plugin Apache.--agree-tos
:Accetta i termini di servizio.--redirect
:Forza HTTPS tramite reindirizzamento 301.--hsts
: Aggiungi l'intestazione Strict-Transport-Security a ogni risposta HTTP. Forzare il browser a utilizzare sempre TLS per il dominio. Difende dallo stripping SSL/TLS.--staple-ocsp
: Abilita la pinzatura OCSP. Una risposta OCSP valida viene pinzata al certificato offerto dal server durante TLS.
Il certificato dovrebbe ora essere ottenuto e installato automaticamente.
Fase 6:termina l'installazione con l'installazione guidata
Ora vai su tube.yourdomain.com
e apparirà la procedura guidata di configurazione. Sul lato sinistro puoi vedere se il tuo server soddisfa i requisiti.
Se usi Nginx, puoi ignorare il seguente messaggio.
Your server is nginx/1.14.2, you must install Apache.
Come puoi vedere, il PHP post_max_size
dovrebbe essere almeno 100M e upload_max_filesize
dovrebbe essere almeno 100M. Dobbiamo modificare il php.ini
file per modificare i due valori. Se usi il server web Apache, allora
sudo nano /etc/php/7.3/apache2/php.ini
Se usi Nginx con PHP-FPM, devi modificare la versione FPM del file php.ini.
sudo nano /etc/php/7.3/fpm/php.ini
Trova le due righe seguenti.
post_max_size = 8M upload_max_filesize = 2M
Modifica i valori in base alla dimensione del file video che intendi caricare. Ad esempio, se consenti il caricamento di file video 1G,
post_max_size = 1024M upload_max_filesize = 1024M
Salva e chiudi il file. Riavvia Apache per rendere effettive le modifiche.
sudo systemctl restart apache2
Se usi Nginx con PHP-FPM, riavvia PHP-FPM.
sudo systemctl restart php7.3-fpm
Ora aggiorna la pagina della procedura guidata di installazione di YouPHPTube. Il tuo server dovrebbe soddisfare tutti i requisiti. Ora sul lato destro, puoi inserire un titolo per il tuo sito di video. Inserisci il nome del database di YouPHPTube, l'utente e la password che hai creato in precedenza. (Nota:dovresti usare il database principale, non il database dell'encoder. Fai attenzione anche alla distinzione tra maiuscole e minuscole.) E imposta una password di amministratore di sistema.
Fai clic su Install now
e YouTube dovrebbero essere installati correttamente.
Ora dobbiamo rimuovere il /var/www/YouPHPTube/install/
directory.
sudo rm /var/www/YouPHPTube/install/ -r
Fai clic su Go to the main page
e vedrai la pagina principale di YouPHPTube.
Puoi fare clic sul menu a discesa a sinistra e accedere come admin
utente e con la password che hai impostato pochi istanti fa.
Fase 7:imposta l'encoder
Vai a https://tube.yourdomain.com/upload/
. Verrai reindirizzato alla procedura guidata di configurazione dell'encoder. Se non vieni reindirizzato automaticamente, puoi inserire manualmente l'URL della procedura guidata di configurazione.
https://tube.yourdomain.com/upload/install/index.php/
Il lato sinistro ti mostrerà se il tuo server soddisfa i requisiti di YouPHPTube Encoder.
Se usi Nginx, puoi ignorare il seguente messaggio.
Your server is nginx/1.14.2, you must install Apache.
Come puoi vedere il PHP max_execution_time
dovrebbe essere almeno 7200 e PHP memory_limit
dovrebbe essere almeno 512M. Dobbiamo modificare il php.ini
file per modificare i due valori. Se usi il server web Apache, allora
sudo nano /etc/php/7.3/apache2/php.ini
Se usi Nginx con PHP-FPM, devi modificare la versione FPM del file php.ini.
sudo nano /etc/php/7.3/fpm/php.ini
Trova le due righe seguenti.
max_execution_time = 30 memory_limit = 128M
Modifica i valori .
max_execution_time = 7200 memory_limit = 512M
Nota che se la codifica video successiva si interrompe a metà, devi aumentare il max_execution_time
o aggiorna la tua CPU.
Salva e chiudi il file. Riavvia Apache per rendere effettive le modifiche.
sudo systemctl restart apache2
Se usi Nginx con PHP-FPM, riavvia PHP-FPM.
sudo systemctl restart php7.3-fpm
Ora aggiorna la pagina della procedura guidata di installazione di YouPHPTube Encoder. Il tuo server dovrebbe soddisfare tutti i requisiti. Ora sul lato destro, devi inserire il nome del database di YouPHPTubeEncoder, l'utente e la password che hai creato in precedenza. Fai attenzione alla distinzione tra maiuscole e minuscole e inserisci la password di amministratore del sito streamer.
Fai clic sul pulsante Installa ora e YouPHPTube Encoder verrà installato.
Rimuovere la directory di installazione.
sudo rm /var/www/YouPHPTube/upload/install/ -r
E vai alla pagina principale.
Passaggio 8:modifica l'URL dell'encoder
Per impostazione predefinita, YouPHPTube utilizza il codificatore pubblico per caricare i video. Per utilizzare il tuo codificatore, accedi come amministratore in YouPHPTube (non codificatore YouPHPTube) e vai al pannello di amministrazione dal pannello di amministrazione sul lato sinistro.
Vai a settings
-> site settings
-> advanced configuration
. Modifica l'URL del codificatore in https://tube.yourdomain.com/upload/
. Salva le impostazioni, svuota la directory della cache e genera una nuova mappa del sito.
Ora esci e accedi nuovamente. Se fai clic su encode video and audio
pulsante nell'angolo in alto a destra, verrai indirizzato al tuo codificatore per caricare i video. Va notato che la velocità di codifica dipende dalla potenza della CPU del tuo server.
Fase 9:Configura SMTP
Per inviare e-mail (come la registrazione dell'account, la reimpostazione della password, ecc.), è necessario configurare un server SMTP. Se desideri utilizzare il tuo server di posta per inviare e-mail ai client, consulta il seguente articolo per configurare il tuo server di posta.
- Come configurare rapidamente un server di posta su Debian 9 con Modoboa
Se desideri utilizzare un servizio di inoltro SMTP, ti consiglio Mailjet. Puoi seguire il tutorial qui sotto per configurare l'inoltro SMTP sul tuo server YouPHPTube.
- Come configurare l'inoltro SMTP di Postfix su Debian con Mailjet
Abilita TCP BBR
Per un server di streaming video, si consiglia di abilitare l'algoritmo di controllo della congestione TCP BBR nel kernel Linux seguendo le istruzioni nell'articolo seguente. (È scritto per Ubuntu, ma funziona anche su Debian 10 Buster.)
- Come aumentare facilmente le prestazioni di rete di Ubuntu 16.04/18.04 abilitando TCP BBR
App mobili
Puoi scaricare l'app Android gratuita o l'app iOS effettuando una ricerca su YouPHPTube
su Google Play Store o YPT Mobile
nell'Apple Store. L'app mobile white label richiede una licenza a pagamento.
Risoluzione dei problemi
Se la pagina principale di YouPHPTube non è riuscita a caricare alcune risorse CSS e JavaScript,
È probabile che tu abbia aggiunto una barra in avanti aggiuntiva nel file dell'host virtuale Apache o Nginx per la directory principale del Web. Invece di usare
DocumentRoot /var/www/YouPHPTube/
Dovresti usare
DocumentRoot /var/www/YouPHPTube
Se il tuo codificatore non funziona correttamente, puoi controllare il file di registro su /var/www/YouPHPTube/upload/videos/youphptube.log
.
Altre curiosità
Durante la codifica dei video, puoi scegliere le risoluzioni (bassa, SD, HD). Se utilizzi YouPHPTube come sito di streaming video personale, ti consiglio di scegliere la risoluzione HD solo per ridurre i tempi di codifica e risparmiare spazio su disco. Se hai già codificato i video in tutte e 3 le risoluzioni, puoi accedere alla directory dei video di YouPHPTube (/var/www/YouPHPTube/videos) ed eliminare i video a bassa risoluzione e SD.
cd /var/www/YouPHPTube/videos/ sudo rm *Low.mp4 sudo rm *SD.mp4
Come scaricare tutti i video dal tuo sito di video
Puoi usare il youtube-dl
utilità da riga di comando per scaricare tutti i video. Innanzitutto, devi andare alla dashboard di YouPHPTube, quindi andare alla pagina dell'elenco dei video e scorrere fino in fondo, fare clic su scarica l'elenco dei video (file permalink .txt) pulsante. Vedrai un elenco di URL per tutti i video.
Quindi, apri un terminale e crea un file txt con un editor di testo, copia gli URL dalla pagina Web e incollali nel file. Quindi puoi eseguire il seguente comando per scaricare i video. Sostituisci video-list.txt
con il tuo nome file.
youtube-dl -a video-list.txt