Partage
  • Partager sur Facebook
  • Partager sur Twitter

impossible de naviguer dans une vidéo sur serveur

    6 novembre 2023 à 20:12:52

    Je ne sais pas trop ou posé mon problème , mais je suppose que cela est du à python alors je le fait ici .

    J’ai un serveur python qui fait tourner une page web html/js/css , sur laquel il y a des vidéos qui sont stocké en locale dans le même répertoire que celui où le serveur a été lancer , et pour une raison étrange on ne peut pas naviguer dans la vidéo , on peut les mettre en pauses , changer le volume , la vitesse … mais impossible de naviguer dedans (elle se lit bien mais la barre de lecture revient toujours là où elle était quand on la manipule ) , je suppose fortement qu’il s’agit d’un problème venant de python étant donné que j’ai testé avec la même page en local (sans passer par python donc) et tout marche très bien. De plus lorsque je charge la vidéo , le serveur se bloque et ne répond plus. Il faut alors le redémarrer , je précise que cela ne se produit que si la vidéo est hébergée par le serveur python , les vidéos qui proviennent de d’autre serveurs ne posent aucun problème.

    Le serveur est lancer dans un fichier .py lui même exécuter par un fichier .bat

    Le .bat ne contient que de quoi exécuter le fichier .py , j'ai fait de cette façon pour que le shell reste ouvert et me donne des info sur le fonctionnement de serveur  :

    python3 start_serv.py
    pause

    Et le .py : 

    import http.server
    import socketserver
    
    # Définir le numéro de port que vous souhaitez utiliser
    port = 34000
    
    # Utilisez "." pour le répertoire actuel ou spécifiez un chemin
    directory = "."
    
    # Créer un gestionnaire de serveur
    handler = http.server.SimpleHTTPRequestHandler
    
    # Créer un serveur en utilisant le gestionnaire et le port spécifiés
    with socketserver.TCPServer(("0.0.0.0", port), handler) as httpd:
        print(f"Serveur démarré sur le port {port}")
    
        # Laisser le serveur en cours d'exécution jusqu'à ce qu'il soit arrété
        httpd.serve_forever()

    Etant donnée que je connais pas grand chose à python j'ai fait faire ce court programme par chatGPT.

    Et je ne pense pas que l'erreur ce trouve ici mais voici la courte page html que j'ai utiliser pour tester le problème (ma page de base est très longue et est principalement codée en js)

    <html style="height: 100%">
    	<body style="width:98vw ; margin:auto ; align:center" bgcolor="#002C66">
    	
    		<video style="max-width:50vw ; max-height:50vh" controls="" src="video/vid_test.mp4" preload="auto"></video>
    		
    		</body>
    </html>

    Pouvait vous m'aider à résoudre mon problème ? 

    Merci d'avance à ceux qui pourront m'aider.


    -
    Edité par lilianlil 6 novembre 2023 à 20:14:47

    • Partager sur Facebook
    • Partager sur Twitter
      7 novembre 2023 à 9:51:11

      Il n'a pas beaucoup de code python qui paraît gérer la video: tout semble être dans le tag HTML video. Et s'il n'y a pas de code pour faire ce qui est attendu côté video, pourquoi voulez vous que çà marche? En plus, les actions côté vidéo sont déclenchées côté navigateur Web et seront plus facilement prise en charge via du javascript que via du python côté serveur (qui n'a aucune idée de ce qu'il se passe côté client).

      • Partager sur Facebook
      • Partager sur Twitter
        7 novembre 2023 à 10:27:12

        pour les problème de navigation je ne sais pas de quoi cela peux venir mais en revanche des qu'une vidéo est charger depuis le serveur ce dernier plante , est ce que python a une incompatibilité avec certain format vidéo ? ou les vidéo tout cours ?

        edit : erreur de ma part , quand je dis que le serveur "plante" , ce n'est pas tout à fait un plantage , le serveur se bloque et n'accepte plus de nouvelle requête de la part du navigateur tant que la page avec la vidéo est ouverte , et il faut parfois redémarrer le serveur car il ne répond plus définitivement

        -
        Edité par lilianlil 7 novembre 2023 à 10:36:53

        • Partager sur Facebook
        • Partager sur Twitter
          7 novembre 2023 à 10:36:49

          Il ne devrait pas planter (terminer avec un message d'erreur) juste être bloqué... Mais il n'est peut être pas judicieux d'utiliser le SimpleHTTPRequestHandler pour çà.

          -
          Edité par mps 7 novembre 2023 à 10:37:12

          • Partager sur Facebook
          • Partager sur Twitter
            7 novembre 2023 à 10:40:33

            en effet je me suis mal exprimer , le serveur se bloque mais ne plante pas vraiment , je ne connais pas vraiment python , quel problème peux causer SimpleHTTPRequestHandler ? il a t-il des alternative ?
            • Partager sur Facebook
            • Partager sur Twitter
              7 novembre 2023 à 10:47:46

              Avec d'utiliser une bibliothèque, on essaie de comprendre comment elle fonctionne et pourquoi elle va pouvoir répondre au besoin. Et si dès  le départ vous ne savez pas programmer avec Python, ChatGPT pourra choisir à votre place mais vous serez incapable de vous dépatouiller avec.

              Je n'ai pas de solution: pour faire avec, il faut avoir pris le temps d'apprendre... et si vous n 'avez même pas commencé un apprentissage, assumez.

              • Partager sur Facebook
              • Partager sur Twitter
                7 novembre 2023 à 11:09:09

                après une légère recherche sur le module HTTPRequestHandler il semble qu'il n'est pas conçu pour géré les vidéo et les requête simultané , je vais peux être passer en java si je trouve un moyen simple de faire la même chose.

                merci quand même.

                -
                Edité par lilianlil 7 novembre 2023 à 11:09:34

                • Partager sur Facebook
                • Partager sur Twitter
                  7 novembre 2023 à 11:18:35

                  lilianlil a écrit:

                  il semble qu'il n'est pas conçu pour géré les vidéo et les requête simultané

                  Vérifier que les outils qu'on se propose d'utiliser répondent au besoin est un préalable. Puis on teste que çà fait bien ce qu'on veut (et sa capacité à le metrte en oeuvre) avant d'envisager de tamponner le truc "bon pour le service". Et c'est une démarche qui n'est pas propre à la programmation.

                  -
                  Edité par mps 7 novembre 2023 à 11:19:20

                  • Partager sur Facebook
                  • Partager sur Twitter
                    7 novembre 2023 à 11:38:39

                    ce serveur n'est pas public , il s'agit d'un petit serveur personnel qui simplifie l'accès à des images/vidéos , j'ai essayé de faire simple avec python , à la base j'utilisais uniquement la commande 
                    python3 -m http.server 8000

                    dans le shell.

                    je me passerais bien d'un serveur si je le pouvais mais mes page html utilise des requêtes ajax qui nécessite un serveur.

                    Apres un rapide coup d'œil à java cela me semble bien trop complexe.

                    il y a trop de langages pour que je puisse tous les apprendre , je vais chercher du coté des logiciels tout fait je pense.

                    merci tout de même.

                    -
                    Edité par lilianlil 7 novembre 2023 à 11:40:26

                    • Partager sur Facebook
                    • Partager sur Twitter
                      7 novembre 2023 à 11:59:37

                      Je pense que le java dont tu parles est plutôt du javascript (ce sont 2 langages assez différents).
                      • Partager sur Facebook
                      • Partager sur Twitter
                        7 novembre 2023 à 12:20:40

                        lilianlil a écrit:

                        je me passerais bien d'un serveur si je le pouvais mais mes page html utilise des requêtes ajax qui nécessite un serveur.

                        Apres un rapide coup d'œil à java cela me semble bien trop complexe.

                        AJAX est l'acronyme de Asynchronous JavaScript + XML. Cela n'a rien à voir avec Java (le langage). De toutes façons, ce que vous cherchez à faire est suffisamment compliqué pour mériter un apprentissage plus ou moins long, ne serait-ce que pour avoir une idée de ce que font les technologies à utiliser et de comment les mettre en œuvre (programmer ou maîtriser, c'est encore autre chose).

                        Pour ce qui est d'ouvrir une vidéo (fichier local) depuis un browser (html5 pour avoir la balise video), pas besoin d'un serveur comme l'illustre cet article.

                        • Partager sur Facebook
                        • Partager sur Twitter
                          7 novembre 2023 à 14:39:16

                          je me suis probablement mal exprimé , quand je parle des requêtes ajax , je veux dire que j'en utilise sur ma page html/css/js , donc oui il y a du java script dans la page , mais la je ne parle pas de ça , je parle du serveur qui me permettra de transmettre au navigateur internet la page , les vidéos et tout ce qui est nécessaire. Pour le moment il est en python (j'ai donné le code tout en haut du sujet) , hors visiblement python ne supporte pas les vidéos (tout le reste fonctionne bien) , et je ne peux pas me passer d'un serveur (ou l'ouvrir en local) car le navigateur bloque les requêtes ajax qui tentent d'accéder à des fichiers (seul un serveur peut y donner une réponse)

                          -
                          Edité par lilianlil 7 novembre 2023 à 14:39:34

                          • Partager sur Facebook
                          • Partager sur Twitter
                            7 novembre 2023 à 15:44:56

                            lilianlil a écrit:

                            et je ne peux pas me passer d'un serveur (ou l'ouvrir en local) car le navigateur bloque les requêtes ajax qui tentent d'accéder à des fichiers (seul un serveur peut y donner une réponse)

                            C'est votre choix de techno qui vous coince: les fichiers étant locaux, rien ne vous empêche d'écrire une application tout en python avec une interface utilisateur adaptée à vos besoins. Vous préférez faire ça dans un navigateur Web qui impose la connaissance de différents langages pour coder le côté client, le côté serveur,... tout en ne voulant pas passer du temps pour apprendre. Il y a des paris plus réalistes.



                            • Partager sur Facebook
                            • Partager sur Twitter

                            impossible de naviguer dans une vidéo sur serveur

                            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                            • Editeur
                            • Markdown