2015-09-22 4 views
-2

comme ci-dessus question, je veux savoir quelle commande ffmpeg peut m'aider à réduire l'utilisation du processeur lors de l'exécution de 50 caméras IP (en cours d'exécution même commande 50).Quelle commande convert mjpeg caméra IP streaming en fichier mp4 avec la plus faible utilisation du processeur?

Ma commande ffmpeg:

ffmpeg -f mjpeg -y -use_wallclock_as_timestamps 1 -i 'http://x.x.x.x:8090/test1?.mjpg' -r 3 -reconnect 1 -loglevel 16 -c:v mjpeg -an -qscale 10 -copyts '1.mp4' 

commande 50 comme prendre mon ordinateur (4 core) 200% CPU

Je veux cet ordinateur peut fonctionner pour 150 appareil photo, tout conseiller?

============================================== ===========

en utilisant -c: copie v peut le rendre plus rapide, mais la taille Fize est terrible

J'essaie de ralentir la fréquence d'images par 3 avec 3 ou -r -framerate 3 pour diminuer la taille du fichier mais pas avec succès (parce que la copie de vcodec ne peut pas faire cela). Avez-vous une option pour forcer le taux de trame d'entrée de 3?

(désolé pour mon mauvais anglais)

+0

J'essaie de nombreux encodeurs différents et de comparer leur utilisation CPU, encodeur mjpeg est la meilleure performance pour mon scénario – ChanhLM

Répondre

2

en définissant -c:v mjpeg vous décodage et encodez le flux. définissez -c:v copy pour copier les données sans les réencoder.

+0

-c: copie ne le font rien, sauf écrire des données dans un fichier. Cette option crée une grande taille de fichier (1,8 Go/heure/caméra) – ChanhLM

+0

150 x 1,8 = 270 Go/heure Je pense que 5-600 Mo/heure/appareil photo est assez grand, 1,8 Go est loin sur mes attentes – ChanhLM

+0

L'encodage vidéo prend cpu . Vous ne pouvez pas avoir à la fois un processeur faible et une bonne compression. Vous pouvez essayer d'utiliser le préréglage ultrarapide x264. ou un codec plus ancien comme mpeg-2. – szatmary