Simulare lo streaming video

Il processo batch

Partiamo dal concetto che si vuole dare l’effetto di tempo reale: cioè un immagine corrispondente all’istante stesso in cui si sta guardando, oppure un immagine relativa a qualche secondo prima (o a qualche minuto prima)? L’importante è che sia corrispondente quanto più possibile alla realtà.

A questo punto mi è bastato mettere in pratica le (poche) conoscenze per l’implementazione di procedure batch per raggiungere la prima fase del risultato.

@echo off
c:
cd \ScreenCapture\Channel1

if EXIST *.gif GOTO DELETE_GIF
if NOT EXIST *.bmp GOTO FINE

:START
  FOR %%f in (*.bmp) do ren %%f conv_%%f.x
  FOR %%f in (*.x) do ren %%f conv_%%f.bmp
  convert -resize 360x288 conv_*.x.bmp img.gif
  del conv_*.x.bmp
  GOTO FINE

:DELETE_GIF
  del *.gif
  GOTO START

:FINE
  REM Fatto tutto
@echo on

Per chi è pratico di processi batch non avrà problemi a comprendere quello che ho scritto per tutti gli altri invece:

  1. Mi posiziono nella cartella nella quale ci sono i vari fotogrammi;
  2. Se esiste un file gif salto alla sezione DELETE_GIF dove eseguo semplicemente la cancellazione di tutti i files con estensione gif nella cartella
  3. Se non esiste nemmeno un’immagine bitmap all’interno della cartella è inutile processare il batch quindi salto alla fine.
  4. Ciclo tutte le immagini attualmente presenti nella cartella e le rinomino in conv_[nome file].x.bmp perché il ciclo for altrimenti mi vedra un loop infinito di immagini bitmap visto che cambiano di nome le precedenti;
  5. Eseguo la conversione delle immagini bitmap in una unica immagine GIF (grazie ImageMagick!).
  6. Elimino le immagini che fino ad ora sono state convertite (del conv_*.x.bmp)

Pubblicato

in

,

da

%d blogger hanno fatto clic su Mi Piace per questo: