Formats de compression vidéo

Formats de compression vidéo utilisés par CamTrace V11 : avantages et inconvénients.

1) Formats d’acquisition et de stockage utilisées par CamTrace.

CamTrace n’effectue aucune compression des images par lui-même. CamTrace stocke et réémet les formats utilisés par les caméras elles-mêmes. CamTrace V11 accepte trois formats d’acquisition et de stockage. Le format utilisé depuis plusieurs années par CamTrace est le mjpeg (motion jpeg) qui est une succession d’images jpeg compressées plus ou moins fortement. La plage de compression utilisable va de 30% à 85%.

Les nouveaux formats d’acquisition et de stockage introduits par la version 11 de CamTrace
(5.11.xx et 6.11.xx) sont le mpeg4 v2 et v10 (H264). Camtrace SAS supporte ce dernier format de compression couramment appelé H264 qui donne des résultats compatibles avec la qualité requise en vidéosurveillance professionnelle. CamTrace supporte la norme ONVIF qui a été adoptée par les principaux fabricants de caméras IP. Cette norme généralise le protocole RTSP pour l’acquisition des images en H264. Le H264 permet des compressions d’images de 4 à 10 fois plus élevées que le mjpeg avec toutefois des inconvénients qu’il est important de connaître pour choisir le format le plus adapté à ses besoins. En effet, contrairement au mjpeg, le H264 compresse une image (comme en jpeg) puis envoie uniquement les différences avec l’image précédente. Cette différence fondamentale, associée aux ressources matérielles supérieures nécessaires pour le « fabriquer », rend le H264 moins souple d’utilisation, notamment en relais vidéo temps réel.
L’image entière envoyée en H264 s’appelle l’image i. Le groupe d’images entre deux images i est appelé le GOV (Group of Images).

2) Avantages et inconvénients des formats Mjpeg, mpeg4-v2 et mpeg4-v10 (H264).

– Volume des données

Le H264 diminue par 4 le volume de stockage pour des images en mouvement dans lesquelles une partie de l’image est fixe. C’est le principal avantage du H264 qui diminue donc aussi la bande passante nécessaire sur le réseau d’acquisition des images (puisque la compression est réalisée sur la caméra elle-même). Pour des images totalement fixes le gain en volume peut être supérieur (facteur 10) mais cela n’a pas beaucoup d’intérêt en vidéosurveillance où l’on s’intéresse avant tout aux mouvements. Une simple détection de mouvement sur la caméra permet en effet de ne pas enregistrer une succession d’images fixes sur le serveur.

– Qualité

Les deux formats sont destructifs c’est à dire que l’on perd des informations par rapport à l’image native du capteur. La qualité du mjpeg est supérieure si on reste dans des niveaux de compression raisonnables (30 – 40%). Le mpeg4-v2 a une qualité inférieure au v10 (H264) et doit être évité en cas d’effets de zoom.

– Insuffisance de bande passante

En H264 une diminution de bande passante en dessous du seuil nécessaire à l’établissement du flux provoque la dégradation du train complet d’images (mosaïque de carrés flous), avec quelques secondes de resynchronisation lorsque la bande passante est rétablie. Plus grave, lorsque les images h264 sont organisées en mosaïques, une insuffisance de bande passante peut altérer la totalité des images. Un flux « en trop » peut donc provoquer la dégradation de l’ensemble des vues. En mjpeg une diminution de bande passante provoque un ralentissement du rythme des images émises, puis une accélération lorsque la bande passante se rétablit. Il n’y a jamais d’images corrompues à l’affichage. En mosaïque, lorsque des flux supplémentaires sont demandés il y a un ralentissement progressif de toutes les vues sans perte d’image.

– Changement de vue – cycles

Le passage d’une caméra à une autre dans une même fenêtre de visualisation est légèrement plus rapide en mjpeg qu’en H264. L’image mjpeg est plus lourde mais il est possible d’afficher la première qui se présente. Les images H264 sont plus légères mais il faut attendre la réception sur une image i pour commencer à visualiser.

– Compression/décompression

Le H264 étant plus compressé, il demande plus de ressources en décompression, toutefois la
différence n’est pas proportionnelle au niveau de compression. Le H264 n’est pas beaucoup plus lourd à décompresser que le mjpeg. Il est en revanche plus lourd à compresser (travail effectué par les caméras). A noter que des cartes graphiques permettent une accélération matérielle de la décompression mpeg4 (v2/v10) alors que la décompression mjpeg n’est pas prise en charge par le matériel. Pour que la décompression matérielle fonctionne il faut bien entendu que le composant de visualisation installé sur poste client soit capable d’en tirer parti. C’est le cas du composant CamTrace sous Windows XP. La décompression matérielle ne consomme aucune CPU du poste client. C’est le GPU qui est sollicité. Suivant les OS, les modèles de cartes graphiques et les drivers utilisés, le nombre de décompressions assurées par le matériel est variable. Une carte Nvidia sous Windows XP permet 6 décompressions matérielles. Au delà le composant de visualisation CamTrace bascule automatiquement sur de la décompression logicielle (qui consomme de la CPU). Attention, les cartes graphiques ne permettent pas de décompresser des images dont la résolution est supérieure à celle de l’écran qu’elles gèrent.

– Allègement d’un flux sans décompression

Le mjpeg peut être allégé sans avoir à le décompresser. Il suffit d’ignorer des images pour s’adapter à la bande passante ou à la capacité de décompression du poste client. CamTrace gère automatiquement cette adaptation lorsqu’il relaye les flux de visualisation. Plusieurs utilisateurs ayant des bandes passantes très différentes peuvent donc visualiser un même flux issu d’une caméra. Dans ce format, le rythme des images en enregistrement peut être réglé indépendamment des rythmes de visualisation. Le H264 ne peut pas être allégé sans décompression / recompression sur le serveur ce qui rend impossible l’adaptation à la bande passante ou à la capacité de décompression du poste client. La seule possibilité (rustique) consiste à éliminer toutes les images situées entre deux images i (96% des images avec un GOV de 30). Comme CamTrace relaye les flux H264 vers tous les postes qui les demandent, le flux venant d’une caméra doit être dimensionné pour le poste ayant la plus faible bande passante. Autre conséquence importante le nombre d’image par seconde ne peut être dissocié entre l’enregistrement et la visualisation. Le seul moyen d’alléger un flux H264 pour qu’il prenne moins de bande passante est de demander à la caméra de fournir un flux occupant une bande passante plus faible.

– Gestion de flux multiples

Donc en H264 si on veut s’adapter à plusieurs bandes passantes différentes il faut obligatoirement que la caméra émette plusieurs flux différents et que le serveur sache les exploiter, ce qui est le cas de CamTrace (notion de caméras virtuelles). La plupart des caméras sait émettre plusieurs flux H264 correspondant à des bandes passantes différentes (niveau de compression, taille des images et nombre d’images par seconde différentes) mais cela demande une importante capacité de calcul. Les caméras bas de gamme savent généralement émettre deux types de flux (c’est le minimum vital si on veut fonctionner en H264). De nombreuses caméras proposent trois types de flux simultanés accessibles par des URL ayant des noms réservés. On paramètre dans la caméra, la nature du flux que l’on veut obtenir pour chacune de ces URL (H264/mpeg4/mjpeg – résolution – nbr d’i/s – compression – cbr ou vbr etc.) Les caméras Axis Communications savent fabriquer et émettre 5 à 10 types de flux différents en H264 ou en mjpeg. La définition du type de flux se fait directement dans l’URL.

– Lecture des vidéos

Le mjpeg étant une succession d’images il peut être lu en avant ou en arrière. Il peut être accéléré dans la limite de la capacité de décompression du poste client, on peut également sauter des images pour accélérer une recherche. Les formats Mpeg4 et H264 ne peuvent être lus que dans un sens puisque le flux ne transmet que les variations avec l’image précédente (sauf pour les images i). Le flux peut être accéléré dans la limite de la capacité de décompression du poste client mais on ne peut pas sauter des images à volonté. Le saut d’image ne peut se faire qu’entre images i. Le magnétoscope de CamTrace permet également la lecture en arrière des images i.

– Exportation des vidéos

Toutes les vidéos, quel que soit leur format, sont stockées dans des fichiers qui regroupent plusieurs centaines d’images. Les formats mpeg4 et H264 sont stockés dans des conteneurs mp4 standard. Les tranches d’images créées par CamTrace en enregistrement sont directement exportables et lisibles avec les lecteurs du marché tels que VLC ou media player. Le format mpeg est stocké dans un conteneur appelé « tranche » qui n’est pas directement exportable. CamTrace fournit l’outil de conversion qui permet de placer toutes les images jpeg comprises entre deux dates dans un conteneur avi lisible par VLC ou media player.

– Photo-surveillance

Pour tous les enregistrements qui se font à moins d’une image par seconde (photo-surveillance) le H264 n’est pas utilisable, il faudra toujours utiliser du mjpeg. Exemples : progression d’un chantier, surveillance du niveau d’un cours d’eau à 10 images par jour ou relevé de circulation à 1 image par minute.

3) Tableau de comparaison mjpeg / mpeg4 / H264

1) Formats d’acquisition et de stockage utilisées par CamTrace.

mjpeg mpeg4 (mpeg4-v2) H264 (mpeg4-v10)
Qualité d’image **** ** ***
Charge réseau (faible utilisation de la bande passante) * ** ****
Durée d’enregistrement sur le disque * ** ****
Charge de compression dans la caméra. (impacte la génération de flux multiples) *** ** **
Charge de décompression (sur le poste client) *** ** **
Charge de décompression (sur le poste client avec accélération matérielle) *** **** ****
Possibilité d’alléger le flux vidéo sans décompression ***(1)
Rapidité d’établissement du flux (gestion des cycles) *** ** **
Comportement lorsque la bande passante ou la CPU deviennent insuffisantes **** * *
Souplesse du magnétoscope (lecture pas à pas, en arrière, accélérée, sauts d’images) ****(2) *(3) ***(2) *(3) ***(2) *(3)
Compatibilité des fichiers exportés avec des lecteurs standard (media player, VLC) **(4) **** ****
Photo surveillance (prises de vue inférieures à une i/s) ****

c

Formats de compression vidéo utilisés par CamTrace V11 : avantages et inconvénients.

1) Formats d’acquisition et de stockage utilisées par CamTrace.

CamTrace n’effectue aucune compression des images par lui-même. CamTrace stocke et réémet les formats utilisés par les caméras elles-mêmes. CamTrace V11 accepte trois formats d’acquisition et de stockage. Le format utilisé depuis plusieurs années par CamTrace est le mjpeg (motion jpeg) qui est une succession d’images jpeg compressées plus ou moins fortement. La plage de compression utilisable va de 30% à 85%.

Les nouveaux formats d’acquisition et de stockage introduits par la version 11 de CamTrace
(5.11.xx et 6.11.xx) sont le mpeg4 v2 et v10 (H264). Camtrace SAS supporte ce dernier format de compression couramment appelé H264 qui donne des résultats compatibles avec la qualité requise en vidéosurveillance professionnelle. CamTrace supporte la norme ONVIF qui a été adoptée par les principaux fabricants de caméras IP. Cette norme généralise le protocole RTSP pour l’acquisition des images en H264. Le H264 permet des compressions d’images de 4 à 10 fois plus élevées que le mjpeg avec toutefois des inconvénients qu’il est important de connaître pour choisir le format le plus adapté à ses besoins. En effet, contrairement au mjpeg, le H264 compresse une image (comme en jpeg) puis envoie uniquement les différences avec l’image précédente. Cette différence fondamentale, associée aux ressources matérielles supérieures nécessaires pour le « fabriquer », rend le H264 moins souple d’utilisation, notamment en relais vidéo temps réel.
L’image entière envoyée en H264 s’appelle l’image i. Le groupe d’images entre deux images i est appelé le GOV (Group of Images).

2) Avantages et inconvénients des formats Mjpeg, mpeg4-v2 et mpeg4-v10 (H264).

– Volume des données

Le H264 diminue par 4 le volume de stockage pour des images en mouvement dans lesquelles une partie de l’image est fixe. C’est le principal avantage du H264 qui diminue donc aussi la bande passante nécessaire sur le réseau d’acquisition des images (puisque la compression est réalisée sur la caméra elle-même). Pour des images totalement fixes le gain en volume peut être supérieur (facteur 10) mais cela n’a pas beaucoup d’intérêt en vidéosurveillance où l’on s’intéresse avant tout aux mouvements. Une simple détection de mouvement sur la caméra permet en effet de ne pas enregistrer une succession d’images fixes sur le serveur.

– Qualité

Les deux formats sont destructifs c’est à dire que l’on perd des informations par rapport à l’image native du capteur. La qualité du mjpeg est supérieure si on reste dans des niveaux de compression raisonnables (30 – 40%). Le mpeg4-v2 a une qualité inférieure au v10 (H264) et doit être évité en cas d’effets de zoom.

– Insuffisance de bande passante

En H264 une diminution de bande passante en dessous du seuil nécessaire à l’établissement du flux provoque la dégradation du train complet d’images (mosaïque de carrés flous), avec quelques secondes de resynchronisation lorsque la bande passante est rétablie. Plus grave, lorsque les images h264 sont organisées en mosaïques, une insuffisance de bande passante peut altérer la totalité des images. Un flux « en trop » peut donc provoquer la dégradation de l’ensemble des vues. En mjpeg une diminution de bande passante provoque un ralentissement du rythme des images émises, puis une accélération lorsque la bande passante se rétablit. Il n’y a jamais d’images corrompues à l’affichage. En mosaïque, lorsque des flux supplémentaires sont demandés il y a un ralentissement progressif de toutes les vues sans perte d’image.

– Changement de vue – cycles

Le passage d’une caméra à une autre dans une même fenêtre de visualisation est légèrement plus rapide en mjpeg qu’en H264. L’image mjpeg est plus lourde mais il est possible d’afficher la première qui se présente. Les images H264 sont plus légères mais il faut attendre la réception sur une image i pour commencer à visualiser.

– Compression/décompression

Le H264 étant plus compressé, il demande plus de ressources en décompression, toutefois la
différence n’est pas proportionnelle au niveau de compression. Le H264 n’est pas beaucoup plus lourd à décompresser que le mjpeg. Il est en revanche plus lourd à compresser (travail effectué par les caméras). A noter que des cartes graphiques permettent une accélération matérielle de la décompression mpeg4 (v2/v10) alors que la décompression mjpeg n’est pas prise en charge par le matériel. Pour que la décompression matérielle fonctionne il faut bien entendu que le composant de visualisation installé sur poste client soit capable d’en tirer parti. C’est le cas du composant CamTrace sous Windows XP. La décompression matérielle ne consomme aucune CPU du poste client. C’est le GPU qui est sollicité. Suivant les OS, les modèles de cartes graphiques et les drivers utilisés, le nombre de décompressions assurées par le matériel est variable. Une carte Nvidia sous Windows XP permet 6 décompressions matérielles. Au delà le composant de visualisation CamTrace bascule automatiquement sur de la décompression logicielle (qui consomme de la CPU). Attention, les cartes graphiques ne permettent pas de décompresser des images dont la résolution est supérieure à celle de l’écran qu’elles gèrent.

– Allègement d’un flux sans décompression

Le mjpeg peut être allégé sans avoir à le décompresser. Il suffit d’ignorer des images pour s’adapter à la bande passante ou à la capacité de décompression du poste client. CamTrace gère automatiquement cette adaptation lorsqu’il relaye les flux de visualisation. Plusieurs utilisateurs ayant des bandes passantes très différentes peuvent donc visualiser un même flux issu d’une caméra. Dans ce format, le rythme des images en enregistrement peut être réglé indépendamment des rythmes de visualisation. Le H264 ne peut pas être allégé sans décompression / recompression sur le serveur ce qui rend impossible l’adaptation à la bande passante ou à la capacité de décompression du poste client. La seule possibilité (rustique) consiste à éliminer toutes les images situées entre deux images i (96% des images avec un GOV de 30). Comme CamTrace relaye les flux H264 vers tous les postes qui les demandent, le flux venant d’une caméra doit être dimensionné pour le poste ayant la plus faible bande passante. Autre conséquence importante le nombre d’image par seconde ne peut être dissocié entre l’enregistrement et la visualisation. Le seul moyen d’alléger un flux H264 pour qu’il prenne moins de bande passante est de demander à la caméra de fournir un flux occupant une bande passante plus faible.

– Gestion de flux multiples

Donc en H264 si on veut s’adapter à plusieurs bandes passantes différentes il faut obligatoirement que la caméra émette plusieurs flux différents et que le serveur sache les exploiter, ce qui est le cas de CamTrace (notion de caméras virtuelles). La plupart des caméras sait émettre plusieurs flux H264 correspondant à des bandes passantes différentes (niveau de compression, taille des images et nombre d’images par seconde différentes) mais cela demande une importante capacité de calcul. Les caméras bas de gamme savent généralement émettre deux types de flux (c’est le minimum vital si on veut fonctionner en H264). De nombreuses caméras proposent trois types de flux simultanés accessibles par des URL ayant des noms réservés. On paramètre dans la caméra, la nature du flux que l’on veut obtenir pour chacune de ces URL (H264/mpeg4/mjpeg – résolution – nbr d’i/s – compression – cbr ou vbr etc.) Les caméras Axis Communications savent fabriquer et émettre 5 à 10 types de flux différents en H264 ou en mjpeg. La définition du type de flux se fait directement dans l’URL.

– Lecture des vidéos

Le mjpeg étant une succession d’images il peut être lu en avant ou en arrière. Il peut être accéléré dans la limite de la capacité de décompression du poste client, on peut également sauter des images pour accélérer une recherche. Les formats Mpeg4 et H264 ne peuvent être lus que dans un sens puisque le flux ne transmet que les variations avec l’image précédente (sauf pour les images i). Le flux peut être accéléré dans la limite de la capacité de décompression du poste client mais on ne peut pas sauter des images à volonté. Le saut d’image ne peut se faire qu’entre images i. Le magnétoscope de CamTrace permet également la lecture en arrière des images i.

– Exportation des vidéos

Toutes les vidéos, quel que soit leur format, sont stockées dans des fichiers qui regroupent plusieurs centaines d’images. Les formats mpeg4 et H264 sont stockés dans des conteneurs mp4 standard. Les tranches d’images créées par CamTrace en enregistrement sont directement exportables et lisibles avec les lecteurs du marché tels que VLC ou media player. Le format mpeg est stocké dans un conteneur appelé « tranche » qui n’est pas directement exportable. CamTrace fournit l’outil de conversion qui permet de placer toutes les images jpeg comprises entre deux dates dans un conteneur avi lisible par VLC ou media player.

– Photo-surveillance

Pour tous les enregistrements qui se font à moins d’une image par seconde (photo-surveillance) le H264 n’est pas utilisable, il faudra toujours utiliser du mjpeg. Exemples : progression d’un chantier, surveillance du niveau d’un cours d’eau à 10 images par jour ou relevé de circulation à 1 image par minute.

3) Tableau de comparaison mjpeg / mpeg4 / H264

1) Formats d’acquisition et de stockage utilisées par CamTrace.

mjpeg mpeg4 (mpeg4-v2) H264 (mpeg4-v10)
Qualité d’image **** ** ***
Charge réseau (faible utilisation de la bande passante) * ** ****
Durée d’enregistrement sur le disque * ** ****
Charge de compression dans la caméra. (impacte la génération de flux multiples) *** ** **
Charge de décompression (sur le poste client) *** ** **
Charge de décompression (sur le poste client avec accélération matérielle) *** **** ****
Possibilité d’alléger le flux vidéo sans décompression ***(1)
Rapidité d’établissement du flux (gestion des cycles) *** ** **
Comportement lorsque la bande passante ou la CPU deviennent insuffisantes **** * *
Souplesse du magnétoscope (lecture pas à pas, en arrière, accélérée, sauts d’images) ****(2) *(3) ***(2) *(3) ***(2) *(3)
Compatibilité des fichiers exportés avec des lecteurs standard (media player, VLC) **(4) **** ****
Photo surveillance (prises de vue inférieures à une i/s) ****

(1) uniquement le nombre d’images par seconde.
(2) avec le magnétoscope de CamTrace
(3) avec media player ou VLC
(4) programme de conversion nécessaire (fourni avec CamTrace).
**** meilleure performance
*** performance élevée
** performance moyenne
* performance faible
– impossible

– Organisation rationnelle d’une installation CamTrace en H264.

Pour optimiser les fonctions d’enregistrement, d’indexation et de rediffusion nous conseillons de prélever plusieurs types de flux sur chaque caméra en utilisant la notion de caméra virtuelle propre à CamTrace. Une caméra virtuelle ne compte pas dans le décompte des licences CamTrace. Le flux mégapixel natif des caméras servira à l’enregistrement. Par exemple enregistrement en HD 1920 x 1080 à 12 i/s compression 35% en CBR 2 Mb/s avec un GOV de 20. La loupe du magnétoscope permet d’accéder à tous les détails d’une image mégapixel dont la résolution dépasse celle de l’écran (par exemple image 5 Mpixels).
On établira par ailleurs un flux mjpeg de petite taille destiné à l’indexation et à la diffusion en groupe ou sur téléphone portable. Par exemple enregistrement indexé en mjpeg en 320 x 240 ou 480 x 360 à 3 i/s avec une compression de 40%. Ce flux de débit et d’encombrement faibles permettra de rechercher tous les mouvements dans l’image. Après repérage d’un évènement sur le flux faible débit on peut ouvrir le magnétoscope en haute résolution sur la même période. Ce flux pourra aussi être utilisé pour fabriquer un groupe de levée de doute avec possibilité de connexion à distance. Il permettra des recherches magnétoscopes très rapides à partir d’un smartphone ou tablet pc android. Pour les caméras qui le permettent on peut aussi établir un flux H264 de qualité intermédiaire pour la visualisation locale en groupe. Ce flux ne sera pas enregistré. Par exemple H264 en 640 x 480 à 10 i/s compression 35% en CBR 500 Mb/s avec un GOV de 20.

Powered by WordPress | Designed by: seo services | Thanks to credit repair, web design st louis and seo company