0
votes

Streaming en direct des images dans Django pour fronter HTML

J'ai beaucoup d'images dans mon dossier multimédia du projet, qui est enregistré à l'aide d'une caméra SDK (AlliedVision) .J'ai besoin de diffuser ces images à la page HTML une à une heure chaque fois que la caméra l'enregistre dans le dossier multimédia. Il est possible de diffuser des images à Django?


12 commentaires

Vous souhaitez simplement afficher une image dans l'un de vos modèles? Et si un nouveau est ajouté, changez l'actuel pour le nouveau?


Oui, je dois faire la même chose ... Changez l'actuel pour le nouveau @edwincruz


Les images téléchargées sont-elles directement téléchargées directement ou en utilisant Django Server?


Les images doivent télécharger à l'aide de Django Server .. @ Pankajsharma


WebSockets peut vous aider à créer une connexion WS avec JS sur le côté client et sur l'utilisation du côté serveur post_save pour déclencher un événement d'envoi sur WS (URL de cette image).


Cela peut vous aider - Stackoverflow .com / questions / 46614541 / ...


Canaux Django pour l'utilisation de standards avec Django - canaux.readthedocs.io/en/latest


Est-il possible de le faire avec des auditeurs JavaScript? @Pankajshama


@Sharon pourriez-vous me clarifier le scénario? Vous souhaitez afficher la dernière image téléchargée par n'importe quel client ou par ce même client? Si un autre client télécharge une image, les écouteurs JS ne peuvent pas vous aider dans ce cas autrement, oui. Faites-moi savoir scénario je vais vous aider.


Mon dossier Media du projet Django présente de nombreuses images qui sont enregistrées à l'aide de la caméra Allied Vision. Le scénario est chaque fois que j'appuie sur la caméra sur HTML à l'aide de SubProcess Cette caméra Vision alliée sera activée et enregistrera les images dans le dossier multimédia. Maintenant, mon client veut diffuser une image par une image dans le même HTML chaque fois que la caméra enregistre l'image @pankajsharma


@Sharon Je voulais demander si je télécharge une image d'un autre client, une nouvelle image doit-elle être reflétée dans les deux clients ou uniquement sur ce client à partir duquel il est téléchargé? Et comment enregistrez-vous des images de HTML?


Je peux expliquer, scénario caméra sur le bouton Cliquez sur HTML >>> Django View Call Via Ajax >>> Subprocess.Popen pour exécuter le fichier d'exécution de la caméra SDK >>> Caméra Prenez les images et enregistrez-la Inside Media Dossier Maintenant, je veux que ces images à l'intérieur du dossier multimédia devraient diffuser en une page HTML sur un @pankajshama


3 Réponses :


-2
votes

Vous pouvez aborder le problème avec les étapes suivantes:

  1. Regardez le dossier multimédia pour de nouvelles images à l'aide d'une bibliothèque comme Watchdog https://pypi.org/project/ WatchDog /
  2. Invoque une commande de gestion Django lorsqu'il y a de nouvelles images et avertit des clients à mettre à jour. Utilisation des canaux Django Vous pouvez avoir les clients abonnez-vous à une chaîne qui peut être notifiée par logique dans la commande de gestion.

    Pour la mise en œuvre des canaux Reportez-vous aux canaux Docs https://channel.readthedocs.io /en/latest/introduction.html


1 commentaires

S'il vous plaît soyez plus précis



-1
votes

Je vous suggérerais de faire un script Ajax qui rend les informations pour vous. Dans vos vues, vous créez une vue qui renvoie l'URL de la dernière image de la base de données et utilisez AJAX pour simplement faire une demande d'obtention de cette vue et s'il est différent de ce qui est déjà là, il changera la source.


1 commentaires

Veuillez fournir une documentation ou des exemples plus spécifiques



0
votes

Lorsque vous enregistrez l'image à partir d'Ajax Retour, toutes les images URL dans la liste et l'ONSUCCESCE Créez un élément HTML dynamique IE code>.

$.ajax({
        url: url,
        type: "POST",
        data: {
            image: image_data
        },
        success: function(response) {
          let images = response.images;
          $.each(images,function(index,url){
             $(".img-container").append("<img src="+url+">");
         });
        }
    })


3 commentaires

Merci pour la réponse. J'ai essayé cela dans mon projet. Mais toutes les images affichent près de près. Ce n'est pas ce que j'ai demandé, j'ai besoin d'une image à la fois et il devrait changer de cadre par image dans le même


@Sharon Vous avez eu l'URL des images, maintenant le gérer comme vous le souhaitez, peut-être que vous pouvez utiliser n'importe quelle bibliothèque de carrousel comme - w3schools.com/howto/howto_js_slideshow.asp ou aperced ID à IMG attr et modifier l'URL après un intervalle de temps, c'est la question de JavaScript et comment gérez-vous les images, j'ai répondit comment vous pouvez rendant des images de Django.


Merci pour les conseils. Ça marche maintenant..nà le défi consiste à traiter la taille de l'image, que je puisse faire avec n'importe quelle technique de compression.