Quelques mots sur la technologie de streaming



Documents pareils
M1 Informatique, Réseaux Cours 9 : Réseaux pour le multimédia

Master e-secure. VoIP. RTP et RTCP

RTP et RTCP. EFORT

Réseaux Multimédia et Qualité de Service

Services Réseaux - Couche Application. TODARO Cédric


QoS et Multimédia SIR / RTS. Introduction / Architecture des applications multimédia communicantes

Multimedia. Systèmes, Communications et Applications. Ahmed MEHAOUA

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

Voix sur IP. Généralités. Paramètres. IPv4 H323 / SIP. Matériel constructeur. Asterisk

H.323. Internet Multimédia. Sommaire

Voix sur IP Étude d approfondissement Réseaux

Système de vidéosurveillance Guide de configuration

Chapitre 1. Introduction aux applications multimédia. 1. Introduction. Définitions des concepts liés au Multimédia (1/2)

18 TCP Les protocoles de domaines d applications

Internet et Multimédia Exercices: flux multimédia

RCS : Rich Communication Suite. EFORT

Outils et applications multicast

Les sites Internet dynamiques. contact : Patrick VINCENT pvincent@erasme.org

FileMaker Server 11. Publication Web personnalisée avec XML et XSLT

Manuel du logiciel PrestaTest.

A mon père et ma mère, A mes frères Faouzi, Issam et Omar, A mes amis Issam, Hichem, Hafedh et Taher A 62635, A mes yeux,

Plan. Programmation Internet Cours 3. Organismes de standardisation

Maintenir un service de traitement de son ou d image d ordinateur

Introduction. Adresses

Webinaires Recette de cuisine : transmission en direct des séminaires Aristote et autres événements

La VoIP: Les protocoles SIP, SCCP et H323. Jonathan BRIFFAUT Alexandre MARTIN

Présentation Internet

Foire aux questions sur Christie Brio

Cours CCNA 1. Exercices

CS REMOTE CARE - WEBDAV

Le service de visioconférence sur le Réseau Académique Parisien. Nicolas MENECEUR

Guide des fonctions avancées de mywishtv

FileMaker Server 12. publication Web personnalisée avec XML

Les cahiers pratiques de Anonymat.org. SocksCap32. Edition du 20 Octobre 2000

La VOIP :Les protocoles H.323 et SIP

TP 2 : ANALYSE DE TRAMES VOIP

Fiche d identité produit

Cisco Certified Network Associate

Tous les logiciels cités dans ce document sont des marques déposées de leurs propriétaires respectifs

L accès à distance du serveur

SERVICE CONTACT INSTANTANÉ GUIDE D UTILISATEUR

Espace de travail collaboratif

Le protocole TCP. Services de TCP

ÉCOLE DE TECHNOLOGIE SUPÉRIEURE UNIVERSITÉ DU QUÉBEC MÉMOIRE PRÉSENTÉ À L ÉCOLE DE TECHNOLOGIE SUPÉRIEURE

Introduction de la Voix sur IP

Couche Session M1 Info Z. Mammeri - UPS 1. Concept de session

RTE Technologies. RTE Geoloc. Configuration avec Proxy ou Firewall

FORMATION MULTIMÉDIA LVE

DVR08IP-8POE. DVR08IP-8POE DVR Série Neptune IP. NVR (Network Video Recorder) 8 canaux pour caméras IP avec 8 ports réseau PoE intégrés

TIC. Réseau informatique. Historique - 1. Historique - 2. TC - IUT Montpellier Internet et le Web

Optimiser les performances d un site web. Nicolas Chevallier Camille Roux

Architecture distribuée

Installation et utilisation du client FirstClass 11

Programmation Internet Cours 4

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License,

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6

FileMaker Server 14. Guide de démarrage

empreinte.com WebTV WEBTV solution solution EMPREINTE.COM WebTV depuis 1997 Diffusion vidéo universelle EMPREINTE.COM

La mémorisation des mots de passe dans les navigateurs web modernes

Logiciel de connexion sécurisée. M2Me_Secure. NOTICE D'UTILISATION Document référence :

Gestionnaire des services Internet (IIS)

Adresse directe fichier : Adresse url spécifique sur laquelle le lien hypertext du Client doit être

Quelques mots sur la visioconférence H.323

Votre réseau multimédia

Serveurs de noms Protocoles HTTP et FTP

Joomla! Création et administration d'un site web - Version numérique

Sessions en ligne - QuestionPoint

Guide SQL Server 2008 pour HYSAS

VoD ( Video on Demand ) avec VLC

Rapport du projet Qualité de Service

INSTALLATION NG V2.1 D OCS INVENTORY. Procédure d utilisation. Auteur : GALLEGO Cédric 23/10/2014 N version : v1

Atelier Le gestionnaire de fichier

Routeur Gigabit WiFi AC 1200 Dual Band

Dossier Technique. Détail des modifications apportées à GRR. Détail des modifications apportées à GRR Le 17/07/2008. Page 1/10

Fiche technique logiciel #SAMBC (Windows 2000 / XP / Vista)

Groupware. Multi-canal. Vidéo. Solution audiovisuelle de gestion et diffusion vidéo sur Intranet, internet COMMUNICATION E-LEARNING

Sommaire. 1 Introduction Présentation du logiciel de commerce électronique 23

MANUEL DES CAMERAS IP

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES

Solution d inventaire automatisé d un parc informatique et de télédistribution OCS INVENTORY NG. EHRHARD Eric - Gestionnaire Parc Informatique

Performance et usage. La différence NETGEAR - R7000. Streaming HD illimitée

1- Principe général : 2- Architecture réseau pour ToIP : 3 Bilan. Qu est-ce que la VoIP/ToIP? IPBX/Protocoles utilisés

Téléphone IP. Téléphone IP aux nombreuses fonctions avancées pour une utilisation professionnelle et au prix abordable FICHE PRODUIT

Diffuser un contenu sur Internet : notions de base... 13

SOMMAIRE. ENREGISTREMENT...24 Programmer un enregistrement...24 Enregistrement manuel...25 Timeshift...25 Regarder un programme enregistré...

Documentation Honolulu 14 (1)

«Clustering» et «Load balancing» avec Zope et ZEO

Pierre-Louis Théron Nikolay Rodionov Axel Delmas

On trouvera sur le site du CCDMD un exemple d album construit avec Cantare. (

1. La plate-forme LAMP

Application Web et J2EE

DSI - Pôle Infrastructures / Multimédia CONTEXTE SUJET. Projet de Manuel d utilisation du Pont de Visioconférence et Téléconférence MLTD00141V02V 02 V

Développement d'un logiciel VoIP BlackBerry

QuickTime 7 Guide de l utilisateur Contient des instructions pour l utilisation de QuickTime Pro

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server 3, 3.5

Les Content Delivery Network (CDN)

Installation ou mise à jour du logiciel système Fiery

Transcription:

Quelques mots sur la technologie de streaming Nicolas MENECEUR Nicolas.Meneceur@rap.prd.fr L enregistrement vidéo de cette présentation est disponible sur http://www.rap.prd.fr/smil/technologie_streaming/presentation.smi 1

Quelques mots sur la technologie de streaming Présentation du streaming? Les Protocoles RTP/RTCP pour le transport temps réel RTSP pour la gestion d une session de streaming SMIL pour l enrichissement des médias Les Acteurs Étude de cas : un service de VoD 2

Quelques mots sur la technologie de streaming Présentation du streaming? Les Protocoles RTP/RTCP pour le transport temps réel RTSP pour la gestion d une session de streaming SMIL pour l enrichissement des médias Les Acteurs Étude de cas : un service de VoD 3

Définition Qu est ce que le streaming? stream = flux streaming = technique de transfert de données sous forme d'un flux régulier et continu. Permet de diffuser et de visualiser des contenus multimédia en temps réel. A quoi ça sert? formation à distance Web TV et radios Web Télésurveillance VoD (Video On Demand) 4

Chaîne de production Les différentes étapes 5

Principe de diffusion Comment ça marche? 6

Principe de diffusion Algorithme de transmission côté serveur Contrôle des paquets arrivés ; Si ( paquets perdus ) { Vérification du taux de remplissage du buffer ; Si ( assez de données ) { Réemission des paquets perdus ; } Sinon { Tolérance des pertes ; } } 7

Principe de diffusion Mise en mémoire tampon côté client Compensation pour le délai du réseau (la gigue) : Mise en mémoire tampon Délai avant la lecture (2-5 secondes) 8

Principe de diffusion Détail de la mémoire tampon La mémoire tampon compense la gigue 9

Principe de diffusion Adaptation dynamique aux variations de débit Nécessite la connaissance de l état des connexions un encodage vidéo à multiples débits Évite que la mémoire tampon se vide en cas de congestion 10

Modes de diffusion La diffusion unicast 11

Modes de diffusion La diffusion multicast 12

Streaming et Pseudo Streaming Streaming Pseudo Streaming Navigateur 1 Serveur Web Navigateur 1 2 2 Serveur Web Lecteur multimédia 3 Serveur de Streaming Lecteur multimédia 3 lecture quasi-instantanée à la volée avec tamporisation en mémoire nécessite un serveur de streaming utilise les protocoles de diffusion RTP/RTCP sur UDP téléchargement progressif avec copie des média sur disque pas de serveur de streaming utilise le protocole de diffusion HTTP sur TCP Avec le Pseudo Streaming, la vidéo est lue au fur et à mesure qu elle est téléchargée ce qui donne un aspect de streaming au client 13

Streaming et Pseudo Streaming Comparaison fonctions de contrôle du média clairement ciblé vers le multimédia non ciblé vers le multimédia pas de fonction de contrôle du média utilise RTP/RTCP et RTSP STREAMING PSEUDO STREAMING utilise HTTP contrôle hors bande support du multicast et du multidébit pas de support du multicast et du multidébit contrôle dans la bande 14

Quelques mots sur la technologie de streaming Présentation du streaming? Les Protocoles RTP/RTCP pour le transport temps réel RTSP pour la gestion d une session de streaming SMIL pour l enrichissement des médias Les Acteurs Étude de cas : un service de VoD 15

Quelques mots sur la technologie de streaming Présentation du streaming? Les Protocoles RTP/RTCP pour le transport temps réel RTSP pour la gestion d une session de streaming SMIL pour l enrichissement des médias Les Acteurs Étude de cas : un service de VoD 16

RTP/RTCP Pourquoi un autre protocole de transport? Besoin : séquencement des paquets horodatage des paquets identification de participants surveillance de l'état de la connexion Contrainte de temps réel = TCP inadapté TCP exige la fiabilité à 100% TCP favorise la fiabilité au dépend des délais TCP existe seulement en version unicast UDP : service de transport non fiable pas de connaissance du taux de perte impossibilité de reconstituer le flux et de synchroniser les média 17

RTP/RTCP RTP/RTCP (RFC 1889) : Protocoles au dessus d UDP adaptés au besoin temps réel RTP (Realtime Transport Protocole) pour l acheminement des données RTCP (Realtime Transport Control Protocole) pour échanger des messages de contrôle Conçu pour les communications multipoint Comportent les champs nécessaires pour : reconstituer le flux identifier le type de l information transportée contrôler l arrivée des paquets à destination 18

RTP/RTCP RTP (Realtime Transport Protocole) RTP fournit les outils nécessaires aux applications: séquencement et horodatage RTP reconstitue l ordre des paquets, synchronise les média, détecte la perte de paquets 19

RTP/RTCP L en-tête d un paquet RTP en-tête IP en-tête UDP en-tête RTP Données audio ou vidéo 0 2 3 4 8 9 16 32 V P X CC M PT Numéro de Séquence Horodatage (TimeStamp) Identification de la Source de Synchronisation (SSRC) Identificateur(s) de la (des) Source(s) Contributrice(s) (CSRC) Données audio ou vidéo 20

RTP/RTCP RTCP (Real-time Transport Control Protocole) Protocole de contrôle qui accompagne RTP pour mesurer les performances Pas de garantie ( protocole de réservation des ressources sur le réseau) Transmission périodique de paquets de contrôle (rapports) à tous les participants dans une session RTP Plusieurs genres de rapports possibles : Receiver Report (RR), Sender Report (SR), Source Description (SDES), Receiver Report (RR) : Statistiques du récepteur pour l émetteur sur la qualité de transmission : taux de pertes, RTT (temps aller-retour), gigue (variance des délais de transit) La connaissance de ces paramètres permet d ajouter de la redondance en fonction des pertes d adapter la mémoire tampon en fonction de la gigue 21

RTP/RTCP L en-tête d un paquet RTCP en-tête IP en-tête UDP en-tête RTCP Rapport(s) 0 2 3 8 16 32 V P RC PT Longueur SSRC de l émetteur Rapport(s) 22

RTP/RTCP À propos des rapports RR (Receiver Report) 0 V 2 P 3 RC 8 PT (RR=201) 16 32 SSRC de l émetteur Longueur SSRC 1 de la source % de pertes Nombre cumulé de paquets perdus Numéro de séquence le plus élevé reçu Gigue Horodatage du dernier SR (LSR : Last SR) Délai depuis le dernier SR (DSLR : Delay since last SR) SSRC 2 de la source 23

RTP/RTCP À propos des rapports RR (Receiver Report) Calcul de la gigue (Jitter) D = variation du délai d arrivée D(t) = (t R2 -t R1 ) - (t S2 -t S1 ) = (t R2 -t S2 ) - (t R1 -t S1 ) J(t) = déviation moyen de D J(t) = J(t-1) + [ (D(t) + J(t-1))/16 ] 24

RTP/RTCP RTP/RTCP (RFC 1889) : résumé Protocoles au dessus d UDP adaptés au besoin temps réel RTP (Real-time Transport Protocole) pour l acheminement des données RTCP (Real-time Transport Control Protocole) pour échanger des messages de contrôle Un canal RTP et un canal RTCP par média (audio, vidéo, ) Deux numéros de ports voisins RTP port pair RTCP port impair immédiatement supérieur Par exemple : vidéo (port UDP 12040) et contrôle vidéo (port UDP 12041) audio (port UDP 12042) et contrôle audio (port UDP 12043) Problème pour passer certains pare feu 25

La technologie streaming Présentation du streaming? Les Protocoles RTP/RTCP pour le transport temps réel RTSP pour la gestion d une session de streaming SMIL pour l enrichissement des médias Les Acteurs Étude de cas : un service de VoD 26

Quelques mots sur la technologie de streaming RTSP : Real Time Streaming Protocol (RFC 2326) Protocole client-serveur au niveau applicatif Permet de contrôler la distribution des flux RTP Ciblé vers le multimédia (contrairement à HTTP) Fonctionnalités fournies au client : url pour rechercher un média sur un serveur commandes pour avancer, rembobiner, pause, dans le média Les requêtes de contrôle RTSP utilisent TCP avec un numéro de port réservé (port 554) S appuie sur RTP/RTCP pour les diffusions 27

RTSP Un protocole à états gérés par des méthodes 28

RTSP Scénario streaming server 29

RTSP Exemple de métafichier <title>twister</title> <session> <group language=en lipsync> <switch> <track type="audio" e="pcmu/8000/1" src="rtsp://serveur.exemple.com/twister/fichier_audio_bas_debit"> <track type="audio" e= "DVI4/16000/2" pt="90 DVI4/8000/1" src="rtsp://serveur.exemple.com/twister/fichier_audio_haut_debit"> </switch> <track type="video" src="rtsp://serveur.exemple.com/twister/fichier_video"> </group> </session> 30

RTSP Fonctionnement Navigateur Web HTTP GET Session Description SETUP PLAY Serveur Web Lecteur multimédia RTP audio RTCP audio RTP video RTCP audio PAUSE TEARDOWN Serveur de streaming 31

RTSP Exemple d un échange client-serveur C S : SETUP rtsp://serveur.exemple.com/twister/fichier_audio RTSP/1.0 Transport: RTP/UDP; unicast; client-port=3056-3057 S C : RTSP/1.0 200 1 OK; Session: 4231 Transport: RTP/UDP; unicast; client-port=3056-3057; server-port=5000-5001 C S : PLAY rtsp://serveur.exemple.com/twister/fichier_audio RTSP/1.0 Session: 4231; Range: npt=0- S C : RTSP/1.0 200 2 OK; Session: 4231 C S : PAUSE rtsp://serveur.exemple.com/twister/fichier_audio RTSP/1.0 Session: 4231; Range: npt=37 S C : RTSP/1.0 200 3 OK; Session: 4231 C S : TEARDOWN rtsp://serveur.exemple.com/twister/fichier_audio RTSP/1.0 Session: 4231 S C : RTSP/1.0 200 4 OK; Session: 4231 32

Quelques mots sur la technologie de streaming Présentation du streaming? Les Protocoles RTP/RTCP pour le transport temps réel RTSP pour la gestion d une session de streaming SMIL pour l enrichissement des médias Les Acteurs Étude de cas : un service de VoD 33

SMIL Synchronized Multimedia Integration Language Langage basé sur XML Recommandation du W3C (http://www.w3.org/audiovideo) «RichMedia» et interactivité Intégration et synchronisation de différents media Les média sont référencés dans un seul document (.SMIL) Lecteurs compatibles : RealPlayer, QuickTime, GRiNS, Éditeurs : LimSee, SMIL Composer, RealSlideShow, GRiNS, 34

SMIL Exemple 35

SMIL Exemple : principe 1. disposition des régions 2. synchronisation des média Zone A Zone B slides vidéo Zone C texte texte temps 36

SMIL Exemple : syntaxe <?xml version="1.0"?> <smil xmlns="http://www.w3.org/2001/smil20/language > <head> <!-- Description de la présentation --> <meta name="title" content="exemple" /> <meta name="author" content="auteur" /> <meta name="copyright" content="2005" /> <!-- Disposition des fenêtres --> <layout> <!-- fenêtre pour la présentation --> <root-layout width="640" height="480" background-color="black" /> <!-- fenêtre pour la vidéo > <region id="region-video" left="0" top="0" width="320" height="256" /> <!-- fenêtre pour les slides > <region id="region-slides" left="320" top="0" width="320" height="256" /> <! -- fenêtre pour le texte > <region id="region-text" left="0" top="256" width="480" height="224" /> </layout> </head> 37

SMIL Exemple : syntaxe <body> <! Synchronisation des médias --> <par> <! Affichage de la vidéo --> <video src="rtsp://serveur.exemple.com/fichier_video?start=00:00:00&end=00:30:00 region="video_region" /> <! Affichage des slides --> <seq> <img src="slide1.gif" region="slides_region" dur="376s" /> <img src="slide2.gif" region="slides_region" dur="460s" /> <img src="slide3.gif" region="slides_region" dur="726s" /> </seq> <! Affichage du text --> <txt src= "text.rt" region="text_region" /> </par> </body> </smil> 38

Accès aux média : récapitulatif Client 3 1 HTTP 2 Serveurs Serveur Web contenus: images, textes, + métafichiers : SMIL, RAM, Logiciel de visualisation TAMPON 4 RTP/RTCP/RTSP 5 Serveur de Streaming contenus: vidéos streaming 39

La technologie streaming Présentation du streaming? Les Protocoles RTP/RTCP pour le transport temps réel RTSP pour la gestion d une session de streaming SMIL pour l enrichissement des médias Les Acteurs Étude de cas : un service de VoD 40

Les Acteurs Trois acteurs principaux, trois technologies propriétaires, et trois formats incompatibles : Real Networks (Real Media -.RM,.RA) Apple (QuickTime Media -.QT,.MOV) Microsoft (Windows Media -.WMV,.WMA,.ASF) Un consortium : ISMA (Internet Streaming Media Alliance) AOL Time Warner Inc, Apple Computer, Inc., Cisco Systems, Dolby Laboratories, France Telecom, IBM, NEC Corporation, Philips Electronics, Sony Corporation, Sun Microsystems, Telecom Italia Lab, Thomson, Un format de streaming standardisé : ISMA MP4 Des solutions alternatives Cisco IP/TV (plateforme matériel) VideoLAN (GNU Open Source) 41

Les Acteurs La solution de RealNetworks http://www.realnetworks.com/products Serveur : Helix Server (v.5.0.1) Encodeur : Real Producer (v.10) Lecteur : Real Player (v.10.5) Solution multiplateforme (lecteur, encodeur et serveur) Serveur : gestion d un maximum de 10000 flux simultanés support de tous les formats de streaming existants pour la diffusion support des normes RTP/RTCP/RTSP et du multicast diffusion intelligente (technologie SureStream) interface Web d administration et logs très complets sécurisation des contenus Lecteur : support du SMIL 1.0 et 2.0 Version basique de l encodeur et du serveur gratuite sur http://www.realnetworks.com/products/free_trial.html 42

Les Acteurs La solution de Microsoft http://www.microsoft.com/windows/windowsmedia/fr Serveur : Windows Media Services 9 Series Encodeur : Windows Media Encoder 9 Series Lecteur : Windows Media Player 10 Solution propriétaire de bout en bout (lecteur, serveur et encodeur) Serveur : gestion d un maximum de 1000 flux simultanés prise en charge uniquement des formats Microsoft (ASF, WMV et WMA) diffusion intelligente (technologie Intelligent Streaming) pas d administration à distance sécurisation des contenus n utilise pas RTSP mais MMS (propriétaire Microsoft) Lecteur : pas de support du SMIL 43

Les Acteurs La solution d Apple Computer, Inc. http://www.apple.com/quicktime/products Serveur : Darwin Streaming Server (v.5.0.1) Encodeur : QuickTime Pro (v.6.5.2) Lecteur : QuickTime Player (v.6.5.2) Open Source et multiplateformes (serveur uniquement) Serveur : gestion d un maximum de 4000 flux simultanés administration à distance prise en charge des formats Quicktime et MPEG-4 ISMA diffusion par téléchargement progressif Lecteur : support du SMIL 1.0 (mais pas 2.0) 44

Les Acteurs Accès aux média avec la solution Real Networks : Depuis un navigateur Web : requête HTTP sur le serveur Web : http://webserver/chemin_métafichier_vidéo http://webserver/video[.ram.asx.mov] requête HTTP sur le serveur Helix : http://helixserver/mountpoint/chemin_fichier_vidéo http://helixserver/ramgen asxgen/video[.rm.wmv] Depuis un lecteur multimédia : requête RTSP/MMS sur le serveur Helix protocole://helixserver/chemin_fichier_vidéo rtsp mms://helixserver/video[.rm.wmv.mp4.mov] 45

La technologie streaming Présentation du streaming? Les Protocoles RTP/RTCP pour le transport temps réel RTSP pour la gestion d une session de streaming SMIL pour l enrichissement des médias Les Acteurs Étude de cas : un service de VoD 46

Service de Vidéo à la Demande Service de stockage et diffusion de VoD (Video On Demand) service de vidéos en ligne contenus consultables à tout moment depuis l internet L infrastructure de diffusion un serveur de streaming pour diffuser les vidéos à la demande Les espaces de stockage arborescence pour les contenus : vidéothèques/sous-vidéothèques L automatisation du système un portail Web dynamique : dépôt, gestion, descriptif et visualisation des vidéos un système d information sous-jacent pour renseigner les utilisateurs les vidéothèques et les contenus les statistiques de diffusion exemple d infrastructure logicielle pour un portail Web Vidéos SGBD (MySQL), serveur Web (Apache), langage Web (PHP) 47

Service de Vidéo à la Demande Spectateurs consultent les vidéothèques et visualisent les vidéos à leur demande Producteurs de vidéos réalisent et encodent les vidéos Gestionnaires de vidéothèques gèrent les espaces de stockage consultent le bilan des diffusions consulter renseigner déposer consulter gèrer Application de consultation des vidéothèques Application de dépôt des vidéos Application de gestion des vidéothèques de consultation des statistiques insérer logs Serveur de Streaming Base de Données Vidéos Serveur Web et SGBD Serveur de stockage des média vidéothèque/sous vidéothèque = espace de stockage dédié 48

Service de Vidéo à la Demande La Base de Données Vidéos (version simplifiée) vidéos statistiques utilisateurs identifiant nom prénom email adresse téléphone fax login password utilisateurs_vidéothèques videothèque utilisateur droit_gestionnaire droit_dépositaire vidéothèques identifiant nom répertoire date_mise_en_service créateur videotheque_principale login password identifiant vidéothèque nom titre producteur auteur durée année_production thème résumé remarques url largeur hauteur fichier fichier_nom fichier_taille fichier_type déposeur identifiant vidéo protocole paramètres date client_id client_info client_stats client_adresse_ip video_taille video_duree flux_duree flux_bytes_emis flux_bande_passante flux_composition paquets_emis paquets_reemis_ok paquets_reemis_echec 49

Service de Vidéo à la Demande Application de gestion des vidéothèques Action sur le serveur de stockage une vidéothèque = un espace de stockage une sous-vidéothèque = un sous-espace de stockage Action sur le serveur de diffusion une sous-vidéothèque peut être en accès libre ou restreint Fonctions de l application création, suppression, modification d une sous-vidéothèque création, suppression, modification de comptes utilisateurs gestionnaires de vidéothèques/sous-vidéothèques déposeurs de vidéos spectateurs pour les accès restreint détail des vidéothèques/sous-vidéothèques nombre de vidéos déposées et espace disque occupé comptes créés sur les vidéothèques 50

Service de Vidéo à la Demande Application de dépôt des vidéos deux éléments à traiter : les données et le fichier vidéo création d un formulaire Web interfacé avec la base de données méthode POST pour le transfert du fichier vidéo code PHP pour l insertion des données dans la base avantages du formulaire Web pour le dépôt passe mieux les pare-feu qu un transfert FTP mise en ligne des vidéos automatisée après leur dépôt création dynamique des métafichiers vidéo 1. analyse et validation des données saisies 2. insertion des données dans la base 1. dépôt du fichier dans un répertoire temporaire du serveur Web 2. Analyse et validation du fichier 3. Transfert dans la vidéothèque Création du métafichier sur le serveur Web Les étapes pour le dépôt d une vidéo 51

Service de Vidéo à la Demande Application de consultation des vidéos pages Web dynamique (PHP/SQL) liste des vidéos par vidéothèque ou sous-vidéothèque recherche multicritères d une vidéo : titre, auteur, réalisateur, genre, format, visualisation directe de la vidéo : lien vers le métafichier visualisation de la vidéo et de sa description : description des vidéos : auteur, année, résumé,... incrustation du lecteur multimédia dans la page Web 52

Service de Vidéo à la Demande Insertion des logs dans la base de données (1/2) Syntaxe des logs du serveur Helix (fichier rmaccess.log) : IP_address - - [timestamp] "GET filename protocol/version" HTTP_status_code bytes_sent [client_info] [client_id] [client_stats_results] file_size file_time sent_time resends failed_resends [stream_components] [start_time] server_address average_bitrate packets_sent Exemple : 83.36.200.83 - - [01/Jan/2005:19:10:06 +0000] "GET cnrs/grci/lacacique.rm RTSP/1.0" 200 8256753 [Win98_4.10_6.0.12.872_play32_RN30BB_en US_586_axembed] [d058e661-5c26-11d9-eb42-89d3d8cf5dd6] [Stat3:2141 0 Resume ;307560 288786 STOP ;][Stat4:2 audio/x-pnrealaudio 32_Kbps_Stereo_Music_-_RealAudio 2501 11 0 0 0 ;video/x-pnrealvideo N/A 16635 22 0 0 0 1 0 4 0 1 1] 26521803 290 306 0 0 [1 1 0 0] [01/Jan/2005:19:04:59] 193.50.20.17 400000 19169 53

Service de Vidéo à la Demande Insertion des logs dans la base de données (2/2) Traitement des logs (langage de script + crontab) : 1. Lecture du fichier de logs ligne par ligne 2. On applique le masque suivant au log : ^(.*) - - \[(.*) \+0000\] \"GET (.*) (RTSP.* MMS.*)\" 200 ([^0] [0-9]*) \[(.*)\] \[(.*)\] (\[.*\]) ([^0][0-9]*) ([^0][0-9]*) ([^0][0-9]*) ([0-9]*) ([0-9]*) \[([0-1] [0-1] [0-1] [0-1])\] \[(.*)\] 127.0.0.1 ([^0][0-9]*) ([^0][0-9]*) 3. On récupère les données dans un tableau 4. On les injecte dans la table statistique de la base de données statistiques identifiant vidéo protocole paramètres date client_id client_info client_stats client_adresse_ip video_taille video_duree flux_duree flux_bytes_emis flux_bande_passante flux_composition paquets_emis paquets_reemis_ok paquets_reemis_echec 54

Service de Vidéo à la Demande Application de consultation des statistiques de diffusion Statistiques : visites, durée, débit, bande passante, best of des diffusions, pour un jour, une semaine, un mois, + évolution dans le temps Codes PHP/SQL : pour lire les données dans la base et les traiter pour créer des graphiques dynamiques avec JpGraph (librairie GPL) exemple de graphique dynamique généré avec JPGraph 55

Service de Vidéo à la Demande Démonstration : http://video.rap.prd.fr 56