Léa-Linux & amis :   LinuxFR   GCU-Squad   Zarb.Org   GNU
Archive de la liste aide - [Aide] Enchaîner les commandes bash
Le 26/10/2013 12:45, Ille a écrit :
> Coquille ici:
>
> mplayer -vo png -ao null -ss $s -frames 1 ${VIDEO_NAME} >/dev/null 2>&1
> mv 00000001.png "${DEST_DIR}/$s.png"
>
> et ici:
>   ffmpeg -i "${VIDEO_NAME}" -filter:v\
>   "select=isnan(prev_selected_t)+gte(t-prev_selected_t\,${INTERVAL}),setpts=N/(${FPS}*TB)"\
>   "${DEST_DIR}"/img-%5d.png
>
> Désolé
> Ille

Salut Ille,

Je viens de faire un essai avec ffmpeg.

Voici le script :

#Le 26/10/2013
#[Aide] Enchaîner les commandes bash
#
#Script permettant de prendre une capture dans une vidéo toutes les n 
secondes.
#Proposé par Ille
#
#Attention, il n'y a aucune vérification du nombre d'arguments en
#entrée. Le script prend 3 arguments exactement: le fichier vidéo à
#traiter, l'interval entre chaque image extraite en secondes et le
#répertoire de destination, dans cet ordre.
#Si le répertoire de destination n'est pas vide, les fichiers présents
#seront écrasés.
#
#Les images iront dans DEST_DIR et seront nommées img_00001.png,
#img-00002.png, etc. Au besoin, on peut augmenter le gap de 0 en
#modifiant le %5d (le chiffre indique le nombre de digit incrémenté,
#donc %5d=> 5 chiffres, %8d=>8 chiffres)

#!/bin/sh

VIDEO_NAME=$1
INTERVAL=$2
DEST_DIR=$3
FPS=`ffprobe "${VIDEO_NAME}" 2>&1 | sed -n "s/.*, \(.*\) fp.*/\1/p"`

  ffmpeg -i "${VIDEO_NAME}" -filter:v\
  "select=isnan(prev_selected_t)+gte(t-prev_selected_t\,${INTERVAL}),setpts=N/(${FPS}*TB)"\
  "${DEST_DIR}"/img-%3d.png

Et le résultat :

3 [29-10-2013 10:47] joel at localhost: /documents/aide  $ sh ffcapture.sh 
/sauvegarde/mplayer/alpes2.flv 10 /sauvegarde/mplayer/images
ffmpeg version 1.1.5 Copyright (c) 2000-2013 the FFmpeg developers
   built on Jun 12 2013 10:33:18 with gcc 4.7.2 (GCC)
   configuration: --prefix=/usr --enable-shared --libdir=/usr/lib64 
--shlibdir=/usr/lib64 --incdir=/usr/include --disable-stripping 
--enable-postproc --enable-gpl --enable-pthreads --enable-libtheora 
--enable-libvorbis --disable-encoder=vorbis --enable-libvpx 
--enable-x11grab --enable-runtime-cpudetect --enable-libdc1394 
--enable-libschroedinger --enable-librtmp --enable-libspeex 
--enable-libfreetype --enable-libnut --enable-libgsm --enable-libcelt 
--enable-libopus --disable-libopencv --enable-libopenjpeg 
--enable-libtwolame --enable-libxavs --enable-frei0r --enable-libmodplug 
--enable-libass --enable-gnutls --enable-libcdio --enable-libpulse 
--enable-libv4l2 --enable-libmp3lame --enable-libopencore-amrnb 
--enable-libopencore-amrwb --enable-version3 --enable-libx264 
--enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libxvid
   libavutil      52. 13.100 / 52. 13.100
   libavcodec     54. 86.100 / 54. 86.100
   libavformat    54. 59.106 / 54. 59.106
   libavdevice    54.  3.102 / 54.  3.102
   libavfilter     3. 32.100 /  3. 32.100
   libswscale      2.  1.103 /  2.  1.103
   libswresample   0. 17.102 /  0. 17.102
   libpostproc    52.  2.100 / 52.  2.100
Input #0, flv, from '/sauvegarde/mplayer/alpes2.flv':
   Metadata:
     moovPosition    : 32
     avcprofile      : 77
     avclevel        : 31
     aacaot          : 2
     videoframerate  : 25
     audiochannels   : 2
   Duration: 00:51:50.04, start: 0.000000, bitrate: 872 kb/s
     Stream #0:0: Video: h264 (Main), yuv420p, 720x406 [SAR 1:1 DAR 
360:203], 25 tbr, 1k tbn, 50 tbc
     Stream #0:1: Audio: aac, 48000 Hz, stereo, fltp
[Parsed_setpts_1 @ 0xfa5120] [Eval @ 0x7fffe66031c0] Undefined constant 
or missing '(' in '*TB)'
[Parsed_setpts_1 @ 0xfa5120] Error while parsing expression 'N/(*TB)'
[AVFilterGraph @ 0x1093d20] Error initializing filter 'setpts' with args 
'N/(*TB)'
Error opening filters!
4 [29-10-2013 10:49] joel at localhost: /documents/aide  $

Je vais maintenant tester avec mplayer.

-- 
Joël


Serveur hébergé par ST-Hebergement et Lost-Oasis / IRC hébergé par FreeNode / NS secondaire hébergé par XName
Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons