1 votes

Pourquoi ffmpeg quitte-t-il avant d'ajouter toutes les images demandées à un clip ?

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
FrontDeer est le nom de la caméra,
20230218 est la date et
101637 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

0voto

Dave Hill Points 11

Désolé d'avoir dérangé la communauté. Il s'avère que le problème ne venait pas de ffmpeg mais des caméras qui envoyaient occasionnellement une frame corrompue dans un fichier portant un nom approprié. C'est à ce moment-là que ffmpeg a échoué, mais n'était pas en cause. Merci pour toute l'attention portée. J'espère que cette question/réponse ne sera pas remontée très souvent en ce qui concerne ffmpeg car cela ne s'applique pas vraiment.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X