Come Mandare Indietro di alcuni secondi un video quando lo metti in Pausa

Scopri come mandare indietro di alcuni secondi un video, ogni volta che lo metti in pausa, utilizzando il player video gratuito VLC.

Ciao a tutti cari lettori e lettrici, per motivi di studio mi sono trovato nella necessità di dover mandare indietro, di alcuni secondi, un video ogni qualvolta lo mettevo in pausa, in modo da non perderne il filo del discorso. Come fare?
Utilizzeremo il noto player di video “VLC”, gratuito.

1. Installa VLC (lo scarichi qua: https://www.videolan.org/vlc/download-windows.it.html).

2. Crea un file vuoto sul desktop e chiamalo ” rollback.lua ” .

3. Apri blocco note e visualizza questo file rollback.lua appena creato.

4. Copia nel file rollback.lua questo lungo script (realizzato da Tidsfisk e pubblicato qua: https://stackoverflow.com/questions/44014632/how-can-i-skip-back-a-few-seconds-after-pause-in-vlc-media-player ) :

micro_second_unit = 1000000  
TIME_DELTA        = 1     --Default, 
SHOW_OUTPUT       = true
TIME_TO_DISPLAY   = 1.5    --Default

function descriptor()
   return {
      title = "Rollback X Seconds",
      capabilities = {"input-listener", "playing-listener"}
   }
end

function activate()
    dlg = vlc.dialog("Rollback X Seconds")    

    rollback_input         = dlg:add_text_input("1", 2, 1 )    
    rollback_input_label   = dlg:add_label("Seconds to back", 1, 1)

    checkBox = dlg:add_check_box("Show output time ", wasChecked, 3, 3 )

    timeTo_display_box        = dlg:add_text_input(1.5, 2 ,3)
    timeTo_display_box_label  = dlg:add_label("Seconds To Display", 1, 3)

    w2 = dlg:add_button("Save settings", change_step, 3, 4, 1, 1)
    w2 = dlg:add_button("Save and close", updateAndClose, 3, 5, 1, 1)

    done = dlg:add_label( "" , 3, 6)

end
function close()
end
function deactivate()
   vlc.deactivate()
end

function input_changed()
end

function playing_changed()    

    if vlc.playlist.status()=="paused" then

        local timePassed = tonumber(vlc.var.get(vlc.object.input(), "time"))
        local newTime = timePassed - seconds_to_microsecond(TIME_DELTA)

        local newTime_inSeconds     = (newTime/1000000)
        local newTime_inMinutes     = (newTime_inSeconds/60)
        local newTime_inSeconds_restOfMin  = math.fmod(newTime_inSeconds,60)
        local newTime_str           = math.floor(newTime_inMinutes) .. "min " .. round(newTime_inSeconds_restOfMin,1) .."sec"        

        local timePassed_inSeconds  = (timePassed/1000000)
        local timePassed_inMinutes  = (timePassed_inSeconds/60)
        local timePassed_inSeconds_restOfMin  = math.fmod(timePassed_inSeconds,60)

        local timePassed_str  = math.floor(timePassed_inMinutes) .. "min " .. round(timePassed_inSeconds_restOfMin,1) .."sec"


        if SHOW_OUTPUT == true then
            vlc.osd.message("Seconds to Back:" .. TIME_DELTA .. "sec", vlc.osd.channel_register(), "top-right", seconds_to_microsecond(TIME_TO_DISPLAY))  

           vlc.osd.message("New time:" .. newTime_str, vlc.osd.channel_register(), "top-left", seconds_to_microsecond(TIME_TO_DISPLAY))   

           vlc.osd.message("Old time:" .. timePassed_str, vlc.osd.channel_register(), "bottom-left", seconds_to_microsecond(TIME_TO_DISPLAY))   
        end

        vlc.var.set(vlc.object.input(), "time", newTime)
    end
end
function updateAndClose()
   change_step()
   dlg:delete()
end

function change_step()
    done:set_text("Saved")

   TIME_DELTA = tonumber(rollback_input:get_text())

   SHOW_OUTPUT = checkBox:get_checked()

   if SHOW_OUTPUT == true then 
      TIME_TO_DISPLAY = tonumber(timeTo_display_box:get_text())
   end 

end

function round(num, numDecimalPlaces)
  local mult = 10^(numDecimalPlaces or 0)
  return math.floor(num * mult + 0.5) / mult
end

function microsecond_to_seconds(timeToConvert)  

  return timeToConvert / micro_second_unit;
end

function seconds_to_microsecond(timeToConvert)

  return timeToConvert * micro_second_unit;
end

4. Il file così ottenuto lo puoi copiare dentro il percorso C:\Program Files (x86)\VideoLAN\VLC\lua\extensions

5. Apri il file video con VLC.

6. Visualizza.

7. Rollback X Seconds.

8. Nel campo “Seconds to back” scrivi di quanti secondi desideri far tornare indietro il video quando lo metti in pausa.

9. Clicca su “Save and close“.

Da questo momento in poi, ogni volta che metterai il video in pausa, andrà indietro dei secondi da te scelti!

Ricordo che se chiudi VLC dovrai comunicare di nuovo a VLC di quanti secondi andare indietro quando premi pausa, in sostanza dallo step 6.

GUARDA LA MIA VIDEO-SPIEGAZIONE

Ciao dal Doc!


Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *