Je construis un navigateur de rendu html côté serveur qui rend html et envoie des jpegs au client mobile. J'ai besoin de comprendre comment construire un serveur qui saisit jpegs et les transmet dans une session à un client que je vais écrire dans j2meComment créer un flux de jpegs (live) en C++ ou C# ou java? RTSP?
Répondre
Il n'est pas complètement clair ce que vous voulez dire par "vivre" mais je ' Je devine que vous parlez de faire des demandes à un processus côté serveur qui rend les URL transmises et renvoie une image. L'un des moyens les plus faciles que je connaisse de le faire est avec Java et SWT. Vous pouvez utiliser le SWT browser widget et capturer le canevas puis le convertir en n'importe quel type d'image que vous voulez. Le widget du navigateur utilise firefox pour afficher les pages de façon à ce qu'elles soient plutôt bonnes.
Je voudrais écrire une servlet qui dessert un jpeg à la fois, et un midlet qui demande le prochain jpeg de temps en temps.
Eh bien, il existe de meilleures solutions que les JPEG simples. J'ai implémenté des systèmes comme celui-ci, et vous feriez mieux d'utiliser un codec vidéo tel que MPEG-2, MPEG-4 ASP, H.264, etc. que JPEG, et envoyer des mises à jour en tant que p-frames (deltas du précédent image), et s'il y a "trop gros" un changement (ou une mise à jour manquée, ou un nouveau client ajouté à un flux existant), envoyez une image i.
Même sans utiliser de codec vidéo, les différences d'envoi seront souvent préférables. Utilisez un autre mécanisme pour encoder les diffs. En ce qui concerne l'envoi de la mémoire tampon, vous pouvez utiliser un certain nombre de framebuffers pour effectuer le rendu et configurer le code framebuffer pour démarrer une temporisation lorsqu'une modification est apportée et pendant que des modifications sont effectuées, envoyer des modifications périodiques , quand le temps écoulé depuis le dernier changement (pas encore envoyé) envoie une mise à jour (probablement plus courte que la première valeur), et inclut probablement une sorte de stroboscope qui force une mise à jour qui peut être invoquée sur certaines occurrences (si vous pouvez, par exemple, obtenir une indication de chargement de page à partir du navigateur, ce que vous pouvez faire avec un peu de travail dans Firefox en changeant le chrome, etc).
[ajouté]
Pour des exemples d'autres solutions, regardez les protocoles de bureau à distance et des programmes tels que VNC, RDP (Remote Desktop de Windows), etc - qui est effectivement ce qu'ils font, encore une fois avec une compression colombophile et le suivi des dommages-régions. Pour les framebuffers, vous pouvez utiliser le code standard linux/etc framebuffer (probablement le plus simple), ou même quelque chose comme XVFB (qui vous donne plus d'informations sur quoi et pourquoi les choses changent qu'un framebuffer brut).
- 1. Bibliothèque RTSP en Python ou en C/C++?
- 2. fichier virtuel? en c/C++ ou C#
- 3. System.currentTimeMillis() de JAVA ou Environment.TickCount de C#?
- 4. Meilleure bibliothèque RTP/RTSP C++
- 5. Référencement ou déclaration en C++
- 6. Où trouver un examen rapide de Java et/ou C++?
- 7. Math Question en C ou Objectif C
- 8. créer une requête sql en C++/java?
- 9. Bibliothèque Eye-Tracking en C#, C/C++ ou Objective-C
- 10. Comment lw est-il représenté en C ou C++?
- 11. En Java, comment créer HttpsURLConnection ou HttpURLConnection basé sur l'URL?
- 12. Comment obtenir ShowState d'une fenêtre en C# ou C++?
- 13. Comment convertir un flux en octet [] en C#?
- 14. L'étiquette d'une partition de disque dur est-elle en majuscules ou en minuscules? (C: \ ou c: \)
- 15. Comment créer un contrôle SysHeader32 en C#?
- 16. Bibliothèque RTSP pour Java
- 17. Fonctions immuables en cache ou précalculées en C#/C++
- 18. Comment puis-je créer un Delphi TSpeedButton ou SpeedButton en C# 2.0?
- 19. Idées de projets en Java ou opensource
- 20. Appel d'un F # Fonction en VB (ou C# ou autre)
- 21. C# Dénuder/convertir un ou plusieurs caractères
- 22. sur chenilles en C# ou VB.net
- 23. Comment accéder à un flux audio en utilisant DirectShow.NET C#
- 24. Aide TCP ou UDP avec un serveur/client en C#?
- 25. Comment créer un sous-domaine sur un serveur IIS à l'aide d'ASP.Net (ou C#)?
- 26. Deitel Live Lessons C# 2008
- 27. Modèle C/C++ à USE_HEAP ou USE_STACK
- 28. Comment créer un organigramme? Javascript ou Flash?
- 29. Bibliothèque client/serveur Java RTSP
- 30. Dois-je créer Linux Shell Script ou un programme Java?
Ne serait-ce pas trop inefficace? C'est pourquoi j'allais avec RTSP, et une certaine compression jpeg peut-être – uclajatt
Bien RTSP permettrait de réduire la charge sur le serveur, mais http est le seul protocole qui est pris en charge par tous les téléphones mobiles j2me. –