Comment installer AVideo/YouPHPTube sur un serveur Ubuntu 18.04

Ce tutoriel va vous montrer comment gĂ©rer votre propre site de partage de vidĂ©os avec AVideo (anciennement YouPHPTube) sur Ubuntu 18.04. AVideo est une alternative open-source et auto-hĂ©bergĂ©e aux sites de partage de vidĂ©os comme YouTube, Vimeo, etc. Avec AVideo, les utilisateurs peuvent tĂ©lĂ©charger des vidĂ©os sur votre serveur et les partager avec l’Internet.

CaractĂ©ristiques d’AVideo

  • Flux en direct illimitĂ©s et simultanĂ©s. Vous pouvez avoir un nombre illimitĂ© d’utilisateurs connectĂ©s Ă  chaque flux en direct.
  • Importation et encodage de vidĂ©os d’autres sites directement depuis Internet
  • Encodage en masse Ă  partir du rĂ©pertoire vidĂ©o local
  • RĂ©aliser des vidĂ©os privĂ©es
  • Fonction totalement intĂ©grĂ©e avec Youtube, synchronisation de vos vidĂ©os avec Youtube
  • Transcodage de plusieurs formats de fichiers multimĂ©dia en fichiers MP4, WebM et MP3
  • Supporte Amazon S3 (Simple Storage Service)
  • Mise en page rĂ©active du site. AVideo est incroyable sur n’importe quel appareil. (Vous pouvez choisir une mise en page de style YouTube ou Netfilx).
  • ChaĂ®nes d’utilisateurs et listes de lecture d’utilisateurs
  • Abonnez-vous aux chaĂ®nes que vous aimez
  • Vous pouvez surveiller les performances de vos vidĂ©os grâce Ă  des mesures et des rapports actualisĂ©s dans AVideo Statistics.
  • Étendez les fonctionnalitĂ©s du site avec des plugins.
  • OptimisĂ© pour le rĂ©fĂ©rencement
  • Applications iOS et Android disponibles

mariadb innodb large index key prefix

Enregistrez et fermez le fichier. Puis redémarrez MariaDB.

sudo systemctl restart mariadb

Connectez-vous au serveur de base de donnĂ©es MariaDB avec la commande suivante. Puisque MariaDB utilise maintenant le plugin unix_socket pour authentifier la connexion de l’utilisateur, il n’y a pas besoin d’entrer le mot de passe de la racine de MariaDB. Nous avons juste besoin de prĂ©fixer la commande mysql avec sudo.

sudo mysql

Créez ensuite une base de données pour AVideo. Ce tutoriel nomme la base de données AVideo. Vous pouvez utiliser le nom que vous voulez.

créer la base de données AVideo;

CrĂ©ez l’utilisateur de la base de donnĂ©es. Encore une fois, vous pouvez utiliser votre nom prĂ©fĂ©rĂ© pour cet utilisateur. Remplacez votre-mot-de-passe par votre mot de passe prĂ©fĂ©rĂ©.

créez l'utilisateur AVideo@localhost identifié par \'your-password' ;

Accordez à cet utilisateur tous les privilèges sur la base de données AVideo.

accorder tous les privilèges sur AVideo.* à AVideo@localhost;

Nous devons Ă©galement crĂ©er une base de donnĂ©es sĂ©parĂ©e pour l’encodeur.

créer une base de données AVideoEncoder;

Créez un utilisateur pour cette base de données.

créer un utilisateur AVideoEncoder@localhost identifié par \'your-password' ;

Accorder des privilèges.

accorder tous les privilèges sur AVideoEncoder.* à AVideoEncoder@localhost;

Videz la table des privilèges et quittez.

flush privileges;exit ;

Étape 4 : Configuration du serveur Web

Nous pouvons utiliser le serveur web Apache ou Nginx.

Apache

Si vous prĂ©fĂ©rez Apache, crĂ©ez un fichier d’hĂ´te virtuel pour AVideo avec un Ă©diteur de texte en ligne de commande comme Nano.

sudo nano /etc/apache2/sites-available/avideo.conf

Mettez le texte suivant dans le fichier. Remplacez le texte en rouge par vos donnĂ©es rĂ©elles. J’utilise un sous-domaine dans ce tutoriel. Vous pouvez utiliser votre nom de domaine principal si vous prĂ©fĂ©rez. N’oubliez pas de dĂ©finir un enregistrement DNS A pour le nom de domaine dans votre gestionnaire d’enregistrements DNS. Notez Ă©galement que le rĂ©pertoire racine du document est sensible Ă  la casse et que vous ne devez pas ajouter de barre oblique Ă  la fin.

 ServerName tube.yourdomain.com DocumentRoot /var/www/AVideo <Directory /var/www/AVideo> DirectoryIndex index.php Options FollowSymLinks AllowOverride All Require all granted  ErrorLog ${APACHE_LOG_DIR}/avideo.error.log CustomLog ${APACHE_LOG_DIR}/avideo.access.log combined

Enregistrez et fermez le fichier. Activez ensuite cet hĂ´te virtuel.

sudo a2ensite avideo.conf

Nous devons activer le module de réécriture.

sudo a2enmod rewrite

Redémarrez Apache pour que les modifications soient prises en compte.

sudo systemctl restart apache2

Visitez maintenant tube.yourdomain.com et vous serez redirigĂ© vers la page de l’assistant d’installation (tube.yourdomain.com/install/index.php). Si vous voyez la page Apache par dĂ©faut au lieu de l’assistant d’installation, vous devez dĂ©sactiver l’hĂ´te virtuel par dĂ©faut.

sudo a2dissite 000-default.conf

Et redémarrez Apache.

Avant de saisir toute information dans l’assistant de configuration, nous devons activer HTTPS.

Nginx

Si vous préférez Nginx, créez un fichier avideo.conf dans le répertoire /etc/nginx/conf.d/.

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

Mettez le texte suivant dans le fichier. Remplacez le texte en rouge par vos donnĂ©es rĂ©elles. J’utilise un sous-domaine dans ce tutoriel. Vous pouvez utiliser votre nom de domaine principal si vous prĂ©fĂ©rez. N’oubliez pas de dĂ©finir un enregistrement DNS A pour le nom de domaine dans votre gestionnaire d’enregistrements DNS. Notez Ă©galement que le rĂ©pertoire racine du document est sensible Ă  la casse.

server { listen 80 ; listen [: :]:80 ; server_name tube.yourdomain.com; root /var/www/AVideo ; index index.php index.html index.htm ; charset utf-8 ; client_max_body_size 2G ; access_log /var/log/nginx/avideo.access.log ; error_log /var/log/nginx/avideo.error.log ; location ~ \\\N.php$ { fastcgi_split_path_info ^(. \N.php)(/. )$ ; fastcgi_pass unix:/run/php/php7.2-fpm.sock ; fastcgi_index index.php ; include fastcgi_params ; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name ; }    # traduction des règles de réécriture d'Apache dans le fichier .htaccess en règles de réécriture de Nginx 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 dernier ; } emplacement /videoOnly { rewrite ^/videoOnly/?$ /view/?type=video dernier ; } emplacement /audioOnly { rewrite ^/audioOnly/?$ /view/?type=audio dernier ; } emplacement = /download { rewrite ^(.*)$ /view/downloadExternalVideo.php dernier ; } location = /downloadNow { réécriture ^(.*)$ /objects/downloadVideo.php dernier ; } location = /getDownloadProgress { réécriture ^(.*)$ /objects/downloadVideoProgress.php dernier ; } location = /about { rewrite ^(.*)$ /view/about.php dernier ; } location = /contact { rewrite ^(.*)$ /view/contact.php en dernier ; } location = /sendEmail { rewrite ^(.*)$ /objects/sendEmail.json.php en dernier ; } location = /captcha { rewrite ^(.*)$ /objects/getCaptcha.php en dernier ; } location /monitor { rewrite ^/monitor/(. )$ /objects/ServerMonitor/$1 dernier ; } location /cat { rewrite ^/cat/([A-Za-z0-9-] )/?$ /view/?catName=$1 dernier ; } location /video { rewrite ^/video/([A-Za-z0-9-_.] )/?$ /view/?videoName=$1 dernier ; } location /videoEmbeded { rewrite ^/videoEmbeded/([A-Za-z0-9-_.]/?$ /view/videoEmbeded.php?videoName=$1 dernier ; } location = /upload { rewrite ^(.*)$ /view/mini-upload-form/ dernier ; } location = /fileUpload { rewrite ^(.*)$ /view/mini-upload-form/upload.php dernier ; } emplacement /uploadStatu { rewrite ^/uploadStatus /view/mini-upload-form/videoConversionStatus.php dernier ; } emplacement = /user { rewrite ^(.*)$ /view/user.php dernier ; } emplacement = /users { rewrite ^(.*)$ /view/managerUsers.php dernier ; } location = /users.json { rewrite ^(.*)$ /objects/users.json.php dernier ; } location = /updateUser { rewrite ^(.*)$ /objects/userUpdate.json.php dernier ; } location = /savePhoto { rewrite ^(.*)$ /objects/userSavePhoto.php dernier ; } location = /addNewUser { rewrite ^(.*)$ /objects/userAddNew.json.php dernier ; } location = /deleteUser { rewrite ^(.*)$ /objects/userDelete.json.php en dernier ; } location = /recoverPass { rewrite ^(.*)$ /objects/userRecoverPass.php en dernier ; } location = /saveRecoverPassword { rewrite ^(.*)$ /objects/userRecoverPassSave.json.php en dernier ; } location = /signUp { rewrite ^(.*)$ /view/signUp.php dernier ; } location = /createUser { rewrite ^(.*)$ /objects/userCreate.json.php dernier ; } location = /usersGroups { rewrite ^(.*)$ /view/managerUsersGroups.php dernier ; } location = /usersGroups.json { réécriture ^(.*)$ /objects/usersGroups.json.php dernier ; } location = /addNewUserGroups { réécriture ^(.*)$ /objects/userGroupsAddNew.json.php dernier ; } location = /deleteUserGroups { réécriture ^(.*)$ /objects/userGroupsDelete.json.php dernier ; } location = /ads { rewrite ^(.*)$ /view/managerAds.php dernier ; } location = /addNewAd { rewrite ^(.*)$ /objects/video_adsAddNew.json.php dernier ; } location = /ads.json { réécriture ^(.*)$ /objects/video_ads.json.php dernier ; } emplacement = /deleteVideoAd { réécriture ^(.*)$ /objects/video_adDelete.json.php dernier ; } emplacement /adClickLo { réécriture ^/adClickLog /objects/video_adClickLog.php dernier ; } location = /categories { rewrite ^(.*)$ /view/managerCategories.php dernier ; } location = /categories.json { rewrite ^(.*)$ /objects/categories.json.php dernier ; } location = /addNewCategory { rewrite ^(.*)$ /objects/categoryAddNew.json.php dernier ; } location = /deleteCategory { réécriture ^(.*)$ /objects/categoryDelete.json.php dernier ; } location = /orphanFiles { réécriture ^(.*)$ /view/orphanFiles.php dernier ; } location = /mvideos { rewrite ^(.*)$ /view/managerVideos.php dernier ; } location = /videos.json { rewrite ^(.*)$ /objects/videos.json.php dernier ; } location = /deleteVideo { rewrite ^(.*)$ /objects/videoDelete.json.php dernier ; } location = /addNewVideo { rewrite ^(.*)$ /objects/videoAddNew.json.php dernier ; } location = /refreshVideo { rewrite ^(.*)$ /objects/videoRefresh.json.php dernier ; } location = /setStatusVideo { rewrite ^(.*)$ /objects/videoStatus.json.php dernier ; } location = /reencodeVideo { rewrite ^(.*)$ /objects/videoReencode.json.php dernier ; } 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 dernier ; } location = /login { réécriture ^(.*)$ /objects/login.json.php dernier ; } location = /logoff { réécriture ^(.*)$ /objects/logoff.php dernier ; } emplacement = /like { réécriture ^(.*)$ /objects/like.json.php?like=1 dernier ; } emplacement = /dislike { réécriture ^(.*)$ /objects/like.json.php?like=-1 dernier ; } emplacement /update { réécriture ^/update/?$ /update/update.php dernier ; } emplacement = /siteConfigurations { réécriture ^(.*)$ /view/configurations.php dernier ; } emplacement = /updateConfig { réécriture ^(.*)$ /objects/configurationUpdate.json.php dernier ; } location = /charts { rewrite ^(.*)$ /view/charts.php dernier ; } location = /upload/index.php { rewrite ^(.*)$ /upload/view/index.php dernier ; } location = /upload/isAdmin { rewrite ^(.*)$ /upload/view/isAdmin.php dernier ; } location = /upload/removeStreamer { rewrite ^(.*)$ /upload/view/removeStreamer.php dernier ; } location = /upload/priority { rewrite ^(.*)$ /upload/view/priority.php dernier ; } location = /upload/status { rewrite ^(.*)$ /upload/view/status.php dernier ; } location = /upload/serverStatus { réécriture ^(.*)$ /upload/view/status.php?serverStatus=1 dernier ; } location = /upload/upload { réécriture ^(.*)$ /upload/view/upload.php dernier ; } location = /upload/listFiles.json { réécriture ^(.*)$ /upload/view/listFiles.json.php dernier ; } emplacement = /upload/deleteQueue { réécriture ^(.*)$ /upload/view/deleteQueue.php dernier ; } emplacement = /upload/saveConfig { réécriture ^(.*)$ /upload/view/saveConfig.php en dernier ; } location = /upload/youtubeDl.json { rewrite ^(.*)$ /upload/view/youtubeDl.json.php en dernier ; } location = /upload/send.json { rewrite ^(.*)$ /upload/view/send.json.php en dernier ; } location = /upload/streamers.json { rewrite ^(.*)$ /upload/view/streamers.json.php dernier ; } location = /upload/queue.json { rewrite ^(.*)$ /upload/view/queue.json.php dernier ; } location = /upload/queue { rewrite ^(.*)$ /upload/view/queue.php dernier ; } location = /upload/login { rewrite ^(.*)$ /upload/objects/login.json.php dernier ; } location = /upload/logoff { rewrite ^(.*)$ /upload/objects/logoff.json.php dernier ; } 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 ; }}

Enregistrez et fermez le fichier. Testez ensuite la configuration de Nginx.

sudo nginx -t

Si le test est réussi, rechargez Nginx pour que les changements prennent effet.

sudo systemctl reload nginx

Visitez maintenant tube.yourdomain.com et vous serez redirigĂ© vers la page de l’assistant d’installation (tube.yourdomain.com/install/index.php). Avant de saisir toute information dans l’assistant d’installation, nous devons activer HTTPS.

Étape 5 : Activation de HTTPS

Pour crypter le trafic HTTP, nous pouvons activer HTTPS en installant un certificat TLS gratuit Ă©mis par Let’s Encrypt. ExĂ©cutez la commande suivante pour installer le client Let’s Encrypt (certbot) sur le serveur Ubuntu 18.04.

sudo apt install certbot

Si vous utilisez Apache, vous devez Ă©galement installer le plugin Apache Certbot.

sudo apt install python3-certbot-apache

Et exécutez cette commande pour obtenir et installer le certificat TLS.

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email
sudo apt install python3-certbot-nginx

Ensuite, exécutez la commande suivante pour obtenir et installer le certificat TLS.

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email
  • --nginx: Utiliser le plugin nginx.
  • --apache: Utilise le plugin Apache.
  • --agree-tos: Accepter les conditions de service.
  • --redirect: Force HTTPS par redirection 301.
  • --hsts: Ajouter l'en-tĂŞte Strict-Transport-Security Ă  chaque rĂ©ponse HTTP. Forcer le navigateur Ă  toujours utiliser TLS pour le domaine. Se dĂ©fend contre le dĂ©pouillement SSL/TLS.
  • --staple-ocsp: Active l'agrafage OCSP. Une rĂ©ponse OCSP valide est agrafĂ©e au certificat que le serveur offre pendant TLS.

Le certificat devrait maintenant être obtenu et installé automatiquement.

install-youphptube-on-ubuntu-20.04

Étape 6 : Terminer l'installation avec l'assistant d'installation

Allez maintenant sur tube.yourdomain.com/install/index.php et l'assistant d'installation apparaîtra. Sur le côté gauche, vous pouvez voir si votre serveur répond aux exigences.

avideo-requirements

Si vous utilisez Nginx, vous pouvez ignorer le message suivant.

Votre serveur est nginx/1.14.2, vous devez installer Apache.

Comme vous pouvez le voir, la valeur PHP post_max_size doit ĂŞtre d'au moins 100M et upload_max_filesize doit ĂŞtre d'au moins 100M. Nous devons modifier le fichier php.ini pour changer ces deux valeurs. Si vous utilisez le serveur web Apache, alors

sudo nano /etc/php/7.2/apache2/php.ini

Si vous utilisez Nginx avec PHP-FPM, vous devez modifier la version FPM du fichier php.ini.

sudo nano /etc/php/7.2/fpm/php.ini

Trouvez les deux lignes suivantes.

post_max_size = 8Mupload_max_filesize = 2M

Modifiez les valeurs en fonction de la taille du fichier vidéo que vous allez télécharger. Par exemple, si vous autorisez le téléchargement d'un fichier vidéo de 1G, alors

post_max_size = 1024Mupload_max_filesize = 1024M

Sauvegardez et fermez le fichier. Redémarrez Apache pour que les modifications soient prises en compte.

sudo systemctl restart apache2

Si vous utilisez Nginx avec PHP-FPM, redémarrez PHP-FPM.

sudo systemctl restart php7.2-fpm

Actualisez maintenant la page de l'assistant d'installation d'AVideo. Votre serveur devrait répondre à toutes les exigences. Maintenant sur le côté droit, vous pouvez entrer un titre pour votre site vidéo, et définir un mot de passe administrateur système. Entrez le nom de la base de données AVideo, l'utilisateur et le mot de passe que vous avez créé plus tôt. (Note : Vous devez utiliser la base de données principale, pas celle de l'encodeur. Faites également attention à la casse).

avideo-create-database-and-tables

 

Cliquez sur le bouton Installer maintenant et AVideo devrait être installé avec succès.

avideo-install-directory

Maintenant nous devons supprimer le répertoire /var/www/AVideo/install/.

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

Cliquez sur le bouton " Go to the main page " et vous verrez la page principale d'AVideo.

avideo main page

Vous pouvez cliquer sur le menu déroulant à gauche et vous connecter en tant qu'utilisateur admin et avec le mot de passe que vous avez défini il y a quelques instants.

youphptube admin signin

Si vous utilisez Nginx, vous pouvez ignorer le message suivant.

Votre serveur est nginx/1.14.2, vous devez installer Apache.

Comme vous pouvez le constater, le max_execution_time de PHP doit ĂŞtre d'au moins 7200 et la memory_limit de PHP doit ĂŞtre d'au moins 512M. Nous devons Ă©diter le fichier php.ini pour changer ces deux valeurs. Si vous utilisez le serveur web Apache, alors

sudo nano /etc/php/7.2/apache2/php.ini

Si vous utilisez Nginx avec PHP-FPM, vous devez modifier la version FPM du fichier php.ini.

sudo nano /etc/php/7.2/fpm/php.ini

Trouvez les deux lignes suivantes.

max_execution_time = 30memory_limit = 128M

Changez les valeurs.

max_execution_time = 7200memory_limit = 512M

Notez que si l'encodage vidéo s'arrête à mi-chemin, vous devez augmenter le max_execution_time, ou mettre à niveau votre CPU.

Sauvegardez et fermez le fichier. Redémarrez Apache pour que les modifications soient prises en compte.

sudo systemctl restart apache2

Si vous utilisez Nginx avec PHP-FPM, redémarrez PHP-FPM.

sudo systemctl restart php7.2-fpm

Actualisez maintenant la page de l'assistant d'installation d'AVideo Encoder. Votre serveur devrait passer toutes les exigences. Maintenant sur le côté droit, vous devez entrer le nom de la base de données AVideoEncoder, l'utilisateur et le mot de passe que vous avez créé plus tôt. Faites attention à la casse et entrez le mot de passe de l'administrateur du site de streaming.

avideo-encoder-setup-wizard-database

 

Cliquez sur le bouton Installer maintenant et AVideo Encoder sera installé.

install-avideo-encoder-ubuntu-20.04

Supprimez le répertoire d'installation.

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

Et allez sur la page principale.

youphptube encoder admin signin

Allez dans Paramètres -> Paramètres du site -> Configuration avancée. Changez l'URL de l'encodeur en https://tube.yourdomain.com/upload/. Enregistrez les paramètres, videz le répertoire de cache et générez un nouveau sitemap.

avideo-private-encoder-url

Déconnectez-vous et reconnectez-vous. Si vous cliquez sur le bouton d'encodage vidéo et audio dans le coin supérieur droit, vous serez dirigé vers votre propre encodeur pour télécharger des vidéos. Il convient de noter que la vitesse d'encodage dépend de la puissance du processeur de votre serveur. Il ne nécessite pas beaucoup de RAM car l'encodeur copiera la vidéo dans un fichier temporaire dans le répertoire de téléchargement(/var/www/AVideo/upload/videos).

Étape 9 : Configuration du SMTP

Pour envoyer des e-mails (tels que l'enregistrement d'un compte, la réinitialisation d'un mot de passe, etc.), vous devez configurer un serveur SMTP. Si vous souhaitez utiliser votre propre serveur de messagerie pour envoyer des e-mails à vos clients, veuillez consulter l'article suivant pour configurer votre propre serveur de messagerie. Notez que je recommande fortement d'exécuter le serveur de messagerie iRedMail sur un système d'exploitation propre et frais. L'installation de iRedMail sur un OS qui a d'autres applications web peut échouer, et probablement casser les applications existantes.

  • Comment configurer facilement un serveur de courriel sur Ubuntu 18.04 avec iRedMail

Si vous souhaitez utiliser un service de relais SMTP, je recommande Mailjet. Vous pouvez suivre le tutoriel ci-dessous pour configurer le relais SMTP sur votre serveur AVideo.

  • Comment configurer le relais SMTP Postfix sur Ubuntu avec Mailjet

Vous pouvez tester l'envoi d'email en allant dans le panneau d'administration -> Paramètres -> Paramètres du site -> Configuration avancée, vous pouvez trouver la configuration SMTP. Utilisez les paramètres suivants.

  • Activer le SMTP.
  • Activer SMTP Auth.
  • Utiliser tls dans SMTP Secure.
  • Utilisez 587 comme port SMTP.
  • Entrez le nom d'hĂ´te de votre serveur de messagerie.
  • Entrez un nom d'utilisateur et un mot de passe SMTP.

Cliquez sur le bouton Save pour enregistrer les paramètres, puis cliquez sur Test Email pour voir si tout fonctionne.

avideo email configuration

 

Activer TCP BBR

Pour un serveur de streaming vidéo, il est recommandé d'activer l'algorithme de contrôle de congestion TCP BBR dans le noyau Linux en suivant les instructions de l'article ci-dessous.

  • Comment amĂ©liorer facilement les performances du rĂ©seau Ubuntu en activant le protocole TCP BBR

Applications mobiles

Vous pouvez télécharger l'application androïde gratuite ou l'application iOS en recherchant AVideo sur Google Play Store ou YPT Mobile sur Apple Store. Les applications mobiles en marque blanche nécessitent une licence payante.

DĂ©pannage

Si votre page principale AVideo n'a pas réussi à charger certaines ressources CSS et JavaScript,

youphptube failed to load resources

Il est probable que vous ayez ajouté une barre oblique supplémentaire dans le fichier d'hôte virtuel d'Apache ou de Nginx pour le répertoire racine du site Web. Au lieu d'utiliser

DocumentRoot /var/www/AVideo/

Vous devez utiliser

DocumentRoot /var/www/AVideo

Si le site principal ne fonctionne pas correctement, vous pouvez consulter le fichier journal à l'adresse /var/www/AVideo/videos/avideo.log. Si votre encodeur ne fonctionne pas correctement, vous pouvez vérifier le fichier journal dans /var/www/AVideo/upload/videos/avideo.log.

Autres informations

Lors de l'encodage des vidéos, vous pouvez choisir les résolutions (basse, SD, HD). Si vous utilisez AVideo comme site personnel de streaming vidéo, je vous recommande de choisir uniquement la résolution HD pour réduire le temps d'encodage et économiser de l'espace disque. Si vous avez déjà encodé des vidéos dans les 3 résolutions, vous pouvez aller dans le répertoire vidéo d'AVideo (/var/www/AVideo/videos) et supprimer les vidéos en basse résolution et en résolution SD.

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

Comment télécharger toutes les vidéos de votre site vidéo

Vous pouvez utiliser l'utilitaire de ligne de commande youtube-dl pour télécharger toutes les vidéos. Tout d'abord, vous devez aller sur le tableau de bord d'AVideo, puis sur la page de la liste des vidéos et faire défiler jusqu'en bas, cliquez sur le bouton télécharger la liste de vos vidéos (fichier .txt permalien). Vous verrez une liste d'URL pour toutes les vidéos.

Ensuite, ouvrez un terminal et créez un fichier txt avec un éditeur de texte, copiez les URL de la page Web et collez-les dans le fichier. Vous pouvez ensuite exécuter la commande suivante pour télécharger les vidéos. Remplacez video-list.txt par votre propre nom de fichier.

youtube-dl -a video-list.txt

Conclusion

J'espère que ce tutoriel vous a aidé à installer AVideo sur un serveur Ubuntu 18.04. Comme toujours, si vous avez trouvé ce post utile, alors abonnez-vous à notre newsletter gratuite pour recevoir d'autres conseils et astuces. Prenez soin de vous 🙂 .

Scroll to Top