OVH Cloud OVH Cloud

Générer un fichier mjpeg depuis des images jpeg

5 réponses
Avatar
Jérôme
Bonjour,

J'ai écrit il y a qq temps pour avoir des spécifs de format MJPEG. Un
grand merci à Pierre-Alain Dorange et à Stéphane Legras-Decussy pour
leurs réponses.

Je suis tout près du but... mais pas encore. mjpeg tools et ffmpeg sont
parfaits quand on a déjà des images jpeg préenregistrées sur le disque
dur. En fait, ce que je voudrais, c'est générer le fichier vidéo au fur
et à mesure que les images arrivent. En effet, je les récupère depuis
une caméra video IP Sony SNC-Z20P qui m'envoie un flux contenant
notamment plein d'images jpeg à la suite. Je dois les isoler des
commentaires, et je pourrais ensuite les enregistrer sur le disque, pour
ensuite les retransformer en vidéo. Sauf que à raison de 25 images
secondes, pour 1h de vidéo, ça me fait 90000 fichiers ce qui tue
complètement un OS normal dès qu'il doit les manipuler (rien qu'un dir
ou ls -al est ultra long, parfois plusieurs minutes !).

Pour être franc, je n'ai pas compris grand chose à l'implémentation
MJPEG. En fait, je cherche à ajouter à chaque fois une image et
augmenter de ce fait d'une frame le fichier MJPEG que je veux obtenir,
au fur et à mesure que ça arrive. Et le tout, sous Linux.

Tout mon problème est de le générer à partir d'un flux et non à partir
d'un nombre d'images prédéfini.

Quelqu'un aurait-il la solution ?

Jérôme.

5 réponses

Avatar
phpinfo
Jérôme wrote:

Tout mon problème est de le générer à partir d'un flux et non à partir
d'un nombre d'images prédéfini.

Quelqu'un aurait-il la solution ?



La il faut mettre les mains dans le cambouis et développer soi-même un
truc a mon avis...
Mais pour ça il faut maitriser la programmation C/C++, les outils de dev
et le MJPEG (ou une librairie OpenSource le gérant)...

--
Pierre-Alain Dorange

Vidéo, DV et QuickTime pour Mac <www.garage-video.fr.st>
Clarus, the DogCow <www.clarus.mac-fan.com>
Avatar
Jérôme
>>Tout mon problème est de le générer à partir d'un flux et non à partir
d'un nombre d'images prédéfini.

Quelqu'un aurait-il la solution ?




La il faut mettre les mains dans le cambouis et développer soi-même un
truc a mon avis...
Mais pour ça il faut maitriser la programmation C/C++, les outils de dev
et le MJPEG (ou une librairie OpenSource le gérant)...



Je maîtrise correctement le C++. En fait, il me manque juste la
bibliothèque Open Source gérant le MJPEG (avec de la doc, ça serait bien
!), parce que pour repartir des sources des projets comme ffmpeg ou
mjpeg tools, c'est un peu hors de ma portée !

Jérôme.
Avatar
Triff
En ce beau jour de printemps du 30/06/2004 20:51, Jérôme a tapoté :

Tout mon problème est de le générer à partir d'un flux et non à partir
d'un nombre d'images prédéfini.



les outils de mjpegtools travaillent sur des flux.
Il faut regarder les pages de manuels, mais quelque chose du style

traque_fichiers_jpeg_to_ppm | ppmtoy4m [des options] | yuv2lav [des options]

semble faire ce que vous voulez (au prix d'une recompression des jpegs,
mais je ne sais pas si on peut l'éviter de toutes façons ...)

où traque_fichiers_jpeg_to_ppm serait un programme qui traque
l'apparition des fichiers jpeg, envoi la sortie de jpeg2ppm vers stdout
et supprime le fichier.

ou bien j'ai mal compris ?
Bon courage,
--
Triff
Avatar
Triff
En ce beau jour de printemps du 23/07/2004 12:03, Triff a tapoté :

où traque_fichiers_jpeg_to_ppm serait un programme qui traque
l'apparition des fichiers jpeg, envoi la sortie de jpeg2ppm vers stdout
et supprime le fichier.



J'imagine qu'un simple script peut faire l'affaire :
pour donner une idée (mais avec une syntaxe certainement fausse) :

#!/bin/sh
A_DEJA_ATTENDU=0
while true do
FILES=`ls [des options pour avoir juste les bons fichiers, dans le
bon ordre]`
if $FILES=="" then
if $A_DEJA_ATTENDU ==1 then exit fi
wait 10ms
A_DEJA_ATTENDU=1
else
A_DEJA_ATTENDU=0
for file in $FILES;
do
jpeg2ppm $file
rm $file
done
fi
done

--
Triff
Avatar
Lionel Allorge
Bonjour,

As-tu essayé de voir sur ce site :
http://mjpeg.sourceforge.net/

Bonne continuation.

--
Lionel Allorge
Courriel :
Lune Rouge : http://www.lunerouge.org
Film Libre : http://www.filmlibre.org
Terminal Damage : http://www.terminal-damage.org
<------>
"Les arbres polluent plus que les voitures"
Ronald Reagan, 1981.