Je rencontre un problème avec l'utilisation de ffmpeg pour collecter des fichiers .jpg à partir de caméras de sécurité et en faire des vidéos .avi. Les caméras envoient des images en FTP aussi vite qu'elles le peuvent, accumulant environ 16000 à 20000 images par jour. Pendant la nuit, lorsque ma limite de données Hughesnet est assouplie, j'ai utilisé une tâche cron pour concaténer ces images en un avi qui peut être sauvegardé/scanné le matin.
Un nom de fichier typique pourrait être : FrontDeer_20230218-101637.jpg
oùFrontDeer
est le nom de la caméra,20230218
est la date et101637
est l'heure.
ls -l Front\*18-\*.jpg | wc -l donne un total de 16284 fichiers.
Mes tentatives infructueuses pour créer une vidéo étaient des variations sur :
ffmpeg -pattern_type glob -i 'Front\*18-\*.jpg' -s 800x600 -v verbose Ftest2.avi
qui s'arrête systématiquement à 2354 images encodées.
La sortie approfondie de ffmpeg se termine par :
Plus de flux de sortie à écrire, fini.
frame= 2534 fps= 24 q=8.8 Lsize= 8122kB time=00:05:16.75 bitrate= 210.1kbits/s
video:8056kB audio:0kB subtitle:0kB autres flux:0kB en-têtes globales:0kB surcharge de muxage: 0.821897%
Fichier d'entrée #0 (Front\*18-\*.jpg):
Flux d'entrée #0:0 (vidéo): 2534 paquets lus (128534848 octets); 2534 images décodées;
Total : 2534 paquets (128534848 octets) démuxés
Fichier de sortie #0 (Ftest2.avi):
Flux de sortie #0:0 (vidéo): 2534 images encodées; 2534 paquets multiplexés (8249089 octets);
Total : 2534 paquets (8249089 octets) multiplexés
2534 images décryptées avec succès, 0 erreurs de décodage
Je ne peux pas dire que j'ai lu toute la documentation de ffmpeg, ni compris tout ce que j'ai lu. Dans tous les cas, je n'ai pas trouvé de solution à ce qui semble être quelque chose de simple mais qui ne fonctionne pas. Faut-il définir une limite de mémoire tampon pour permettre l'encodage de plus d'images ?
Les spécificités du système sont
Architecture : x86_64
Modes d'opération du CPU : 32 bits, 64 bits
Octet d'ordre : Little Endian
CPU(s) : 2
Liste des CPU en ligne : 0,1
Thread(s) par cœur : 2
Cœur(s) par socket : 1
Socket(s) : 1
Nœud(s) NUMA : 1
ID du fournisseur : GenuineIntel
Famille de CPU : 6
Modèle : 28
Nom du modèle : Intel(R) Atom(TM) CPU N455 @ 1.66GHz
Total utilisé libre partagé tampon/cache disponible
Mémoire : 1982 421 94 58 1466 1284
Swap : 2035 108 1927
NOM="Ubuntu"
VERSION="16.04.6 LTS (Xenial Xerus)"
Version de ffmpeg 2.8.17-0ubuntu0.1 Droits d'auteur (c) 2000-2020 les développeurs de FFmpeg
compilé avec gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.12) 20160609
Un grand merci pour toute aide