Installation du convertisseur de vidéos / sons

 
Afin de pouvoir télécharger des sons et des vidéos sur votre site web, un composant tournant sur le serveur en tâche de fond doit être installé. Si votre site web tourne sur un serveur mutualisé, ce service est installé nativement par nos équipes. Si vous êtes sur un serveur dédié, voici la configuration d'installation à respecter. 
 

Introduction : 

Afin de pouvoir télécharger un peu prêt n'importe quelle type de vidéo où son sur votre site, un convertisseur est installé et tourne en tâche de fond sur le serveur hébergeant votre site web. Par le passé nous utilisions un Applet Java pour cette conversion, mais suite à des limitations toujours plus importantes sur l'utilisation d'add-ons complémentaires sur la navigateurs nous avons décidé de remplacer cette technologie. Ce dernier travail en tâche dite séquentiel et traite dès lors les fichiers par leur ordre d'arrivée.
Ainsi si deux personne téléchargent un ou plusieurs fichiers multimédia sur un même site web où sur deux sites web hébergés sur la même infrastructure, le système traitera un premier fichier, puis une fois terminé un second fichier jusqu'à ce que la queue de traitement soit vide. Le système attend que le fichier soit chargé dans sa globalité avant de commencer la conversion de ce dernier.
Vous pouvez télécharger des fichiers de toute taille (également plus grand que 2 Go) tout pour autant que vous respectez l'espace d'hébergement disponible de votre site web (si vous ne connaissez pas la taille, vous pouvez y accéder via le backoffice de votre site web ou ouvrir un ticket de support). Le processus de conversion de vidéo pouvant être quelque peu gourmand pour ne pas dire cannibalisant l'ensemble du CPU disponible sur votre serveur, nous limitons dès lors le nombre de traitements et la vitesse de traitement de chaque vidéo.
Ainsi même si 50 vidéos sont à convertir, votre site web ne sera pas ralenti pendant la phase de conversion de vidéos. Le système se basant sur le nombre de CPU présent sur le système, si votre serveur ne dispose que d'un seul CPU avec un coeur, le système aura un paramètrage de conversion FFMpegProcessPriority actif sur la valeur BelowNormal. Dans le cas où votre machine dispose de 2 CPU, le système n'exploitera qu'un seul CPU avec la vitesse de conversion activée sur Normal. Si votre machine dispose de 4 CPU ou plus, le système utilisera la moitié des CPU disponible. Selon l'utilisation et la charge CPU de votre machine dans son écho-système journalier vous pourrez dès lors changer la variable FFMpegProcessPriority en passant par exemple à High afin de diminuer le temps de progression.
Attention à noter que plus vous augmenterez la vitesse de conversion et plus votre serveur pourra être chargé et dès lors votre site devenir lent voir même inaccessible. Il est strictement recommandé de ne jamais utiliser la valeur "RealTime" qui peut rendre le serveur instable durant le processus de conversion. Sans toucher les paramètres de conversion dans le fichier de configuration, le système adaptera automatiquement pour vous les configurations adéquates pour votre machine. 
 
* L'ensemble des fonctionnalités et tests peuvent être retrouvés sur la page web de notre communauté liés à ce sujet : https://support.artionet.com/community/a34/remplacement-des-applets-java-beta-testeurs-recherches.aspx 

Formats de conversions autorisés : 

Les formats vidéos suivants sont autorisés : 
  • mp4
  • h264
  • wmv
  • avi
  • flv
  • mov
  • mkv
  • m4v
  • webm
  • ogg
  • 3gp
Les tailles vidéos autorisés vont de 320x240 au formats 8K (4096x2304)
Les poids vidéos recommandés > 10 Go
Les durées de vidéos recommandées > 10 minutes
 
Les formats sons suivants sont autorisés : 
  • mp3
  • wav
  • wma
  • aac
Les poids des sons et les durées de sons ne sont pas limités
 

1. Création du dossier de conversion

Afin de pouvoir convertir les sons/vidéos du format original (brut) en format optimisé pour le web, il faut installer un dossier de traitement dans lequel les conversions seront effectuées. Il faut dès lors créer un dossier de traitement. Attention il ne faut jamais utiliser la partition système "C:\" au risque d'avoir un disque dur plein qui pourrait faire tomber le système. L'installation par défaut se fait dans le répertoire :
 
D:\Data\Services\VideoConverter\

Il faut aussi créer les différents sous-dossiers nécessaires au fonctionnement du système.

bin - contient le programme de conversion
errors - contient les éventuels fichiers qui ont échoué durant la conversion
FSServices - contient l’exécutable du FileWatcherService
logs - contient les logs des différents fichiers vidéos / audios convertis ou éventuelles erreurs
 
 

2. Installation du FileWatcherService

Afin de pouvoir détecter l'arrivée d'un nouveau son/vidéo, le système sera équipé d'un composant appelé FileWatcherService qui détectera l'écriture de fichiers. Une fois le son/vidéo téléchargé dans son intégralité (les fichiers sont téléchargés en lots de 500 kb), le système contrôlera l'intégralité du fichier, générera un fichier XML de structuration de la conversion attendue (content les paramètres nécessaires) et lancera une tâche de conversion du fichier original en un fichier optimisé pour internet. 
  • Dès lors il vous faudra copier l’exécutable du FileWatcherService dans le dossier FSSservice
  • Créer un fichier FSWatcherServiceConfiguration.xml dont voici ci-dessous la configuration de base : 
<?xml version="1.0" encoding="utf-8" ?>
<Configuration>
  <Folders>
  <!-- Vous pouvez observer plusieurs répertoires en spécifiant plusieurs sections "Folder" -->
    <Folder>
      <!-- Chemin à observer -->
      <Path>D:\Data\Services\VideoConverter</Path>
      <!-- Extensions acceptées ou vide -->
      <Filter>*.xml</Filter>
      <!-- Exécutable à exécuter lors de création d'un fichier dans le répertoire susmentionné -->
      <Command>D:\Data\Services\VideoConverter\bin\Artionet.Customers.VideoConverter.exe</Command>
      <!-- Arguments à passer. {0} se traduit en chemin complet vers le fichier créé. -->
      <CommandArguments>"{0}"</CommandArguments>
    </Folder>
  </Folders>
</Configuration>
  • Ouvrir un invité de commande au niveau du dossier FSSservice/
  • Lancer la commande suivante : C:\Windows\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe /i Artionet.IceCube.FSWatcherService.exe
    Cette commande permet d’installer le FileWatcherService sous forme de service Windows©
  • Vérifier que le service Windows© est bien démarré et qu’il est configuré avec un "Startup type" à "Automatic" (démarrage automatique).
 
Remarque : Si vous souhaitez désinstaller le service Windows, voici la ligne de commande nécessaire : C:\Windows\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe /i Artionet.IceCube.FSWatcherService.exe (toujours avec un invité de commande placé dans le dossier FSService).
 
 

3. Installation du programme de conversion

Placer les binaires (exe + dll) fournis par nos équipes dans le dossier bin/.
Editez le fichier de configuration du programme de conversion (Artionet.Customers.VideoConverter.exe.config) selon vos besoins. Vous trouvez ci-dessous la définition des paramètres possibles.
  • TempDirectory : représente le dossier de conversion (ne pas mettre de / à la fin)
  • FFMPegProcessPriority : représente la priorité du processus FFMpeg quand il est en exécution
  • HighWidthLarge et HighHeightLarge : représente la dimension de la vidéo en qualité "Haute (Wifi)" en ratio "16/9"
  • NormalWidthLarge et NormalHeightLarge : représente la dimension de la vidéo en qualité "Normale (3G/4G)" et ratio "16/9"
  • LowWidthLarge et LowHeightLarge : représente la dimension de la vidéo en qualité "Bas (2G)" en ratio "16/9"
  • HighWidthSmall et HighHeightSmall : représente la dimension de la vidéo en qualité "Haute (Wifi)" en ratio "4/3"
  • NormalWidthSmall et NormalHeightSmall : représente la dimension de la vidéo en qualité "Normale (3G/4G)" et ratio "4/3"
  • LowWidthSmall et LowHeightSmall : représente la dimension de la vidéo en qualité "Bas (2G)" en ratio "4/3"
 
Voici un exemple du fichier de configuration : 
 
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>
    <add key="TempDirectory" value="D:/Data/Services/VideoConverter" />
	<!--
	Normal
	Idle
	High
	RealTime
	BelowNormal
	AboveNormal
	-->
	<add key="FFMpegProcessPriority" value="Normal" />
	<!-- dimension selon la qualité -->
	<add key="HighWidthLarge" value="1920" />
	<add key="HighHeightLarge" value="1080" />
	<add key="NormalWidthLarge" value="1280" />
	<add key="NormalHeightLarge" value="720" />
	<add key="LowWidthLarge" value="852" />
	<add key="LowHeightLarge" value="480" />
	<add key="HightWidthSmall" value="1440" />
	<add key="HighHeightSmall" value="1080" />
	<add key="NormalWidthSmall" value="960" />
	<add key="NormalHeightSmall" value="720" />
	<add key="LowWidthSmall" value="640" />
	<add key="LowHeightSmall" value="480" />
  </appSettings>
</configuration>
 

4. Paramètrage du site pour activer l'upload full HTML 5

Une fois le composant installé, il vous faudra définir le lieu de stockage des éléments téléchargés sur votre site web grâce au paramètre général : MediasUploadDirectoryPath qui devra contenir le chemin du dossier de conversion complet (par exemple : D:/Data/Services/VideoConverter/) (il est important que le chemin finisse par un /). 
Une fois l'opération terminée, réenregistrez votre fichier web.config et tester votre conversion en ligne.
 
Important : Afin de pouvoir utiliser le composant full HTML5, vous devez disposer de la version 2.11.5 ou supérieure.