Articles associés au tag ‘GUID’

24 Juin
2013

Convertir un GUID en Base 64

Certains hébergeurs demandent de renseigner le GUID en Base 64,

Si l’on inspecte les requettes envoyés par le navigateur l’ors de l’ouverture d’un fichier smooth streaming DRMizé, on peux trouver le GUID en Base 64.

Maintenant comment le convertir « simplement » ?

Tout d’abord il faut inverses les bits de poids faible avant de faire la conversion en base 64.

Prenons l’exemple : 93c6cea6-d968-9b34-8dd7-359ae15a6cb5

Inversons maintenant les bits de poids faible : a6cec693-68d9-349b-8dd7-359ae15a6cb5

Passons maintenant le nouveau GUID dans la moulinette PHP :

$guid = '9ccf5662-f8e6-0e54-15e7-e4c25979c84a';
  
    // Il faut inverser les bits de poids faible (=> bloc par bloc sur les 3 premiers blocs) avant de faire la conversion en 64bits 
    // Ex :
    //      93c6cea6-d968-9b34-8dd7-359ae15a6cb5
    //   => a6cec693-68d9-349b-8dd7-359ae15a6cb5
      $uuid = explode('-', $guid);
        for ($i=0;$i<3;$i++) {
          $tmp = str_split($uuid[$i], 2);
          $tmp = array_reverse($tmp);
          $uuid[$i] = implode('', $tmp);
        }
      $uuid = implode('-', $uuid);
    $reversed_guid = $uuid;
    
    $uuid = str_replace("-", "", $uuid);

    $packed = pack('H*', $uuid);
    $base64Encoded = base64_encode($packed);
  
    echo "guid depart : {$guid}<br>";
    echo "guid invers : {$reversed_guid}<br>";
    echo "KeyID : {$base64Encoded}<br>";
  die();

 

Ce qui nous retourne bien :

guid depart : 9ccf5662-f8e6-0e54-15e7-e4c25979c84a

guid invers : 6256cf9c-e6f8-540e-15e7-e4c25979c84a

KeyID : YlbPnOb4VA4V5+TCWXnISg==

 

Vous pouvez également utiliser l’outil :

http://guid-convert.appspot.com/

Testé et approuvé !!!

11 Juin
2013

Capteurs

Selon vos besoins, différents capteurs peuvent être associé à votre création.
Nous allons seulement en lister quelques uns, nous reviendront plus en détail sur ces capteurs plus tard.

-Capteur a affect capacitif :
Human Body Touch Sensor Module for Arduino

-Détecteur de flames :
Flame Detection Sensor Module for Arduino

-Détecteur infrarouges :
High Sensitivity IR Receiver Photosensitive Diode Light Sensor for Arduino

-Réflecteur infrarouges :
DIY IR Infrared Reflection Sensor Module – Blue

-Capteur de distance :
HC-SR04 Ultrasonic Sensor Distance Measuring Module

-Diode laser :
5mW Red Dot Laser Diode Module

-Detecteur de tilt (mouvement lié à un angle) :
Angle Tilt Sensor Module for Arduino
OJ-CG316 New Tilt Sensor Module for Arduino
GY-291 ADXL345 Digital 3-Axis Acceleration of Gravity Tilt

27 Mai
2013

XML de commande Rhozet pour générer du SmoothStreaming avec 2 sources (stitch) et un sous-titre

Voici l’XML de commande qui permet d’appeler un preset SmoothStreaming RHOZET pour transcoder 2 sources (Par ex un panneau CSA et le film) contient deux langues audio et un sous-titre.

 

<?xml version="1.0" encoding="UTF-8"?>
<cnpsXML ProjectID.DWD="161428257" CreatedByAppVersion="3.21.5">
  <Sources>
    <Module_0 Inpoint.QWD="-1" Outpoint.QWD="-1" MultiSource.DWD="1">
      <ModuleData>
        <StreamTypeTable StreamSelector_0.DWD="0" StreamType_0.DWD="0" StreamPtr_0.DWD="0" StreamSelector_1.DWD="2" StreamType_1.DWD="0" StreamPtr_1.DWD="0"/>
        <SourceModules>
          <MultiSrcModule_0 MultiSource.DWD="0" Filename="\192.168.10.31transcodageFILMOLINELOGO_CSA-12.wmv" FullUNCFilename="\192.168.10.31transcodageFILMOLINELOGO_CSA-12.wmv"/>
        </SourceModules>
      </ModuleData>
      <Filter_0/>
      <Filter_1/>
    </Module_0>
    <Module_1 Inpoint.QWD="-1" Outpoint.QWD="-1" MultiSource.DWD="1">
      <ModuleData>
        <StreamTypeTable StreamSelector_0.DWD="0" StreamType_0.DWD="0" StreamPtr_0.DWD="0" StreamSelector_1.DWD="2" StreamType_1.DWD="0" StreamPtr_1.DWD="0"/>
        <SourceModules>
          <MultiSrcModule_0 MultiSource.DWD="0" Filename="\192.168.10.31transcodageFILMOLINE\/LABO/VectraCom/8478___Familyfilms_Entre_les_jambes_vm_mezz.mpg" FullUNCFilename="\192.168.10.31transcodageFILMOLINE\/LABO/VectraCom/8478___Familyfilms_Entre_les_jambes_vm_mezz.mpg"/>
        </SourceModules>
      </ModuleData>
      <Filter_0/>
      <Filter_1/>
    </Module_1>
  </Sources>
  <Destinations>
    <Module_0 ModuleGUID="{269DF7D3-F4B5-41DB-85F7-A5A42B7A6449}" PresetGUID="{269DF7D3-F4B5-41DB-85F7-A5A42B7A6449}">
      <ModuleData CML_P_BaseFileName="8478___Familyfilms_Entre_les_jambes_vm_mezz" CML_P_Path="\10.95.167.32transcodageFILMOLINEDRM_INRHOZET_OUTYacast_VM_SMOOTH" DestFileUseSource.DWD="1" general_23_assetDirectory.DWD="0" general_23_publishMode.DWD="0" general_23_vodStreamName="" general_23_vodServerManifestName="" general_23_vodClientManifestName="" debug_23_dumpElmStream.DWD="0" debug_23_dumpGraph.DWD="0" debug_23_tracePipeline.DWD="0" debug_23_fragmentorLogging.DWD="0" video_23_profile.DWD="66" video_23_frameRate.DBL="25.000002" video_23_keyFrameInterval.DBL="2.000000" video_23_useAutomaticLayerGenerator.DWD="0" video_23_automaticLayerSettings_23_maxFrameWidth.DWD="1280" video_23_automaticLayerSettings_23_maxFrameHeight.DWD="720" video_23_automaticLayerSettings_23_minFrameWidth.DWD="224" video_23_automaticLayerSettings_23_minFrameHeight.DWD="128" video_23_automaticLayerSettings_23_maxBitRate.DWD="3000" video_23_automaticLayerSettings_23_minBitRate.DWD="230" video_23_numberOfLayers.DWD="3" video_01_23_bitRate.DWD="2000" video_01_23_frameWidth.DWD="720" video_01_23_frameHeight.DWD="405" video_02_23_bitRate.DWD="800" video_02_23_frameWidth.DWD="720" video_02_23_frameHeight.DWD="405" video_03_23_bitRate.DWD="500" video_03_23_frameWidth.DWD="720" video_03_23_frameHeight.DWD="405" video_04_23_bitRate.DWD="446" video_04_23_frameWidth.DWD="432" video_04_23_frameHeight.DWD="242" video_05_23_bitRate.DWD="568" video_05_23_frameWidth.DWD="512" video_05_23_frameHeight.DWD="288" video_06_23_bitRate.DWD="723" video_06_23_frameWidth.DWD="600" video_06_23_frameHeight.DWD="338" video_07_23_bitRate.DWD="918" video_07_23_frameWidth.DWD="696" video_07_23_frameHeight.DWD="390" video_08_23_bitRate.DWD="1161" video_08_23_frameWidth.DWD="798" video_08_23_frameHeight.DWD="448" video_09_23_bitRate.DWD="1459" video_09_23_frameWidth.DWD="908" video_09_23_frameHeight.DWD="510" video_10_23_bitRate.DWD="1823" video_10_23_frameWidth.DWD="1026" video_10_23_frameHeight.DWD="405" video_11_23_bitRate.DWD="2261" video_11_23_frameWidth.DWD="1152" video_11_23_frameHeight.DWD="648" video_12_23_bitRate.DWD="2785" video_12_23_frameWidth.DWD="1288" video_12_23_frameHeight.DWD="724" video_13_23_bitRate.DWD="3407" video_13_23_frameWidth.DWD="1432" video_13_23_frameHeight.DWD="806" video_14_23_bitRate.DWD="4141" video_14_23_frameWidth.DWD="1586" video_14_23_frameHeight.DWD="892" video_15_23_bitRate.DWD="5000" video_15_23_frameWidth.DWD="1748" video_15_23_frameHeight.DWD="982" video_16_23_bitRate.DWD="6000" video_16_23_frameWidth.DWD="1920" video_16_23_frameHeight.DWD="1080" audio_23_sampleRate.DWD="44100" audio_23_numberOfAudioStreams.DWD="2" audio_01_23_language="fre" audio_01_23_channelConfiguration.DWD="2" audio_01_23_bitRate.DWD="256000" audio_02_23_language="eng" audio_02_23_channelConfiguration.DWD="2" audio_02_23_bitRate.DWD="256000" audio_03_23_language="" audio_03_23_channelConfiguration.DWD="2" audio_03_23_bitRate.DWD="128000" audio_04_23_language="" audio_04_23_channelConfiguration.DWD="2" audio_04_23_bitRate.DWD="128000" audio_05_23_language="" audio_05_23_channelConfiguration.DWD="2" audio_05_23_bitRate.DWD="128000" audio_06_23_language="" audio_06_23_channelConfiguration.DWD="2" audio_06_23_bitRate.DWD="128000" audio_07_23_language="" audio_07_23_channelConfiguration.DWD="2" audio_07_23_bitRate.DWD="128000" audio_08_23_language="" audio_08_23_channelConfiguration.DWD="2" audio_08_23_bitRate.DWD="128000" audio_09_23_language="" audio_09_23_channelConfiguration.DWD="2" audio_09_23_bitRate.DWD="128000" audio_10_23_language="" audio_10_23_channelConfiguration.DWD="2" audio_10_23_bitRate.DWD="128000" audio_11_23_language="" audio_11_23_channelConfiguration.DWD="2" audio_11_23_bitRate.DWD="128000" audio_12_23_language="" audio_12_23_channelConfiguration.DWD="2" audio_12_23_bitRate.DWD="128000" audio_13_23_language="" audio_13_23_channelConfiguration.DWD="2" audio_13_23_bitRate.DWD="128000" audio_14_23_language="" audio_14_23_channelConfiguration.DWD="2" audio_14_23_bitRate.DWD="128000" audio_15_23_language="" audio_15_23_channelConfiguration.DWD="2" audio_15_23_bitRate.DWD="128000" audio_16_23_language="" audio_16_23_channelConfiguration.DWD="2" audio_16_23_bitRate.DWD="128000" ttml_23_numberOfTtmlStreams.DWD="1" ttml_01_23_ttml_source.DWD="2" ttml_01_23_ttml_service_number.DWD="1" ttml_01_23_ttml_language="fre" ttml_01_23_ttml_file="\192.168.10.31transcodageFILMOLINESOUS-TITRES\OUT_CSASTL_FOR_DFXP8478___Familyfilms_Entre_les_jambes_vm_mezz.xml" ttml_01_23_ttml_file_offset="00:00:00.000" ttml_02_23_ttml_source.DWD="1" ttml_02_23_ttml_service_number.DWD="2" ttml_02_23_ttml_language="eng" ttml_02_23_ttml_file="" ttml_02_23_ttml_file_offset="00:00:00.000" ttml_03_23_ttml_source.DWD="1" ttml_03_23_ttml_service_number.DWD="3" ttml_03_23_ttml_language="eng" ttml_03_23_ttml_file="" ttml_03_23_ttml_file_offset="00:00:00.000" ttml_04_23_ttml_source.DWD="1" ttml_04_23_ttml_service_number.DWD="4" ttml_04_23_ttml_language="eng" ttml_04_23_ttml_file="" ttml_04_23_ttml_file_offset="00:00:00.000" ttml_05_23_ttml_source.DWD="1" ttml_05_23_ttml_service_number.DWD="5" ttml_05_23_ttml_language="eng" ttml_05_23_ttml_file="" ttml_05_23_ttml_file_offset="00:00:00.000" ttml_06_23_ttml_source.DWD="1" ttml_06_23_ttml_service_number.DWD="6" ttml_06_23_ttml_language="eng" ttml_06_23_ttml_file="" ttml_06_23_ttml_file_offset="00:00:00.000" ttml_07_23_ttml_source.DWD="1" ttml_07_23_ttml_service_number.DWD="7" ttml_07_23_ttml_language="eng" ttml_07_23_ttml_file="" ttml_07_23_ttml_file_offset="00:00:00.000" ttml_08_23_ttml_source.DWD="1" ttml_08_23_ttml_service_number.DWD="8" ttml_08_23_ttml_language="eng" ttml_08_23_ttml_file="" ttml_08_23_ttml_file_offset="00:00:00.000" ttml_09_23_ttml_source.DWD="1" ttml_09_23_ttml_service_number.DWD="9" ttml_09_23_ttml_language="eng" ttml_09_23_ttml_file="" ttml_09_23_ttml_file_offset="00:00:00.000" ttml_10_23_ttml_source.DWD="1" ttml_10_23_ttml_service_number.DWD="10" ttml_10_23_ttml_language="eng" ttml_10_23_ttml_file="" ttml_10_23_ttml_file_offset="00:00:00.000" ttml_11_23_ttml_source.DWD="1" ttml_11_23_ttml_service_number.DWD="11" ttml_11_23_ttml_language="eng" ttml_11_23_ttml_file="" ttml_11_23_ttml_file_offset="00:00:00.000" ttml_12_23_ttml_source.DWD="1" ttml_12_23_ttml_service_number.DWD="12" ttml_12_23_ttml_language="eng" ttml_12_23_ttml_file="" ttml_12_23_ttml_file_offset="00:00:00.000" ttml_13_23_ttml_source.DWD="1" ttml_13_23_ttml_service_number.DWD="13" ttml_13_23_ttml_language="eng" ttml_13_23_ttml_file="" ttml_13_23_ttml_file_offset="00:00:00.000" ttml_14_23_ttml_source.DWD="1" ttml_14_23_ttml_service_number.DWD="14" ttml_14_23_ttml_language="eng" ttml_14_23_ttml_file="" ttml_14_23_ttml_file_offset="00:00:00.000" ttml_15_23_ttml_source.DWD="1" ttml_15_23_ttml_service_number.DWD="15" ttml_15_23_ttml_language="eng" ttml_15_23_ttml_file="" ttml_15_23_ttml_file_offset="00:00:00.000" ttml_16_23_ttml_source.DWD="1" ttml_16_23_ttml_service_number.DWD="16" ttml_16_23_ttml_language="eng" ttml_16_23_ttml_file="" ttml_16_23_ttml_file_offset="00:00:00.000" CML_P_ForcedSplitMinutes.DWD="0" CML_P_SourceSegmentSel.DWD="0" CML_P_SourceSegmentStart.DWD="-1" CML_P_SourceSegmentTime.DWD="-1" CML_P_SourceSegmentStartDbl.DBL="0.000000" CML_P_SourceSegmentTimeDbl.DBL="0.000000" FullUNCPath="\10.95.167.32transcodageFILMOLINEDRM_INRHOZET_OUTYacast_VM_SMOOTH"/>
      <Filter_0/>
      <Filter_1/>
    </Module_0>
  </Destinations>
  <ProjectSettings Stitching.DWD="1" TargetOverWrite.DWD="1">
    <KernelFlags KP_LetterBoxParam.DWD="0" KP_MethodVideoScaleUp.DWD="0" KP_MethodVideoScaleDown.DWD="0" KP_MethodVideoScaleThreads.DWD="0" KP_MethodVideoScaleOptions.DWD="0" KP_Activelinelength704.DWD="0" KP_TCFrameRateMode.DWD="0" KP_FrameRateMode.DWD="2" KP_SpecialMPEGScaling.DWD="1" KP_SpecialDeinterlacing.DWD="1" KP_SpecialD1toDVScaling.DWD="1" KP_RGB2YUV601.DWD="1" KP_YUV2RGB601.DWD="1" KP_AdjustDurationLimit.DWD="5" KP_AdjustDurationEnabled.DWD="1" KP_RestrictQuality.DWD="0" KP_AnamorphicScalingLimit.DWD="50" KP_AnamorphicScalingLimitEnabled.DWD="1" KP_SpecialVBIScaling.DWD="1" KP_DefaultSTLanguage.DWD="0" KP_DefaultAudioLanguage.DWD="0" KP_ForceInternalMPEGDecoder.DWD="1" KP_SetChapterAtStitch.DWD="0" KP_UseDropFrame.DWD="1" KP_UseMPEGTimeStamp.DWD="0" KP_MaxMediaCut.DWD="5" KP_UseLegacyMPEG.DWD="0" KP_UseLegacyQT.DWD="0" KP_UseNTSCSafeLetterBox.DWD="0"/>
  </ProjectSettings>
</cnpsXML>
27 Mai
2013

Transform Manager – SMIL avec cléfs de DRMization pour source SmoothStreaming

Voici une façon pour lancer une DRMization avec Transform Manager de Microsoft d’une source VM 2 Audio + SOUS-TITRE avec KeyID et KeySeed

Cela permet de générer des cléfs différentes en fonction du fichier à DRMizé :

<?xml version="1.0" encoding="utf-8"?>
<smil xmlns="http://www.w3.org/2001/SMIL20/Language">
  <head>
    <metadata id="meta-rdf">
      <rdf:RDF xmlns:iisms="http://schemas.microsoft.com/iis/media/v4/TM#" xmlns:sd="http://schemas.microsoft.com/iis/media/v4/SharedData#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">
        <iisms:task rdf:about="guid:9A3BFEAC-F8AE-41CA-87FA-D639E4D1C752">
          <!--id defined in C:ProgramDataMicrosoftIISTransform ManagerConfigurationTask DefinitionsPlayReady Protection.xml -->
          <iisms:id>9A3BFEAC-F8AE-41CA-87FA-D639E4D1C753</iisms:id>
          <sd:keyId>74fffeae-764f-2f24-5dd5-15a079460121</sd:keyId>
          <sd:keySeedValue>1234512345123451234512345123451234512345</sd:keySeedValue>
        </iisms:task>
      </rdf:RDF>
    </metadata>
  </head>
  <body>
    <seq>
    <video src="4001___Warner_Argo_vm_mezz_SS_2000.ismv" />
      <video src="4001___Warner_Argo_vm_mezz_SS_800.ismv" />
      <video src="4001___Warner_Argo_vm_mezz_SS_500.ismv" />
      <audio src="4001___Warner_Argo_vm_mezz_SS_256_fre.isma" systemLanguage="fre" />
      <audio src="4001___Warner_Argo_vm_mezz_SS_256_eng.isma" systemLanguage="eng" />
      <ref src="4001___Warner_Argo_vm_mezz_SS_en-us.ismt" />
      <ref src="4001___Warner_Argo_vm_mezz_SS.ismc" xmlns="" />
      <ref src="4001___Warner_Argo_vm_mezz_SS.ism" xmlns="" />
    </seq>
  </body>
</smil>

 

30 Jan
2013

Miscrosoft IIS Transform Manager 1

Ce produit permet la conversion automatique de fichiers VOD à l’aide d’un mécanisme de Watch Folders sur un serveur. Il permet notamment de re-multiplexer un ou plusieurs fichiers MP4 vers un contenu Smooth Streaming (sans ré-encodage!), d’encrypter des fichiers Smooth Streaming existants avec Microsoft PlayReady (DRM), et de convertir des fichiers Windows Media vers Smooth Streaming et Apple Adaptive Streaming.

Pour ajouter le cryptage PlayReady, trois valeurs sont indispensable :

  1. licenseAcquisitionUrl;
  2. keySeedValue;
  3. keyId.

Sachant que si le KeyID n’est pas renseigné, il est automatiquement généré par microsoft. Généralement un fichier est joint à la video contenant le keySeed permettant le cryptage, mais nous pouvons aussi bien imaginer un script permettant un random automatique de cette key.   Une quatrième key peut etre vu, la Content Key qui est obtenu avec la Key ID et la Key Seed …

Remarque :
Si vous prévoyez de créer un projet de diffusion en direct pour appareils Apple, ne définissez pas vos options DRM dans Expression Encoder. Définissez plutôt les paramètres IIS Media Services pour chiffrer le contenu à l’aide d’Advanced Encryption Standard (AES) et d’une clé 128 bits. Pour plus d’informations, consultez l’aide de IIS Media Services.

 

 

Telecharger l’application : http://www.microsoft.com/en-us/download/search.aspx?q=transform+manager

Tuto Transform Manager :

http://blogs.msdn.com/b/playready4/archive/2011/09/02/how-to-add-playready-protection-in-a-transform-manager-job-template.aspx

http://www.iis.net/learn/media/transform-manager/encrypting-on-demand-smooth-streams

http://www.pierrickmartos.fr/post/Encodez-vos-videos-au-format-Smooth-Streaming.aspx

http://blog.pouyat.com/2011/05/03/disponibilit-dune-beta-de-iis-transform-manager/

Tuto IIS Smooth Stream :

http://www.iis.net/learn/media/on-demand-smooth-streaming/getting-started-with-iis-smooth-streaming#content

http://www.labo-microsoft.org/articles/IISMEDIA4/3/Default.asp#_Toc309021955

http://www.leadtools.com/help/leadtools/v175/multimedia/filters/dlltutor/playingsmoothstreaming.htm

http://blogs.iis.net/vsood/archive/2009/10/14/building-your-first-smooth-streaming-player.aspx

http://www.tweened.org/fr/composants/silverlight-smooth-streaming-plugin-for-wordpress/

Tests :

http://www.microsoft.com/en-us/download/details.aspx?id=18199

http://blog.pouyat.com/2011/01/17/outil-de-monitoring-client-smooth-streaming/

http://playready.directtaps.net/smoothstreaming/

http://smf.cloudapp.net/healthmonitor

Divers :

http://alexzambelli.com/blog/

10 Jan
2013

VLC – Commandes Utiles

Quelques commandes de base :

Sources : 
http://www.videolan.org/doc/vlc-user-guide/fr/ch04.html
http://www.videolan.org/doc/streaming-howto/en/ch04.html
http://mccltd.net/blog/?p=502
Using VLC to transcode an Axis Camera’s video stream, and stream it out again
http://infos-reseau.com/streaming-vlc/ (Creation mosaïque vlc) http://www.christopher.compagnon.name/sitewww/vlc-rtsp.html (Diffusion en RTSP) Extensions vlc pour sampler une playlist : http://addons.videolan.org/content/show.php/Sampler?content=149688

 

Raspberry Pi 2 ou 3 et Raspbian Jessie - VLC 2.4 et accélération matériel (hardware acceleration)

Raspberry Pi 2 ou 3 et Raspbian Jessie – VLC 2.4 et accélération matériel (hardware acceleration)

Aujourd’hui je vais à nouveau publier une mise à jour de l’article : Raspberry Pi 2 – VLC et accélération matériel (hardware [&hellip

Raspberry Pi 2 ou 3 et Raspbian Jessie - VLC 2.2 et accélération matériel (hardware acceleration)

Raspberry Pi 2 ou 3 et Raspbian Jessie – VLC 2.2 et accélération matériel (hardware acceleration)

UPDATE : Raspberry Pi 2 ou 3 et Raspbian Pixel – VLC 2.4 et accélération matériel (hardware acceleration) Aujourd’hui je vais [&hellip

Compilation de la derniere version de FFMPEG

Compilation de la derniere version de FFMPEG

Bonjour à tous, Aujourd’hui un petit tuto pour avoir la dernière version de ffmpeg, ce tutoriel à été utilisé maintes [&hellip

Raspberry Pi 2 - VLC et accélération matériel (hardware acceleration)

Raspberry Pi 2 – VLC et accélération matériel (hardware acceleration)

UPDATE : Raspberry Pi 3 et Raspbian Pixel – VLC 2.4 et accélération matériel (hardware acceleration) Ayant un petit projet de [&hellip

FFMPEG - Diffuser un flux ip multicast en adaptative smooth streaming

FFMPEG – Diffuser un flux ip multicast en adaptative smooth streaming

Un petit script bien utile pour délivrer un flux video multicast en adaptative smooth streaming

Installation de Transform Manager

Installation de Transform Manager

Prérequis – résumé : Télécharger Transform Manager Télécharger IIS Media Services 4.1 Télécharger IIS Managment console Télécharger .NET Framework 3.5 [&hellip

Suivez moi !

Follow Me! Follow Me! Follow Me! Follow Me!

Chercher