SlideShare uma empresa Scribd logo
1 de 22
NEUROS - tous droits réservés
Neuros – 20 rue de Mogador 75009 Paris - Tél : 01 47 03 43 65nAcademy Le 04 juin 2014 Neuros -
Les Protocoles Temps Réels
Ezzaouia Mohamed
nAcademy Le 04 juin 2014 Neuros -
• DEFINITIONS:
 RTP/RTCP pour le transport temps réel.
 RTSP pour la gestion d’une session streaming.
 SIP pour Session Initiation Protocol.
• APPLICATIONS:
• EXEMPLE : CODE
Plan
2
nAcademy Le 04 juin 2014 Neuros -
Qu’est ce que le transport de données en temps réel ?
•Satisfaire des contraintes de Temps.
DEFINITION : Le transport de données
3
nAcademy Le 04 juin 2014 Neuros -
• Quels sont les protocoles temps réels existant ?
→RTP : Real-Time Transport Protocol [ RFC 1889 ]
→RTCP : RTP Control Protocol [ RFC 1889 ]
→RTSP : Real-Time Streaming Protocol [ RFC 2326 ]
→SDP : Session Description Protocol [ RFC 2327 ]
→SIP: Session Initiation Protocol [ RFC 3265 ]
DEFINITION : Protocoles temps réels
4
nAcademy Le 04 juin 2014 Neuros -
• Protocoles au dessus de UDP adaptés au besoin temps réel
→RTP : pour l’acheminement des données.
→RTCP : pour échanger des messages de contrôles.
DEFINITION : RTP
5
RTP
UDP
nAcademy Le 04 juin 2014 Neuros -
• RTSP : REAL TIME STREAMING PROTOCOL
→Ciblé vers le multimédia.
→Fonctionnalités fournies au client :
 url pour rechercher un média sur le serveur
 Commande pour avancer, rembobiner, pause, play…
→Les requêtes de contrôle RTSP utilisent TCP.
→S’appuie sur RTP/RTCP.
DEFINITION : RTSP
6
RTSP
TCP
nAcademy Le 04 juin 2014 Neuros -
Méthodologie
7
nAcademy Le 04 juin 2014 Neuros -
→SETUP : Le client demande l’allocation des ressources pour le
flux demandé
→PLAY : Le client demande la transmission
→PAUSE : Le client demande au serveur d’arrêter
momentanément le flux
→TEARDOWN : Le client demande au serveur de libérer les
ressources associées au flux
Déroulement de la méthodologie
8
nAcademy Le 04 juin 2014 Neuros -
• SIP : SESSION INITIATION PROTOCOL
 les télécommunications multimédia.
 la téléphonie par internet (La VoIP).
DEFINITION : SIP
9
nAcademy Le 04 juin 2014 Neuros -
APPLICATIONS : Média
10
nAcademy Le 04 juin 2014 Neuros -
APPLICATIONS : Réalité augmentée
11
nAcademy Le 04 juin 2014 Neuros -
APPLICATIONS : VoIP
12
nAcademy Le 04 juin 2014 Neuros -
APPLICATIONS : Visio
13
nAcademy Le 04 juin 2014 Neuros -
• La librairie rtsp.c :
/* send RTSP SETUP request */
static void rtsp_setup(CURL *curl, const char *uri, const char
*transport)
{
CURLcode res = CURLE_OK; printf("nRTSP: SETUP %sn", uri);
printf(" TRANSPORT %sn", transport);
my_curl_easy_setopt(curl, CURLOPT_RTSP_STREAM_URI, uri);
my_curl_easy_setopt(curl, CURLOPT_RTSP_TRANSPORT, transport);
my_curl_easy_setopt(curl, CURLOPT_RTSP_REQUEST,
(long)CURL_RTSPREQ_SETUP); my_curl_easy_perform(curl);
}
EXEMPLE : CODE : (1/7)
14
nAcademy Le 04 juin 2014 Neuros -
• /* send RTSP PLAY request */
static void rtsp_play(CURL *curl, const char *uri, const char
*range)
{
CURLcode res = CURLE_OK; printf("nRTSP: PLAY %sn", uri);
my_curl_easy_setopt(curl, CURLOPT_RTSP_STREAM_URI, uri);
my_curl_easy_setopt(curl, CURLOPT_RANGE, range);
my_curl_easy_setopt(curl, CURLOPT_RTSP_REQUEST,
(long)CURL_RTSPREQ_PLAY); my_curl_easy_perform(curl);
}
EXEMPLE : CODE : (2/7)
15
nAcademy Le 04 juin 2014 Neuros -
• /* send RTSP TEARDOWN request */
static void rtsp_teardown(CURL *curl, const char *uri)
{
CURLcode res = CURLE_OK;
printf("nRTSP: TEARDOWN %sn", uri);
my_curl_easy_setopt(curl, CURLOPT_RTSP_REQUEST,
(long)CURL_RTSPREQ_TEARDOWN);
my_curl_easy_perform(curl);
}
EXEMPLE : CODE : (3/7)
16
nAcademy Le 04 juin 2014 Neuros -
• /* main app */
int main(int argc, char * const argv[])
{ /* quelques traitement…*/
…
const char *url = argv[1];
char *uri = malloc(strlen(url) + 32);
…
/* encore quelques autre traitement …*/
…
/* request session description and write response to sdp file */
rtsp_describe(curl, uri, sdp_filename);
/* get media control attribute from sdp file */
get_media_control_attribute(sdp_filename, control);
EXEMPLE : CODE : (4/7)
17
nAcademy Le 04 juin 2014 Neuros -
/* setup media stream */
sprintf(uri, "%s/%s", url, control);
rtsp_setup(curl, uri, transport);
/* start playing media stream */
sprintf(uri, "%s/", url); rtsp_play(curl, uri, range);
printf("Playing video, press any key to stop ...");
_getch(); printf("n");
/* teardown session */
rtsp_teardown(curl, uri);
…
}
EXEMPLE : CODE : (5/7)
18
nAcademy Le 04 juin 2014 Neuros -
Streamer un fichier flv avec PHP :
<?php
$seekat = $_GET["position"]; // Position de début de lecture
$file = $_GET["file"]; // Fichier FLV à streamer
//Effacement du cache
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
EXEMPLE : CODE : (6/7)
19
nAcademy Le 04 juin 2014 Neuros -
// Ajout des bon headers
header("Content-Type: video/x-flv");
if($seekat != 0) {
print("FLV");
print(pack('C', 1 ));
print(pack('C', 1 ));
print(pack('N', 9 ));
print(pack('N', 9 ));
}
$fh = fopen($file, "rb");
fseek($fh, $seekat);
while (!feof($fh)) {
print (fread($fh, 16384));
}
fclose($fh);
?>
EXEMPLE : CODE : (7/7)
20
nAcademy Le 04 juin 2014 Neuros -
• http://fr.wikipedia.org/wiki/Real-time_Transport_Protocol
• http://fr.wikipedia.org/wiki/Real_Time_Streaming_Protocol
• http://fr.wikipedia.org/wiki/Session_Initiation_Protocol
• http://level7systems.co.uk/en/blog/Click+to+Call+with+PHP-SIP
• http://www.rap.prd.fr/pdf/technologie_streaming.pdf
• http://www.c-p-f.org/php-Faire_du_streaming_en_PHP-a28.html
• https://developers.google.com/youtube/v3/live/code_samples/php
• http://www.jeuweb.org/showthread.php?tid=5057
• http://curl.haxx.se/libcurl/c/rtsp.html
• http://net7mma.codeplex.com/
SOURCES :
21
nAcademy Le 04 juin 2014 Neuros -
Merci pour votre attention.
22

Mais conteúdo relacionado

Destaque

Developper son business avec linkedin
Developper son business avec linkedinDevelopper son business avec linkedin
Developper son business avec linkedinCyril Bladier
 
Formation en Business Plan , de PROSPERER
Formation en Business Plan , de PROSPERERFormation en Business Plan , de PROSPERER
Formation en Business Plan , de PROSPERERandryhr
 
Tutoriel sur le streaming vidéo sur HTTP et sur MPEG-DASH
Tutoriel sur le streaming vidéo sur HTTP et sur MPEG-DASHTutoriel sur le streaming vidéo sur HTTP et sur MPEG-DASH
Tutoriel sur le streaming vidéo sur HTTP et sur MPEG-DASHCyril Concolato
 
Entertainment et digital : Le marché de la télévision à l'ère du numérique
Entertainment et digital : Le marché de la télévision à l'ère du numériqueEntertainment et digital : Le marché de la télévision à l'ère du numérique
Entertainment et digital : Le marché de la télévision à l'ère du numériqueOthmanio
 
Formation stratégie web marketing Espaces Numériques Entreprises mars 2014
Formation stratégie web marketing Espaces Numériques Entreprises mars 2014Formation stratégie web marketing Espaces Numériques Entreprises mars 2014
Formation stratégie web marketing Espaces Numériques Entreprises mars 2014Gilles Gilles
 
Construire son business plan
Construire son business planConstruire son business plan
Construire son business planJacinthe Busson
 
Petit Livre Bleu de la Vente - 20 citations pour motiver, convaincre et vendre
Petit Livre Bleu de la Vente - 20 citations pour motiver, convaincre et vendrePetit Livre Bleu de la Vente - 20 citations pour motiver, convaincre et vendre
Petit Livre Bleu de la Vente - 20 citations pour motiver, convaincre et vendreSalezeo
 
Business plan création d'entreprise : Le KIT !
Business plan création d'entreprise : Le KIT !Business plan création d'entreprise : Le KIT !
Business plan création d'entreprise : Le KIT !Antonella VILAND
 
Mémoire Professionnel - En quoi l’utilisation du marketing digital peut perm...
Mémoire Professionnel  - En quoi l’utilisation du marketing digital peut perm...Mémoire Professionnel  - En quoi l’utilisation du marketing digital peut perm...
Mémoire Professionnel - En quoi l’utilisation du marketing digital peut perm...Thibault PAILLIER
 
UX, e-Commerce et Web Marketing (+ Chiffres e-Commerce et M-Commerce 2014)
UX, e-Commerce et Web Marketing (+ Chiffres e-Commerce et M-Commerce 2014)UX, e-Commerce et Web Marketing (+ Chiffres e-Commerce et M-Commerce 2014)
UX, e-Commerce et Web Marketing (+ Chiffres e-Commerce et M-Commerce 2014)Frederic_Veidig
 
Competitic vendre sur internet avec facebook - numerique en entreprise
Competitic   vendre sur internet avec facebook - numerique en entrepriseCompetitic   vendre sur internet avec facebook - numerique en entreprise
Competitic vendre sur internet avec facebook - numerique en entrepriseCOMPETITIC
 
Les Métiers du Web Marketing Communication @ Maison de l'Emploi Pays Basque o...
Les Métiers du Web Marketing Communication @ Maison de l'Emploi Pays Basque o...Les Métiers du Web Marketing Communication @ Maison de l'Emploi Pays Basque o...
Les Métiers du Web Marketing Communication @ Maison de l'Emploi Pays Basque o...Freelance
 
Introduction aux stratégies Marketing Web 2.0
Introduction aux stratégies Marketing Web 2.0Introduction aux stratégies Marketing Web 2.0
Introduction aux stratégies Marketing Web 2.0Mehdi Jakani
 
Business plan 1.3 fsjes_ain sebaa_rhalimi-2012
Business plan 1.3 fsjes_ain sebaa_rhalimi-2012Business plan 1.3 fsjes_ain sebaa_rhalimi-2012
Business plan 1.3 fsjes_ain sebaa_rhalimi-2012Abdessamad Rhalimi
 
Study: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving CarsStudy: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving CarsLinkedIn
 
UX, ethnography and possibilities: for Libraries, Museums and Archives
UX, ethnography and possibilities: for Libraries, Museums and ArchivesUX, ethnography and possibilities: for Libraries, Museums and Archives
UX, ethnography and possibilities: for Libraries, Museums and ArchivesNed Potter
 
Hype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerHype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerLuminary Labs
 
Designing Teams for Emerging Challenges
Designing Teams for Emerging ChallengesDesigning Teams for Emerging Challenges
Designing Teams for Emerging ChallengesAaron Irizarry
 
Visual Design with Data
Visual Design with DataVisual Design with Data
Visual Design with DataSeth Familian
 

Destaque (20)

Developper son business avec linkedin
Developper son business avec linkedinDevelopper son business avec linkedin
Developper son business avec linkedin
 
Formation en Business Plan , de PROSPERER
Formation en Business Plan , de PROSPERERFormation en Business Plan , de PROSPERER
Formation en Business Plan , de PROSPERER
 
Tutoriel sur le streaming vidéo sur HTTP et sur MPEG-DASH
Tutoriel sur le streaming vidéo sur HTTP et sur MPEG-DASHTutoriel sur le streaming vidéo sur HTTP et sur MPEG-DASH
Tutoriel sur le streaming vidéo sur HTTP et sur MPEG-DASH
 
Entertainment et digital : Le marché de la télévision à l'ère du numérique
Entertainment et digital : Le marché de la télévision à l'ère du numériqueEntertainment et digital : Le marché de la télévision à l'ère du numérique
Entertainment et digital : Le marché de la télévision à l'ère du numérique
 
Formation stratégie web marketing Espaces Numériques Entreprises mars 2014
Formation stratégie web marketing Espaces Numériques Entreprises mars 2014Formation stratégie web marketing Espaces Numériques Entreprises mars 2014
Formation stratégie web marketing Espaces Numériques Entreprises mars 2014
 
Construire son business plan
Construire son business planConstruire son business plan
Construire son business plan
 
Petit Livre Bleu de la Vente - 20 citations pour motiver, convaincre et vendre
Petit Livre Bleu de la Vente - 20 citations pour motiver, convaincre et vendrePetit Livre Bleu de la Vente - 20 citations pour motiver, convaincre et vendre
Petit Livre Bleu de la Vente - 20 citations pour motiver, convaincre et vendre
 
Business plan création d'entreprise : Le KIT !
Business plan création d'entreprise : Le KIT !Business plan création d'entreprise : Le KIT !
Business plan création d'entreprise : Le KIT !
 
Mémoire Professionnel - En quoi l’utilisation du marketing digital peut perm...
Mémoire Professionnel  - En quoi l’utilisation du marketing digital peut perm...Mémoire Professionnel  - En quoi l’utilisation du marketing digital peut perm...
Mémoire Professionnel - En quoi l’utilisation du marketing digital peut perm...
 
Comment vendre un objet connecté en B to C
Comment vendre un objet connecté en B to CComment vendre un objet connecté en B to C
Comment vendre un objet connecté en B to C
 
UX, e-Commerce et Web Marketing (+ Chiffres e-Commerce et M-Commerce 2014)
UX, e-Commerce et Web Marketing (+ Chiffres e-Commerce et M-Commerce 2014)UX, e-Commerce et Web Marketing (+ Chiffres e-Commerce et M-Commerce 2014)
UX, e-Commerce et Web Marketing (+ Chiffres e-Commerce et M-Commerce 2014)
 
Competitic vendre sur internet avec facebook - numerique en entreprise
Competitic   vendre sur internet avec facebook - numerique en entrepriseCompetitic   vendre sur internet avec facebook - numerique en entreprise
Competitic vendre sur internet avec facebook - numerique en entreprise
 
Les Métiers du Web Marketing Communication @ Maison de l'Emploi Pays Basque o...
Les Métiers du Web Marketing Communication @ Maison de l'Emploi Pays Basque o...Les Métiers du Web Marketing Communication @ Maison de l'Emploi Pays Basque o...
Les Métiers du Web Marketing Communication @ Maison de l'Emploi Pays Basque o...
 
Introduction aux stratégies Marketing Web 2.0
Introduction aux stratégies Marketing Web 2.0Introduction aux stratégies Marketing Web 2.0
Introduction aux stratégies Marketing Web 2.0
 
Business plan 1.3 fsjes_ain sebaa_rhalimi-2012
Business plan 1.3 fsjes_ain sebaa_rhalimi-2012Business plan 1.3 fsjes_ain sebaa_rhalimi-2012
Business plan 1.3 fsjes_ain sebaa_rhalimi-2012
 
Study: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving CarsStudy: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving Cars
 
UX, ethnography and possibilities: for Libraries, Museums and Archives
UX, ethnography and possibilities: for Libraries, Museums and ArchivesUX, ethnography and possibilities: for Libraries, Museums and Archives
UX, ethnography and possibilities: for Libraries, Museums and Archives
 
Hype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerHype vs. Reality: The AI Explainer
Hype vs. Reality: The AI Explainer
 
Designing Teams for Emerging Challenges
Designing Teams for Emerging ChallengesDesigning Teams for Emerging Challenges
Designing Teams for Emerging Challenges
 
Visual Design with Data
Visual Design with DataVisual Design with Data
Visual Design with Data
 

Semelhante a Les protocoles temps réels

Présentation Système d’exploitation Open Source Lepton - MEITO Mai 2014
Présentation Système d’exploitation Open Source Lepton - MEITO Mai 2014Présentation Système d’exploitation Open Source Lepton - MEITO Mai 2014
Présentation Système d’exploitation Open Source Lepton - MEITO Mai 2014O10ée
 
infrastructure de données et de service THEIA et calcul à distance
infrastructure de données et de service THEIA et calcul à distance infrastructure de données et de service THEIA et calcul à distance
infrastructure de données et de service THEIA et calcul à distance Desconnets Jean-Christophe
 
Firewall opensource et gestion de configuration pour l'infrastructure
Firewall opensource et gestion de configuration pour l'infrastructureFirewall opensource et gestion de configuration pour l'infrastructure
Firewall opensource et gestion de configuration pour l'infrastructureJohan Moreau
 
OpenStack dans la pratique
OpenStack dans la pratiqueOpenStack dans la pratique
OpenStack dans la pratiqueOsones
 
Présentation IPV6 ANWARNET 2010
Présentation IPV6 ANWARNET 2010Présentation IPV6 ANWARNET 2010
Présentation IPV6 ANWARNET 2010Fadi Gouasmia
 
Formation libre OpenStack en Français
Formation libre OpenStack en FrançaisFormation libre OpenStack en Français
Formation libre OpenStack en FrançaisOsones
 
Zenika matinale spark-zeppelin_ml
Zenika matinale spark-zeppelin_mlZenika matinale spark-zeppelin_ml
Zenika matinale spark-zeppelin_mlZenika
 
Retour d'expérience : Mise en place de l'ENT v4 à l'UPMC
Retour d'expérience : Mise en place de l'ENT v4 à l'UPMCRetour d'expérience : Mise en place de l'ENT v4 à l'UPMC
Retour d'expérience : Mise en place de l'ENT v4 à l'UPMCLudovic A
 
2008 - Eyrolles - Reseaux et Telecom.pdf
2008 - Eyrolles - Reseaux et Telecom.pdf2008 - Eyrolles - Reseaux et Telecom.pdf
2008 - Eyrolles - Reseaux et Telecom.pdfMartinTraore
 
L’exploitation d’OSM par l’AURH et ses avantages pour le projet européen « We...
L’exploitation d’OSM par l’AURH et ses avantages pour le projet européen « We...L’exploitation d’OSM par l’AURH et ses avantages pour le projet européen « We...
L’exploitation d’OSM par l’AURH et ses avantages pour le projet européen « We...Jean-François MARY
 
Dw723 g formation-programmation-pour-infosphere-streams-v3-avec-spl
Dw723 g formation-programmation-pour-infosphere-streams-v3-avec-splDw723 g formation-programmation-pour-infosphere-streams-v3-avec-spl
Dw723 g formation-programmation-pour-infosphere-streams-v3-avec-splCERTyou Formation
 
Certifier son système d’archivage marque NF 461, le plus dur est de s’y mettr...
Certifier son système d’archivage marque NF 461, le plus dur est de s’y mettr...Certifier son système d’archivage marque NF 461, le plus dur est de s’y mettr...
Certifier son système d’archivage marque NF 461, le plus dur est de s’y mettr...Christian Dubourg
 
Architecture d'annuaire hautement disponible avec OpenLDAP
Architecture d'annuaire hautement disponible avec OpenLDAPArchitecture d'annuaire hautement disponible avec OpenLDAP
Architecture d'annuaire hautement disponible avec OpenLDAPLINAGORA
 
Integrons en mode continu
Integrons en mode continuIntegrons en mode continu
Integrons en mode continuneuros
 
Journée DevOps : Puppet, un outil pour les installer tous
Journée DevOps : Puppet, un outil pour les installer tousJournée DevOps : Puppet, un outil pour les installer tous
Journée DevOps : Puppet, un outil pour les installer tousPublicis Sapient Engineering
 
NS3 - Exploitation.pptx
NS3 - Exploitation.pptxNS3 - Exploitation.pptx
NS3 - Exploitation.pptxSamirAwad14
 

Semelhante a Les protocoles temps réels (20)

Présentation Système d’exploitation Open Source Lepton - MEITO Mai 2014
Présentation Système d’exploitation Open Source Lepton - MEITO Mai 2014Présentation Système d’exploitation Open Source Lepton - MEITO Mai 2014
Présentation Système d’exploitation Open Source Lepton - MEITO Mai 2014
 
Présentation de PHP
Présentation de PHPPrésentation de PHP
Présentation de PHP
 
infrastructure de données et de service THEIA et calcul à distance
infrastructure de données et de service THEIA et calcul à distance infrastructure de données et de service THEIA et calcul à distance
infrastructure de données et de service THEIA et calcul à distance
 
Firewall opensource et gestion de configuration pour l'infrastructure
Firewall opensource et gestion de configuration pour l'infrastructureFirewall opensource et gestion de configuration pour l'infrastructure
Firewall opensource et gestion de configuration pour l'infrastructure
 
OpenStack dans la pratique
OpenStack dans la pratiqueOpenStack dans la pratique
OpenStack dans la pratique
 
Présentation IPV6 ANWARNET 2010
Présentation IPV6 ANWARNET 2010Présentation IPV6 ANWARNET 2010
Présentation IPV6 ANWARNET 2010
 
Formation libre OpenStack en Français
Formation libre OpenStack en FrançaisFormation libre OpenStack en Français
Formation libre OpenStack en Français
 
Zenika matinale spark-zeppelin_ml
Zenika matinale spark-zeppelin_mlZenika matinale spark-zeppelin_ml
Zenika matinale spark-zeppelin_ml
 
Retour d'expérience : Mise en place de l'ENT v4 à l'UPMC
Retour d'expérience : Mise en place de l'ENT v4 à l'UPMCRetour d'expérience : Mise en place de l'ENT v4 à l'UPMC
Retour d'expérience : Mise en place de l'ENT v4 à l'UPMC
 
2008 - Eyrolles - Reseaux et Telecom.pdf
2008 - Eyrolles - Reseaux et Telecom.pdf2008 - Eyrolles - Reseaux et Telecom.pdf
2008 - Eyrolles - Reseaux et Telecom.pdf
 
L’exploitation d’OSM par l’AURH et ses avantages pour le projet européen « We...
L’exploitation d’OSM par l’AURH et ses avantages pour le projet européen « We...L’exploitation d’OSM par l’AURH et ses avantages pour le projet européen « We...
L’exploitation d’OSM par l’AURH et ses avantages pour le projet européen « We...
 
Dw723 g formation-programmation-pour-infosphere-streams-v3-avec-spl
Dw723 g formation-programmation-pour-infosphere-streams-v3-avec-splDw723 g formation-programmation-pour-infosphere-streams-v3-avec-spl
Dw723 g formation-programmation-pour-infosphere-streams-v3-avec-spl
 
REX Openshift à la Poste
REX Openshift à la PosteREX Openshift à la Poste
REX Openshift à la Poste
 
Certifier son système d’archivage marque NF 461, le plus dur est de s’y mettr...
Certifier son système d’archivage marque NF 461, le plus dur est de s’y mettr...Certifier son système d’archivage marque NF 461, le plus dur est de s’y mettr...
Certifier son système d’archivage marque NF 461, le plus dur est de s’y mettr...
 
Openerp
OpenerpOpenerp
Openerp
 
Architecture d'annuaire hautement disponible avec OpenLDAP
Architecture d'annuaire hautement disponible avec OpenLDAPArchitecture d'annuaire hautement disponible avec OpenLDAP
Architecture d'annuaire hautement disponible avec OpenLDAP
 
Integrons en mode continu
Integrons en mode continuIntegrons en mode continu
Integrons en mode continu
 
OpenNMS
OpenNMSOpenNMS
OpenNMS
 
Journée DevOps : Puppet, un outil pour les installer tous
Journée DevOps : Puppet, un outil pour les installer tousJournée DevOps : Puppet, un outil pour les installer tous
Journée DevOps : Puppet, un outil pour les installer tous
 
NS3 - Exploitation.pptx
NS3 - Exploitation.pptxNS3 - Exploitation.pptx
NS3 - Exploitation.pptx
 

Mais de neuros

Solution pour un Réseau Social d'Entreprise (RSE)
Solution pour un Réseau Social d'Entreprise (RSE)Solution pour un Réseau Social d'Entreprise (RSE)
Solution pour un Réseau Social d'Entreprise (RSE)neuros
 
Le service workers
Le service workersLe service workers
Le service workersneuros
 
Proteger votre vie privee sur internet
Proteger votre vie privee sur internetProteger votre vie privee sur internet
Proteger votre vie privee sur internetneuros
 
Le pouvoir d'être Visible ou Invisible sur Internet
Le pouvoir d'être Visible ou Invisible  sur InternetLe pouvoir d'être Visible ou Invisible  sur Internet
Le pouvoir d'être Visible ou Invisible sur Internetneuros
 
Vos projets web sur les plateformes ouvertes
Vos projets web sur les plateformes ouvertesVos projets web sur les plateformes ouvertes
Vos projets web sur les plateformes ouvertesneuros
 
Livre Drupal avance, un CMS pour développeurs
Livre Drupal avance, un CMS pour développeursLivre Drupal avance, un CMS pour développeurs
Livre Drupal avance, un CMS pour développeursneuros
 
Http2 les impacts dans le web
Http2 les impacts dans le webHttp2 les impacts dans le web
Http2 les impacts dans le webneuros
 
Php 7 Think php7
Php 7 Think php7Php 7 Think php7
Php 7 Think php7neuros
 
RGAA 3 dans un Web Accessible
RGAA 3 dans un Web AccessibleRGAA 3 dans un Web Accessible
RGAA 3 dans un Web Accessibleneuros
 
Les effets de la loi Hamon
Les effets de la loi HamonLes effets de la loi Hamon
Les effets de la loi Hamonneuros
 
La sécurité et php
La sécurité et phpLa sécurité et php
La sécurité et phpneuros
 
Vectoriel et 3d en html5 - Animation newschool (partie 2)
Vectoriel et 3d en html5 - Animation newschool (partie 2)Vectoriel et 3d en html5 - Animation newschool (partie 2)
Vectoriel et 3d en html5 - Animation newschool (partie 2)neuros
 
Améliorer les performances SQL
Améliorer les performances SQLAméliorer les performances SQL
Améliorer les performances SQLneuros
 
Newschool partie1 methode HTML5
Newschool partie1 methode HTML5Newschool partie1 methode HTML5
Newschool partie1 methode HTML5neuros
 
Effectuer des tests modernes pour drupal
Effectuer des tests modernes pour drupalEffectuer des tests modernes pour drupal
Effectuer des tests modernes pour drupalneuros
 
Integration Drupal systemes d'informations
Integration Drupal systemes d'informationsIntegration Drupal systemes d'informations
Integration Drupal systemes d'informationsneuros
 
La maitrise des contenus hors internet
La maitrise des contenus hors internetLa maitrise des contenus hors internet
La maitrise des contenus hors internetneuros
 
La mémoire et PHP
La mémoire et PHPLa mémoire et PHP
La mémoire et PHPneuros
 
Pourquoi Firefox OS
Pourquoi Firefox OSPourquoi Firefox OS
Pourquoi Firefox OSneuros
 
Un CRM...sugarCRM
Un CRM...sugarCRMUn CRM...sugarCRM
Un CRM...sugarCRMneuros
 

Mais de neuros (20)

Solution pour un Réseau Social d'Entreprise (RSE)
Solution pour un Réseau Social d'Entreprise (RSE)Solution pour un Réseau Social d'Entreprise (RSE)
Solution pour un Réseau Social d'Entreprise (RSE)
 
Le service workers
Le service workersLe service workers
Le service workers
 
Proteger votre vie privee sur internet
Proteger votre vie privee sur internetProteger votre vie privee sur internet
Proteger votre vie privee sur internet
 
Le pouvoir d'être Visible ou Invisible sur Internet
Le pouvoir d'être Visible ou Invisible  sur InternetLe pouvoir d'être Visible ou Invisible  sur Internet
Le pouvoir d'être Visible ou Invisible sur Internet
 
Vos projets web sur les plateformes ouvertes
Vos projets web sur les plateformes ouvertesVos projets web sur les plateformes ouvertes
Vos projets web sur les plateformes ouvertes
 
Livre Drupal avance, un CMS pour développeurs
Livre Drupal avance, un CMS pour développeursLivre Drupal avance, un CMS pour développeurs
Livre Drupal avance, un CMS pour développeurs
 
Http2 les impacts dans le web
Http2 les impacts dans le webHttp2 les impacts dans le web
Http2 les impacts dans le web
 
Php 7 Think php7
Php 7 Think php7Php 7 Think php7
Php 7 Think php7
 
RGAA 3 dans un Web Accessible
RGAA 3 dans un Web AccessibleRGAA 3 dans un Web Accessible
RGAA 3 dans un Web Accessible
 
Les effets de la loi Hamon
Les effets de la loi HamonLes effets de la loi Hamon
Les effets de la loi Hamon
 
La sécurité et php
La sécurité et phpLa sécurité et php
La sécurité et php
 
Vectoriel et 3d en html5 - Animation newschool (partie 2)
Vectoriel et 3d en html5 - Animation newschool (partie 2)Vectoriel et 3d en html5 - Animation newschool (partie 2)
Vectoriel et 3d en html5 - Animation newschool (partie 2)
 
Améliorer les performances SQL
Améliorer les performances SQLAméliorer les performances SQL
Améliorer les performances SQL
 
Newschool partie1 methode HTML5
Newschool partie1 methode HTML5Newschool partie1 methode HTML5
Newschool partie1 methode HTML5
 
Effectuer des tests modernes pour drupal
Effectuer des tests modernes pour drupalEffectuer des tests modernes pour drupal
Effectuer des tests modernes pour drupal
 
Integration Drupal systemes d'informations
Integration Drupal systemes d'informationsIntegration Drupal systemes d'informations
Integration Drupal systemes d'informations
 
La maitrise des contenus hors internet
La maitrise des contenus hors internetLa maitrise des contenus hors internet
La maitrise des contenus hors internet
 
La mémoire et PHP
La mémoire et PHPLa mémoire et PHP
La mémoire et PHP
 
Pourquoi Firefox OS
Pourquoi Firefox OSPourquoi Firefox OS
Pourquoi Firefox OS
 
Un CRM...sugarCRM
Un CRM...sugarCRMUn CRM...sugarCRM
Un CRM...sugarCRM
 

Les protocoles temps réels

  • 1. NEUROS - tous droits réservés Neuros – 20 rue de Mogador 75009 Paris - Tél : 01 47 03 43 65nAcademy Le 04 juin 2014 Neuros - Les Protocoles Temps Réels Ezzaouia Mohamed
  • 2. nAcademy Le 04 juin 2014 Neuros - • DEFINITIONS:  RTP/RTCP pour le transport temps réel.  RTSP pour la gestion d’une session streaming.  SIP pour Session Initiation Protocol. • APPLICATIONS: • EXEMPLE : CODE Plan 2
  • 3. nAcademy Le 04 juin 2014 Neuros - Qu’est ce que le transport de données en temps réel ? •Satisfaire des contraintes de Temps. DEFINITION : Le transport de données 3
  • 4. nAcademy Le 04 juin 2014 Neuros - • Quels sont les protocoles temps réels existant ? →RTP : Real-Time Transport Protocol [ RFC 1889 ] →RTCP : RTP Control Protocol [ RFC 1889 ] →RTSP : Real-Time Streaming Protocol [ RFC 2326 ] →SDP : Session Description Protocol [ RFC 2327 ] →SIP: Session Initiation Protocol [ RFC 3265 ] DEFINITION : Protocoles temps réels 4
  • 5. nAcademy Le 04 juin 2014 Neuros - • Protocoles au dessus de UDP adaptés au besoin temps réel →RTP : pour l’acheminement des données. →RTCP : pour échanger des messages de contrôles. DEFINITION : RTP 5 RTP UDP
  • 6. nAcademy Le 04 juin 2014 Neuros - • RTSP : REAL TIME STREAMING PROTOCOL →Ciblé vers le multimédia. →Fonctionnalités fournies au client :  url pour rechercher un média sur le serveur  Commande pour avancer, rembobiner, pause, play… →Les requêtes de contrôle RTSP utilisent TCP. →S’appuie sur RTP/RTCP. DEFINITION : RTSP 6 RTSP TCP
  • 7. nAcademy Le 04 juin 2014 Neuros - Méthodologie 7
  • 8. nAcademy Le 04 juin 2014 Neuros - →SETUP : Le client demande l’allocation des ressources pour le flux demandé →PLAY : Le client demande la transmission →PAUSE : Le client demande au serveur d’arrêter momentanément le flux →TEARDOWN : Le client demande au serveur de libérer les ressources associées au flux Déroulement de la méthodologie 8
  • 9. nAcademy Le 04 juin 2014 Neuros - • SIP : SESSION INITIATION PROTOCOL  les télécommunications multimédia.  la téléphonie par internet (La VoIP). DEFINITION : SIP 9
  • 10. nAcademy Le 04 juin 2014 Neuros - APPLICATIONS : Média 10
  • 11. nAcademy Le 04 juin 2014 Neuros - APPLICATIONS : Réalité augmentée 11
  • 12. nAcademy Le 04 juin 2014 Neuros - APPLICATIONS : VoIP 12
  • 13. nAcademy Le 04 juin 2014 Neuros - APPLICATIONS : Visio 13
  • 14. nAcademy Le 04 juin 2014 Neuros - • La librairie rtsp.c : /* send RTSP SETUP request */ static void rtsp_setup(CURL *curl, const char *uri, const char *transport) { CURLcode res = CURLE_OK; printf("nRTSP: SETUP %sn", uri); printf(" TRANSPORT %sn", transport); my_curl_easy_setopt(curl, CURLOPT_RTSP_STREAM_URI, uri); my_curl_easy_setopt(curl, CURLOPT_RTSP_TRANSPORT, transport); my_curl_easy_setopt(curl, CURLOPT_RTSP_REQUEST, (long)CURL_RTSPREQ_SETUP); my_curl_easy_perform(curl); } EXEMPLE : CODE : (1/7) 14
  • 15. nAcademy Le 04 juin 2014 Neuros - • /* send RTSP PLAY request */ static void rtsp_play(CURL *curl, const char *uri, const char *range) { CURLcode res = CURLE_OK; printf("nRTSP: PLAY %sn", uri); my_curl_easy_setopt(curl, CURLOPT_RTSP_STREAM_URI, uri); my_curl_easy_setopt(curl, CURLOPT_RANGE, range); my_curl_easy_setopt(curl, CURLOPT_RTSP_REQUEST, (long)CURL_RTSPREQ_PLAY); my_curl_easy_perform(curl); } EXEMPLE : CODE : (2/7) 15
  • 16. nAcademy Le 04 juin 2014 Neuros - • /* send RTSP TEARDOWN request */ static void rtsp_teardown(CURL *curl, const char *uri) { CURLcode res = CURLE_OK; printf("nRTSP: TEARDOWN %sn", uri); my_curl_easy_setopt(curl, CURLOPT_RTSP_REQUEST, (long)CURL_RTSPREQ_TEARDOWN); my_curl_easy_perform(curl); } EXEMPLE : CODE : (3/7) 16
  • 17. nAcademy Le 04 juin 2014 Neuros - • /* main app */ int main(int argc, char * const argv[]) { /* quelques traitement…*/ … const char *url = argv[1]; char *uri = malloc(strlen(url) + 32); … /* encore quelques autre traitement …*/ … /* request session description and write response to sdp file */ rtsp_describe(curl, uri, sdp_filename); /* get media control attribute from sdp file */ get_media_control_attribute(sdp_filename, control); EXEMPLE : CODE : (4/7) 17
  • 18. nAcademy Le 04 juin 2014 Neuros - /* setup media stream */ sprintf(uri, "%s/%s", url, control); rtsp_setup(curl, uri, transport); /* start playing media stream */ sprintf(uri, "%s/", url); rtsp_play(curl, uri, range); printf("Playing video, press any key to stop ..."); _getch(); printf("n"); /* teardown session */ rtsp_teardown(curl, uri); … } EXEMPLE : CODE : (5/7) 18
  • 19. nAcademy Le 04 juin 2014 Neuros - Streamer un fichier flv avec PHP : <?php $seekat = $_GET["position"]; // Position de début de lecture $file = $_GET["file"]; // Fichier FLV à streamer //Effacement du cache header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); header("Cache-Control: no-store, no-cache, must-revalidate"); header("Cache-Control: post-check=0, pre-check=0", false); header("Pragma: no-cache"); EXEMPLE : CODE : (6/7) 19
  • 20. nAcademy Le 04 juin 2014 Neuros - // Ajout des bon headers header("Content-Type: video/x-flv"); if($seekat != 0) { print("FLV"); print(pack('C', 1 )); print(pack('C', 1 )); print(pack('N', 9 )); print(pack('N', 9 )); } $fh = fopen($file, "rb"); fseek($fh, $seekat); while (!feof($fh)) { print (fread($fh, 16384)); } fclose($fh); ?> EXEMPLE : CODE : (7/7) 20
  • 21. nAcademy Le 04 juin 2014 Neuros - • http://fr.wikipedia.org/wiki/Real-time_Transport_Protocol • http://fr.wikipedia.org/wiki/Real_Time_Streaming_Protocol • http://fr.wikipedia.org/wiki/Session_Initiation_Protocol • http://level7systems.co.uk/en/blog/Click+to+Call+with+PHP-SIP • http://www.rap.prd.fr/pdf/technologie_streaming.pdf • http://www.c-p-f.org/php-Faire_du_streaming_en_PHP-a28.html • https://developers.google.com/youtube/v3/live/code_samples/php • http://www.jeuweb.org/showthread.php?tid=5057 • http://curl.haxx.se/libcurl/c/rtsp.html • http://net7mma.codeplex.com/ SOURCES : 21
  • 22. nAcademy Le 04 juin 2014 Neuros - Merci pour votre attention. 22