2011-07-27 5 views
3

je dois tirer quelque chose comme ça off:Piping FFMPEG dans Graphics Magick

foo.user$ ffmpeg -i -y foo.mediafile -ss 0 -vframes 1 -an out.jpg | gm identify out.jpg 

Fondamentalement, il devra faire une miniature d'une image vidéo ou une image fixe en utilisant ffmpeg, puis exécutez g sur elle. Comment puis-je directement canaliser la vignette (ou pas si miniature, il doit être de la même taille) en gm sans avoir à écrire sur out.jpg. Quelqu'un familier avec ffmpeg tuyauterie/gm pourriez-vous me donner un coup de main? -Merci !!

P.S. Si cela aide, ce processus est exécuté depuis le serveur Javascript.

Répondre

3

il Answered moi-même:

ffmpeg -i test.jpg -f mjpeg -ss 0 -vframes 1 -an - 2>/dev/null | gm identify -ping -verbose - 

Cela fonctionne à prendre test.jpg (ou un autre fichier, .ogv, .png, etc.) et le traiter avec ffmpeg, puis l'exécuter en g. Le bit important est les tirets, ils agissent comme des sorties de tuyaux anonymes. Aussi important est le -f mjpeg, pour forcer le tuyau en format jpeg. Finalement, 2>/dev/null fait taire la première commande.