Come estrarre immagini dal file video?


Risposte:


20

Prova con ffmpeg

ffmpeg -i inputfile.avi -r 1 -f image2 image-%3d.jpeg

Puoi leggere la documentazione qui

  • -i inputfile.avi Il file di input video è inputfile.avi
  • -r 1estrarre 1 immagine al secondo del video. Sostituisci quel numero per il numero di immagini che vuoi ottenere al secondo.
  • -f image2 forzare il formato di output delle immagini, è probabile che tu possa ometterlo poiché il programma tenta di scegliere il formato delle immagini di output dall'estensione del file.
  • image-%3d.jpeg nome delle immagini di output,% 3d indica che le immagini generate in uscita avranno un numero di sequenza di 3 decimali, se si desidera il numero riempito con zero è sufficiente utilizzare% 03d.

1
il tuo collegamento sembra essere rotto
— Nolwennig,

@Nolwennig. Risolto, non specifico come il precedente ma almeno è la documentazione ufficiale e difficilmente può essere rotto.
— YoMismo,

3
-r 1è per il numero di immagini al secondo. Quindi per 60ips, o 24, lo è -r 24. E per limitare l'estratto, lo è -ss [start] -t [duration].
— Sandburg,

Grazie, lavora bene su Xubuntu
— Indacochea Wachín il

3

Ho appena scaricato l'ultima versione di VLC per Windows 32 - 2.1.2 Scuotivento e funziona benissimo per farlo.

passi:

1 - Fare clic su Strumenti> Preferenze e fare clic sul pulsante di opzione Tutto

2 - Scorri verso il basso e fai clic sul segno + accanto a Video per espanderlo

3 - Scorri verso il basso e fai clic su Filtro scene e inserisci le informazioni per il prefisso Percorso directory (dove vuoi salvare i fotogrammi). Non fare clic su Salva.

4 - Scorri verso l'alto e fai clic sulla parola Video sotto Filtri

5 - Fare clic sulla casella di controllo per Filtro video scene e fare clic su Salva.

6 - Apri ed esegui un video e salverà .png

7 - Per interrompere il salvataggio dei fotogrammi, tornare al passaggio 5 e deselezionare Filtro video scena. Facile davvero una volta che sai dove trovare le impostazioni.


0

Spero che questo aiuto

#!/bin/bash
source_dir="."
output_dir="."
input_file_types=(avi wmv flv mkv mpg mp4)
output_file_type="jpg"

convert() {
        echo "" | ffmpeg -ss $ss -y -i "$in_file" -an -f image2 -vframes 1 "$output_dir/$out_file"
}

for input_file_types in "${input_file_types[@]}"
do

        find "$source_dir" -name "*.$input_file_types" -print0 | while IFS= read -r -d $'\0' in_file
        do
                echo "Processing…"
                echo ">Input  "$in_file
                # Replace the file type
                out_file=$(echo $in_file|sed "s/\(.*\.\)$input_file_types/\1$output_file_type/g")
            echo ">Output "$out_file

# get video duration
#    fulltime=`ffmpeg -i "$in_file" 2>&1 | grep 'Duration' | cut -d ' ' -f 4 | sed s/,//`;
#    hour=`echo $fulltime | cut -d ':' -f 1`;
#    minute=`echo $fulltime | cut -d ':' -f 2`;
#    second=`echo $fulltime | cut -d ':' -f 3 | cut -d '.' -f 1`;

#    seconds=`expr 3600 \* $hour + 60 \* $minute + $second`;
#    ss=`expr $seconds / 2`; # from the middle of video



    ss=`expr 10`; # from the 10sec of video



    # Convert the file
                convert "$in_file" "$out_file"

                if [ $? != 0 ]
                then
                    echo "$in_file had problems" >> ffmpeg-errors.log
                fi

                echo ">Finished "$out_file "\n\n"
        done
done

0

In VLC è possibile fare clic con il tasto destro, Video, Scatta istantanea


Questo suona un po 'laborioso se si necessitano immagini per ad esempio ogni fotogramma della scena.
— Kusalananda
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.