Créer un systeme de partage d'écran en Python / PHP

L'auteur de ce sujet a trouvé une solution à son problème.
Auteur du sujet

Bonjour,

je souhaiterais créer un système de partage d'écran en Python ou PHP, mais comment m'y prendre ?

Merci d'avance !

En fait c'est l'histoire d'un type qui à fait une blague à un parisien et il a pas ris voila voila

+0 -0
Auteur du sujet

PHP après c'est faisable avec une combinaison de script bash, mais plus techniquement comment m'y prendre ? Faire un screen de la page toute les 2 ms ?

En fait c'est l'histoire d'un type qui à fait une blague à un parisien et il a pas ris voila voila

+0 -0
Auteur du sujet

@drulac: Oui je voudrais diffuser en direct sur une page web, j'ai déjà fais un système qui consistait à prendre un screen toute les 2ms, puis qui supprime le fichier ainsi de suite.

Mais le problème avec cette technique c'est que la requête AJAX depuis la page web peux arriver au moment ou je supprime la photo ce qui rend le système un peu bancale.

@nohar: Je suis sous mac.

Merci pour vos réponses.

En fait c'est l'histoire d'un type qui à fait une blague à un parisien et il a pas ris voila voila

+0 -0

Tu fait une capture d'écran -> image_758.png le client va chercher l'image numéro 458 car cela fait 60*5 secondes de décalage

le client va donc chercher des images ayant déjà été crée depuis un petit moment, pour être sur qu'il n'y ai pas de problème de lecture/écriture, et pour les supprimer, tu attend 10 secondes après leur création ;)

Bonjour coupain. Va voir mon Blog, et dit moi par mp ce que tu en pense

+0 -1
Auteur du sujet

Pour faire un partage d'écran de mon mac, et j'en ai besoin assez souvent mais je ne veux pas passer par des solutions tiers ^^

En fait c'est l'histoire d'un type qui à fait une blague à un parisien et il a pas ris voila voila

+0 -0

Cette réponse a aidé l'auteur du sujet

@Drulac : aha, ça m'a l'air sale dit comme ça :D

@Arckazur : Bah sinon, moyen de base. Tu peux envoyer un flux rtmp depuis ton pc (y a un truc de base sur mac, mais je ne connais pas le nom). Apres ton flux tu le présente comme tu veux. vlc peut le lire, si tu veux pas que le client ait besoin de soft, possible de le streamer depuis un site web (y a des sites webs pour lire les flux ou même des briques à héberger soi-même).

Pourquoi réinventer la roue ? Qu'est-ce-qui ne te convient pas dans les solutions que tu as tenté ? Pourquoi spécialement en Python/PHP ?

Édité par AmarOk

il faudrait ensuite compresser les images ou créer un algo qui calcule les différences entre 2 images et envoie uniquement ces différences (ca ressemble pas mal au RLE sur le format des données que tu auras je trouve) pour gagner en vitesse

Ma chaine YouTube ! | Seventh, un micro langage communautaire ! | Mon projet : Unamed (en pleine reprogrammation en C++11/SFML2.4) | Mon tuto sur Pygame !

+2 -0

il faudrait ensuite compresser les images ou créer un algo qui calcule les différences entre 2 images et envoie uniquement ces différences (ca ressemble pas mal au RLE sur le format des données que tu auras je trouve) pour gagner en vitesse

Folaefolc

Je n'ai jamais testé, mais faire ça 20 fois par seconde, je sais pas si n'importe quel PC peut le faire.

Comme AmarOk, je partirait sur un protocole existant. OBS permet de stream vers un serveur RTMP (Custom Streaming Server). Un tuto pour créer son serveur RTMP nginx. Voir le message de mon voisin du dessous, je ne connaissais pas gstreamer.

Édité par tleb

It goes against the grain of modern education to teach children to program. What fun is there in making plans, acquiring discipline in organizing thoughts, devoting attention to detail and learning to be self-critical? – Perlis

+0 -0
Staff

Le taux de réinventage de roue de ce thread vient de dépasser les 9000.

Alors, on en est à :

  • capturer l'écran, (réinventer scrot)
  • compresser les images en tenant comptes des différences entre frames successives, (réinventer MPEG),
  • les streamer vers un site, (réinventer gstreamer)

Ah, et faut que ça marche sous Mac OS, ce qui exclut les 3/4 des libs open source les plus populaires pour coder ça… en PHP, ou en Python ?

Sérieusement, POURQUOI ?

I was a llama before it was cool

+8 -1

c'est tout con pourtant :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import pickle
import time


def send(datas):
    socket.send(pickle.dump(datas), addr=('ip', port))


def diff(first, last):
    new = {}
    for i, (fpx, lpx) in enumerate(zip(first, last)):
        if lpx != fpx:
            new[i] = lpx


def screen():
    return lib.create_screenschot().get_pixels()


def start():
    s = screen()
    send(s)

    while True:
        d = screen()
        send(s, d)
        time.sleep(.30)
        s = d

Ma chaine YouTube ! | Seventh, un micro langage communautaire ! | Mon projet : Unamed (en pleine reprogrammation en C++11/SFML2.4) | Mon tuto sur Pygame !

+2 -1
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte