Topic: Registrazione video velocizzato  (Letto 1381 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline coppolino

  • python unicellularis
  • *
  • Post: 12
  • Punti reputazione: 0
    • Mostra profilo
    • Federico Coppola
Registrazione video velocizzato
« il: Settembre 14, 2016, 18:18 »
Salve a tutti!  :)
Ultimamente mi sto dedicando allo studio di OpenCV (utilizzo base) con Python 3.X e fino a questo momento sono riuscito a riprendere singole immagini dalla mia webcam del PC
e anche come flusso di immagini (video).
Ora sto cercando di salvare il video che riprendo dalla webcam in un file ".avi", il cui obbiettivo è quasi riuscito come desideravo se non fosse che quando apro il video che ho registrato e salvato con Python risulta velocizzato:question:

Questo è il mio semplice programma:
[codice]

#Ripresa immagini con webcam PC e salvataggio su video ".avi"

import cv2
import numpy as np

#imposto webcam che utilizzo ( '0' ==> quella interna del PC)
camera = cv2.VideoCapture(0)

#imposto codifica
codifica = cv2.VideoWriter_fourcc(*'XVID')
#imposto parametri del file video (nome del file,codifica,frame,risoluzione)
file_video = cv2.VideoWriter("video.avi",codifica,20,(640,480))

while (camera.isOpened()):
    stato,frame = camera.read()

    if stato == True:
        # salvo frame nel file video .avi
        file_video.write(frame)
        #visualizzo il frame su schermo
        cv2.imshow("WebCam",frame)

        if cv2.waitKey(1) == ord('q'):
            break

#chiudo webcam, file e distruggo finestra
camera.release()
file_video.release()
cv2.destroyAllWindows()
[/codice]

Esiste un metodo per impedire ciò?
Grazie in anticipo  :)

Offline GlennHK

  • python sapiens sapiens
  • ******
  • Post: 1.659
  • Punti reputazione: 1
    • Mostra profilo
    • La Tana di GlennHK
Re: Registrazione video velocizzato
« Risposta #1 il: Settembre 14, 2016, 22:08 »
Sicuro di salvare 20 frame al secondo si?

Offline coppolino

  • python unicellularis
  • *
  • Post: 12
  • Punti reputazione: 0
    • Mostra profilo
    • Federico Coppola
Re: Registrazione video velocizzato
« Risposta #2 il: Settembre 15, 2016, 20:43 »
Per imparare ad usare questo modulo (almeno a livello basilare) sto seguendo le guide su questo sito (in inglese) nella sezione basilare riferita ai video:
https://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_gui/py_video_display/py_video_display.html#display-video
Da quanto ho capito leggendo la documentazione il numero 20 indica il numero di frame per secondo.
Tuttavia al momento ho fatto qualche prova abbassando il numero ad esempio a 6.0 e il video non risulta velocizzato... :confused:

Grazie per la risposta!  :)

Offline RicPol

  • python sapiens sapiens
  • ******
  • Post: 3.154
  • Punti reputazione: 9
    • Mostra profilo
Re: Registrazione video velocizzato
« Risposta #3 il: Settembre 15, 2016, 21:20 »
Forse non è tanto un problema dei fps a cui _registri_, ma i fps a cui il tuo player crede di dover andare... se il tuo player per qualche ragione non riconosce automaticamente i fps usati in registrazione, magari cerca di riprodurre il video "normalmente" a 25 fps e corre un po' troppo.
Che è poi lo stesso vecchio problema per cui si crede che i film muti (18fps, tipicamente) andassero più velocemente del normale (mentre semplicemente venivano proiettati a 24fps da proiezionisti ignoranti).

Offline coppolino

  • python unicellularis
  • *
  • Post: 12
  • Punti reputazione: 0
    • Mostra profilo
    • Federico Coppola
Re: Registrazione video velocizzato
« Risposta #4 il: Settembre 16, 2016, 15:13 »
Capisco...  ;)
Anche se imposto 25.0 come valore però il video visualizzato successivamente con VLC risulta velocizzato... :question:

Offline RicPol

  • python sapiens sapiens
  • ******
  • Post: 3.154
  • Punti reputazione: 9
    • Mostra profilo
Re: Registrazione video velocizzato
« Risposta #5 il: Settembre 16, 2016, 20:14 »
boh non so, prova a capire a quanti fps vlc sta effettivamente andando quando riproduce il tuo video... https://www.vlchelp.com/find-video-resolution-frame-rate-vlc/