Maison  >  Article  >  Opération et maintenance  >  Comment créer un serveur photo et vidéo avec Nginx

Comment créer un serveur photo et vidéo avec Nginx

WBOY
WBOYavant
2023-05-19 13:47:033221parcourir

1 Avant-propos

Tout d'abord, deux histoires :

1.1 À propos de la vidéo

Il y a quelques années, lorsque je travaillais dans ma dernière entreprise, mon ordinateur de travail n'était pas connecté au réseau externe. C'était vraiment inconfortable de le faire. développer le réseau interne. Vérifier Lorsque vous recherchez des informations, vous ne pouvez utiliser que votre téléphone portable. Ce que je n'arrive pas à faire, c'est de trouver le code et je ne peux le saisir qu'un par un.

Un jour, nous avons reçu un client et voulions lui montrer une vidéo promotionnelle de notre nouveau produit, mais la vidéo venait juste d'être terminée et était toujours sur l'intranet. Ils étaient assis dans la salle de conférence en train de discuter et d'attendre de regarder la vidéo. .Nous Le patron est sorti chercher la vidéo, tenant son ordinateur portable, et a été abasourdi. La vidéo était sur le réseau interne et tous les ports USB étaient bloqués sur le bureau. C'est tellement urgent que je ne sais pas quoi faire. Pour obtenir quelque chose de l'intranet, je dois passer par plusieurs niveaux d'approbation par courrier électronique. À ce moment-là, je me suis avancé et j'ai utilisé nginx pour transférer la vidéo vers le réseau externe via le port ouvert par nous et le débogage conjoint tripartite. Le client était très heureux après l'avoir regardé. En conséquence, j'ai été critiqué et on m'a dit que je ne respectais pas les procédures de l'entreprise. Finalement, mon patron a assumé la responsabilité. . . Le processus était merveilleux, mais les résultats n’étaient pas si géniaux. 1.2 Concernant les photos

Il fut un temps où je travaillais pour une entreprise spécialisée dans le prêt automobile. La page d'informations sur l'utilisateur montrait des personnes, des voitures, des factures et des permis de conduire. Au total, plus de 50 photos étaient affichées. . Les photos sont téléchargées par les clients, mais les opérateurs doivent vérifier les photos pour approbation sur la page d'approbation. Les téléphones mobiles d'aujourd'hui sont très bons et les appareils photo sont tous de 7M ou 8M. L'affichage d'une image seul sur une page prend 400 Mo, et cela pour un utilisateur. À cette époque, les images étaient stockées sur l'OSS d'Alibaba et le téléchargement était extrêmement lent. À ce moment-là, le patron était mécontent : il fallait cinq minutes au personnel d'exploitation pour approuver les informations d'une personne et quatre minutes et demie pour attendre que l'image se charge. Ensuite, la pression est venue sur les responsables du front-end pour compresser les images lors de leur téléchargement. Mais quand ça atteint environ 2M3M au maximum, je ne peux pas aller plus loin. Après avoir étudié dur pendant plusieurs jours, je l'ai entendu par hasard. J'ai dit : ne serait-il pas beau d'utiliser nginx ?

Il suffit de créer un serveur de ressources statiques local et d'enregistrer les images localement. L'accès direct à l'intranet n'est pas très rapide.

Le patron est également très content, et c'est très confortable de faire comme ça, mais le problème c'est que le serveur a un disque 1T et un grand nombre d'utilisateurs il risque d'être plein dans quelques jours. Mais en quelques jours, l’État a réprimé les petites sociétés de prêt, les utilisateurs n’ont pas remboursé et l’entreprise a disparu avant que les serveurs ne soient pleins. Le processus était merveilleux, mais le résultat était encore pire, mais je ne le blâme pas cette fois. Permettez-moi de vous présenter brièvement ces deux étapes de déploiement.

2 Construire un serveur d'images

C'est simple, il suffit de le configurer, mais sachez que la compression gzip est inutile pour les ressources telles que les images et les vidéos. Si elle est activée, elle ne réduira pas la taille et occupera également le CPU. ressources. A des fins de démonstration ici, les fichiers images sont directement placés sous html.

Comment créer un serveur photo et vidéo avec Nginx2.1 Fichier de configuration

server {
    listen       8081;
    server_name  somename  alias  another.alias;
        location /image {
            root   html;
            autoindex on;
        }
}

2.2 Effet d'affichage

Adresse directe plus port plus accès au nom de fichier

139.155.71.11:8081/image/test1.jpeg

Comment créer un serveur photo et vidéo avec Nginx3 Construire un serveur vidéo

Il y a quelques points auxquels il faut faire attention

    Lors de la lecture en chrome, l'encodage vidéo doit être H264, sinon l'écran sera noir, avec uniquement du son et aucune image.
  • Besoin d'ajouter le module mp4
  • 3.1 Ajouter le module vidéo

Sauvegardez le fichier de configuration nginx

, ​​faites attention, assurez-vous de le sauvegarder, vous serez triste s'il est perdu pendant la fabrication. Exécutez la commande suivante dans le répertoire de décompression de nginx Bien entendu, s'il existe d'autres modules, vous devez également les additionner et les exécuter.

./configure --with-http_mp4_module

Puis

make
make install

mettez le fichier de configuration de sauvegarde et redémarrez nginx

3.2 Fichier de configuration

server {
    listen       8082;
    server_name  somename  alias  another.alias;

    location /video {
        root   html;
        mp4;
        mp4_buffer_size 1m;#处理mp4初始内存大小
        mp4_max_buffer_size 50m;#处理mp4最大内存大小
        limit_rate 150k; #限速
        limit_rate_after 20m;   #在20m后限速
    }
}

3.3 Affichage

Ajoutez l'adresse d'accès, le port et le nom du fichier pour accéder à la vidéo souhaitée.

139.155.71.11:8082/video/test4.mp4

L'effet vidéo est le suivant :

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer