Serveur VOD

Serveur VOD - C++ - Programmation

Marsh Posté le 30-01-2008 à 15:54:26    

Bonjour à tous.
Alors voilà je me lance dans un nouveau projet.
Je voudrais réaliser un serveur VOD pour VLC.
Pour commencer, bien faire les échanges RTSP, puis envoyer la vidéo (format flv par exemple) au client VLC.
 
Alors voici ce que j'ai commencé à faire :
De VLC je lance la commande rtsp://IP_du_serveur:port_serveur/nom_video.flv
 
Le serveur recoit la commande RTSP OPTIONS suivante :
OPTIONS rtsp://IP_du_serveur:port_serveur/nom_video.flv RTSP/1.0
CSeq: 1
User-Agent: VLC media player (LIVE555 Streaming Media v2006.03.16)
 
Dans mon code, j'écris la réponse que je renvoie à VLC, soit :
RTSP/1.0 200 OK
Cseq:1
Server:POSTE35-12                                                                       <---- d'ailleur ici je suis sencé mettre le nom de mon PC ??
Public:DESCRIBE, SETUP, TEARDOWN, PLAY
 
VLC reçoit bien la réponse, et me renvoie ceci :
DESCRIBE rtsp://IP_du_serveur:port_serveur/nom_video.flv RTSP/1.0
CSeq: 2
Accept: application/sdp
User-Agent: VLC media player (LIVE555 Streaming Media v2006.03.16)
 
Bon ! Jusque là ça allait... mais que dois-je faire maintenant ?
Quelle réponse faut-il donner au client ?
Je sais qu'il faut faire un descriptif de la session (m=audio... , taille de la vidéo, nombre de flux, etc...) mais comment réaliser cela ?
 
J'utilise Visual 2005 soux XP.
Merci a tous.

Reply

Marsh Posté le 30-01-2008 à 15:54:26   

Reply

Marsh Posté le 30-01-2008 à 16:23:25    

peut etre que MediaInfo est une solution a parcourir dans ton cas

Reply

Marsh Posté le 30-01-2008 à 18:16:29    

merci.
En fait j'abandonne flv je ne trouve rien dessus, je fais prendre mkv.
Merci pour la réponse. Mais c'est un logiciel. Je voudrais avoir des bibliothèques en C pour extraire les données d'un mkv de manière générique donc.
De plus, quelqu'un sait-il comment utiliser live555 ? (le serveur utilisé dans VLC).
Je lance live555MediaServer.exe, ça me marque  
Play streams from this server using the url :
rtsp://MonIP/filename
 
C'est ce que je fais dans VLC,n avec un fichier wav ou mpeg mais ça ne marche pas. Ou dois-je placer le fichier ? Dans le même répertoire que live555MediaServer.exe?
JE suis perdu :(

Reply

Marsh Posté le 31-01-2008 à 11:14:10    

Euh MediaInfo ce n'est pas un logiciel ...
 
Il s'agit d'une bibliothèque qui te permet de recuperer tout un tas d'information sur un fichier multimédia.
 
C'est au passage très très utilisé dans tout un tas de logiciel qui traite des flux video et son  
 
http://mediainfo.sourceforge.net/fr/Support/SDK

Reply

Marsh Posté le 31-01-2008 à 15:05:09    

Très bien merci.
Je vais donc me lancer sur cette piste.
Je vois qu'il y a plusieurs codes sources différents.
Lequel dois-je prendre ?
  MediaInfo_0.7.5.7_Lib_Source.7z  
  MediaInfo_0.7.5.7_Source.7z  
etc....
Peut-être y'a-t-il un .lib compilé de disponible directement ?
Merci

Reply

Marsh Posté le 31-01-2008 à 15:10:14    

je croit qu'il y a un .lib déja compilé; Personnelement je l'ai utilisé directement en .dll en C#  
 

Reply

Marsh Posté le 31-01-2008 à 15:22:41    

Ah oui ? Tu trouves où cette dll ? Moi c'est en C/C++ cela change bcp de choses ?

Reply

Marsh Posté le 31-01-2008 à 15:24:18    

Ah je pense l'avoir trouvé...
J'ai un truc avec MediaInfo.dll et MediaInfo_InfoTip.dll c'est cela ?

Reply

Marsh Posté le 31-01-2008 à 15:52:31    

Comment te serts-tu de la dll maintenant ?
Tu l'a met dans le même répertoire que le .exe j'imagine, et après ?
(Je n'ai jamais utilisé de .dll, tjrs des .libs)

Reply

Marsh Posté le 31-01-2008 à 17:20:23    

Alors la en .NET j'aurai pu t'aider mais en C/C++ je n'en sais strictement rien ^^  
 

Reply

Marsh Posté le 31-01-2008 à 17:20:23   

Reply

Marsh Posté le 31-01-2008 à 21:03:40    

Si tu utilises direct l'api win32, c'est LoadLibrary + GetProcAddress + FreeLibrary.
Si tu utilises un toolkit particulier... lequel? :)

Reply

Marsh Posté le 01-02-2008 à 11:50:35    

Bon j'arrive a utiliser la dll pas de soucis  
(suffit juste de la mettre dans le répertoir de l'exe, et d'utiliser le .h fourni par le site)
Par contre je voudrais donc construire la réponse à la commande describe, donc avoir les infos du fichier.
Je fais donc :
MediaInfo MI;       MI.Open(monFichierVideo);  
 
J'ai vu qu'il y avait une commande Get() qui permet d'avoir toutes les infos du flux... mais que passer en paramètre ?? Y§ a t il une doc avec les macros,etc... pour pouvoir se servir de la dll ?
Merci ça avance doucement mais surement...

Reply

Marsh Posté le 06-02-2008 à 11:35:37    

Bon... je me suis débrouiller tout seul...
J'arrive a faire mes échange RTSP.
J'arrive au PLAY.
Comment paquétiser mon fichier ? Avez-vous des doc concernant le streaming audio/vidéo ?
Merci

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed