Choix de Techno - Acquisition Audio, Vidéo, Multithreading

Bonjour à tous !

Bon aller je me lance.
Pour situer le bonhomme, je suis actuellement en PFE (projet de fin d’étude) et mon sujet porte sur l’acquisition/analyse temps réel de son provenant de (attention les yeux…) plusieurs micros.

Mais on m’a demandé de faire l’achat dun PC(serveur?) pouvant acceuillir la gestion de l’analyse, stockage pour l’audio et la vidéo.

Il y a quelque année de cela, j’aurai su ce que je devais acheter, mais aujourd’hui… Donc j’ai besoin de quelques conseils, surtout niveau techno, sachant que l’appro composant est un peu délicate (je suis au vietnam :jap: ) :wink:

Donc voilà mes questions/demande de conseil :

  • Pour exploiter un dualcore, faut-il coder d’une manière spécifique(on code toutes les applis) ? La question est en fait, mes applis sont multithread (on pseudo-multi-thread pour les puristes) dois-je utiliser des jeux d’instructions spécifique pour porfiter des avantage double coeur, ou est ce l’OS (ou la souris) qui se charge de ca ?

  • Les quantités de données qui vont transiter vont être assez importantes (temps réel sur 8flux audio/4vidéos), niveau techno dur je penche vers quoi ? SCSI toujours d’actualité, carte RAID dédié, ou simple SATA qui va bien ?

  • J’ai besoin de faire pas mal d’analyse temps réel sur le son et la vidéo, vous avec un petit processeur qui va bien (du moins une techno/marque/chip) ?

  • Des conseils en vrac pour ce type de matos ? la RAM ?

VOilà merci d’avance pour vos réponses ! Je sais qu’elles sont toutes dans les benchs, mais la question vient de me tomber dessus, et à mon commencement des lecture du jours, je repars quasiement de zéro niveau connaissance…

Salut et merci !

PS : Bien entendu, comme toute bonne config qui se respecte, et comme toute bonne question venant d’une supériorité hierrachique, faut que ca soit pas cher :wink: (<1500$ la tour…)

normalement si tes appli sont dejà en multithread, alors pas besoin de faire quoique celà pour utiliser de bonne facon un dual core, ensuite un dd sata fera l’affaire si ta besoin de debit alors un raid0 sata sera tres bien mais oublie le scsi, pour moins chere tu a les fameux WD raptor a 10000 tr/min, ram 2 go seront le sbien venus je pense ou le 1 go sera le minimum

Tu parle d’acquisition de flux audio provenant de plusieurs micros, mais aussi de vidéo. :heink:

Tu as combien de flux à acquérir en même temps? De la vidéo ou de l’audio?

Question qui me parait importante également, l’analyse consiste en quoi?

Quel traitement sera éffectué?

8 flux audio, mais via carte d’acquisition NI donc ca ne sera pas le problème majeur niveau bus du moins…
4 ou 5 flux vidéos (je ne peux pas fournir plus de précision concernant cela)

Pour tout ce qui est analyse, sur l’audio c’est de la classification temps réel de voix, de sons en langue vietnamienne, les algos ont été déjà dévellopé (pas pour du temps réel à mon grand désarrois d’ailleurs
Pour ce qui est de la vidéo, du même aquabit, analyse, reconnaissance des personnes, classification et suivie temps réel…
Donc les algos derrière sont quand même bien costaud… !

Sauvegarde en continue des 8 flux audio, et des 4 vidéos en brut, et en données traitées.

Äprès une session d’enregistrement, deux trois heures, ont peux envisager une sauvegarde sur bande. Mais quand tout tourne en même temps, il faut que les temps de réponses des durs soit très courts.

Voilà voilà, si vous avez besoin de plus d’infos, hésitez pas !

Merci

Ah ouais, c’est bien spécifique quand même. :confused:

En fait il faudrait presque avoir une idée de la "gourmandise" des algos pour pouvoir dimensionner la machine.

Une question aussi:

Il n’y a qu’un seul pc qui contrôle tout? :heink:

Ou alors c’est un serveur qui répartit le travail en différentes stations? :neutre:

Gourmandise des algos ? Ca ca serait vraiment quelquechose qui m’intéresserai… Y a un moyen de calculer ca ?
Jpeux te le donner en nombre de ligne de code mais pas mieux :neutre:

Dans l’idée, y’aurait qu’un seul PC qui contrôle tout… Bon en réalité y’en a deux, mais vu que si je dois en mettre deux, la synchro est pour ma pomme, j’aimerai autant éviter si tu vois ce que je veux dire… :smiley:

Disons que actuellement le P4 2.8Ghz que j’ai sous la main, sature à 4 thread avec unquement l’audio (un pour l’acquisition mais sur timer donc ca compte pas, et 3 d’analyse…)… Mias je pense que ce sont les accès disques qui le bloque (parce que les chercheurs sont très fort, y font des trucs qui marchent super bien, mais niveau qualité de code c’est pas vraiment tiptop… Accès disque tout le temps au lieu de tout ramener en mémoir en un coup(pour des échantillons de sons) Bref…)

  1. Ouais, ça se calcule, mais perso je ne sais pas faire. :neutre:
    Le nombre de ligne de code ne veut rien dire d’ailleurs :wink:

  2. D’ac :paf:

  3. Les c*ns :riva:

Pourquoi passer par le disque dur? :confused: C’est pas pour dire, mais si l’algo passe par le disque dur, même avec une batterie de disques durs en RAID 0, ça va être très compliqué de tenir le débit. :confused:

Les algos sont figés, ou tu peux les faire modifier?

Rassure-moi les 4 flux vidéo c’est pas du PAL/NTSC à 25/30 fps quand-même :paf: ?
Sinon je me demande s’il ne faudrait pas carrément passer au Quad-Core?
Niveau matos d’acquisition vidéo c’est quoi (une carte pro je suppose)?

Si les flux à traiter sont écrits sur le disque dur, puis lu pour être traités, même avec 64 CPUS on n’arrivera à rien. :neutre:

+1 c’est exactement le principe…

Les scripts peuvent être modifié, et pour être honnete, par moi… Donc ca va me saouler mais je crois que je vais pas y couper…

Sur les flux audio, ca sera pas de cette trempe, mais de la bonne qualité quand même. Je ne peux pas bien en savoir plus, car c’est en conception. Mais vu que les algos sont pas encore fait, je pense que je dois pouvoir glisser quelques consignes/conseils/TRUKaFAIRE.

Mais bon, j’ai toujours aller, à la louche, du 640*480 sur 4 voies (je dirai 20fps couleur) et 170000echantillon 16bit/s pour l’audio à écrire sur disque tout le temps (pour l’acquisition brut) et du gros traitement à la volée…

Donc du RAID0 en SATA sur des disque à 10000rpm avec un petit dualcore un peu perché en fréquence et deux gigas de ram à 800Mhz ca devrait commencer à faire sérieux ca non ? Pour 1000$ le bestiaux je dois m’en sortir je pense…

Et puis pour faire bien, je vais me refaire les algos… Ca va être une dure soirée… :wink:

Merci pour tout en tout cas :wink:

Et si vous avez d’autres idées !

PS : Je vais me pencher sur “comment calculer la complexité d’un algo”
PS2 : Bonne journée, moi j’ai finis la mienne ! (décalage horaire powaaaa ;))

Bien sûr si c’est pas du temps réel, oublie ce que j’ai dit :wink: :jap:

C’est du temps réel, mais à ce que j’ai compris, le flux passe par les disques durs avant d’être traité :confused: :smiley:

Je crois que tu as bien compris…
A mon tour j’ai compris quelque chose, je vais me replonger dans les algos…
Bref,

Les délais ont encore été raccourci pour le choix du matos, donc ca sera quelque chose comme ca à peu près :

Carte Mère Asustek P5B Deluxe 1 Connecteur LGA775 (Intel) , 3x PCI2.2, 1xPCI Express, 8Go de Ram Max (4DIMM DDR2 800Mhz), Ethernet (Gb), 7x SATA II (0,1,10,5), Son (Sortie SPDIF)

Carte Graphique Asustek EN7300 GT 1 PCI Express 16x (Compatible CM), 256Mo DDR2, DVI, S-Video, VGA - HD15

Mémoire Vive KingMax 2 1GB Kingmax DDRam II Bus 800 (PC2 6400)

Disque Dur Western Digital 2 160Gb, SATA II (300Mo/s), 7200rpm

Processeur Intel Core 2 Duo, E6600 1 Core 2 Duo E6600 - 2.4GHz/ 4MB/ Bus 1066/ 64bit-DualCore/ EDB(XD)+ EIST/ Prescott- Box

Dommage pour les Raptor, mais je ne les trouverai pas ici.
Donc les deux WD en RAID0 est une palanqué de dur pour plus tard pour le stockage (donc sans RAID, en "classique").

Aller merci pour les infos, et à bientôt !

PS : Alors pour les calculs de complexité, ce que j’ai trouvé revient à calculer les accès disque, les itérations et somme/mult, on met tout ca dnas un formalisme qui a première vue, m’a pas l’air si acceuillant, et zou on a la complexité (suivant plein d’échelle en plus)… Mais pour le coup, je crois que je vais pas le faire pour mon cas… Cela dit, j’ai pas trouvé de logiciel qui font ca automatiquement, pour ca doit être gérable… Quelqu’un a un soft ?
PS2 : Si vous avez des critiques sur la config…
PS3 : Merci

J’en ai oublié un…

PS4 : 960$US le tout…

Les disques servent de tampon alors (comme le timeshifting sur les PVR), donc c’est pire car le disque va devoir supporter 4 flux en lecture et 4 flux en écriture simultanément. :confused:
Quant à la puissance de calcul ça change rien, le proc doit être capable de traiter 4 flux vidéo simultanés à 25 fps que ça viennent du disque ou de la carte d’acquisition. :paf:
Bon courage! :ane: (mais les algos sont peut-être très simples)

le RAID apportera donc un gain non négligable :neutre:

C’est sur, mais j’ai bien peur que les disques ne tiennent pas vraiment la cadence :confused:

ceci dit, s’il en utilise plusieurs (2 apparemment) en Raid 0, ça devrait largement suffire :jap:

Reste à voir le Cpu :smiley:

je viens de faire un petit calcul rapide et une vidéo PAL 25fps en 4:2:0 c’est un peu moins de 16Mo/s (720x576x1.5*25).