Nous travaillons sur une application en langage C qui est simple client RTSP/RTP pour enregistrer une vidéo Axis plusieurs caméras. Nous lançons un pthread pour chaque caméra qui établit la session RTP et commence à enregistrer les paquets capturés en utilisant l'appel recvfrom(). Une seule caméra pthread unique enregistre bien pendant plus d'une journée sans problèmes.capture de paquets vidéo sur plusieurs caméras IP
Mais des tests avec plus de caméras disponibles, environ 25 (donc 25 pthreads), l'enregistrement dans le fichier va bien pour que 15 à 20 minutes, puis l'enregistrement arrête juste. L'application continue à fonctionner. Cela fait plus d'un mois et demi que nous essayons avec des implémentations variées mais rien ne semble aider. S'il vous plaît fournir des suggestions.
Nous utilisons CentOS 5 plate-forme
cela ressemble à un problème de blocage: 1) la dose, il arrive avec moins alors 25 fils de discussion? 2) quand cela arrive, que font vos fils à la fois? – Alon
Sur quelle plate-forme travaillez-vous? Quelles bibliothèques de capture de paquets utilisez-vous? – pcent
Ce n'est pas beaucoup d'informations pour continuer. Je suggérerais une implémentation alternative où il y a un thread qui traite toutes les caméras en utilisant select() ou poll() pour contrôler le flux. – atlpeg