Programma per convertire i nostri filmati basato su avisynth e ffmpeg

  • La Pinarello Dogma XC è finalmente disponibile al pubblico! Dopo averla vista sul gradino più alto del podio dei campionati del mondo di XC 2023 con Tom Pidcock (con la full) e Pauline Ferrand-Prevot (con la front), Stefano Udeschini ha avuto modo di provarla sui sentieri del Garda
    Iscriviti al canale se non l'hai ancora fatto (clicca qui).


Pedalopedalo

Biker urlandum
4/10/15
553
64
0
Visita sito
Voglio condividere un programma (in realtà è uno script) che vuole rendere semplice l'utilizzo di strumenti molto interessanti per la conversione dei video e la loro manipolazione. Tutti i software elencati e utilizzati dovrebbero essere Opensource .
Visto che il programma può fare parecchie cose e manca completamente di qualsiasi tipo di guida, penso che spiegherò il suo funzionamento per gradi.
Utilizzerò una specie di scaletta cronologica su come procedere.



1 Introduzione
2Installazione
3 Primo utilizzo, esempio Base
seguirà.....


1.Introduzione
Tutto questo viene scritto su questo forum, perchè il programma è indirizzato principalmente per la manipolazione di video da action cam.
Lo script vuole essere un legante tra più programmi e sottoprogrammi per rendere agevole il loro utilizzo. L'obiettivo e poterli utilizzare in modo facile veloce mantenendo il sistema sempre stabile
Il mio sistema dove viene testato il programma è composto da Windows 7 64bit.
Il file Rar che condivido contiene i seguenti software. E stato scelto di inserire tutto in un unico file compresso per rendere facile il loro utilizzo.
http://www.mediafire.com/file/3l7xgcdhlnbj7b4/conversionefilmato.rar/file

Dll vari di avisynth PLUS presi da qui http://avisynth.nl/index.php/AviSynth+_x64_plugins
FFMPEG per Windows preso da qui https://ffmpeg.zeranoe.com/builds/ (static per avere meno file in giro per la cartella)
Desharker http://www.guthspot.se/video/deshaker.htm
Il file conversionefilmato3.exe per far partire il tutto o
conversionefilmato3.ahk per fare la stessa cosa lanciando lo script, serve autohotkey installato

Alcuni software opzionali che rendono ancora migliore l'utilizzo di questo programma sono
Autohotkey, per lanciare direttamente lo script e quindi permettere la sua personalizzazione https://autohotkey.com/
AVPSmod http://avspmod.github.io/ si raccomanda la versione 64 bit , è difficile da trovare metterò il link diretto dove trovarlo


2. Installazione
Seguo la via del 64 bit
Prima di tutto bisogna installare avisynth versione plus che trovate qui
http://avs-plus.net/
Si scompatta il file rar condiviso sopra in una cartella a piacere, meglio se c'è un po di spazio nell'HD per permettere ai programmi di lavorare.
Per il momento su Installazione mi fermo qui, ci sarà altro da scrivere quando si utilizzeranno funzione piu avanzate.

3 Primo utilizzo, esempio base
Lanciamo il file conversionefilmato3.exe
comparirà la finestra scegli i file video da convertire, scegliamo il o i files che vogliamo convertire
seguira la finestra con la quale chiede che codificatore utilizzare, per il primo esempio sceglieremo
h265 per archiviare nel computer o h264 per Youtube
Ora la finestra che compare chiede quale libreria scegliere.
Per il momento per non avere problemi scegliamo libreriavuota.txt

A questo punto in alto a sinistra compare l'elenco dei lavori in memoria
Se vogliamo salvare la lista del lavori con il pulsante destro sull'icona della traybar (quella in verde con l'H bianca) scegliamo salva lista lavori da completare, che possiamo ricareicare volendo scegliendo carica lista lavori ca compleatre
ora per far partire l'elaborazione sempre dalla traybar scegliamo avvia il lavoro
Vedrete comparire la finestra nera di ffmpeg e verrà avviata la codifica del file.
Un file generato da action cam verrà ridotto di dimensioni in modo consistente mantenendo comunque un'ottima qualità video.

Come tagliare testa e coda
pulsante destro sull'icona nella tray bar
cambiare parametri lavoro
(se non vedete la lista dei lavori in memoria richiamate o nascondete la lista selezionando visualizzatooltip, sempre nella traybar)
indicare il numero del video che volete tagliare
scrivere nella inputbox rigatrim
scrivere nell'area di input che compare il codice avisynth che vogliamo applicare all'intero video, nel caso specifico per eseguire un taglio di testa e coda.
trim(fotogramma di taglio inizio, fotogramma di taglio fine)
esempio ho un filmato di 60 secondi a 30 fotogrammi per secondo
vogliamo il video dal secondo 10 al secondo 50
mi faccio 10 * 30 = 300 50 * 30 = 1500
la riga del taglio sarà trim(300,1500)
oltre alla riga trim si può inserire codice codice avisynth che verrà applicato all'intero video.
Per eseguire invece più tagli sullo stesso video, per unire pezzi di video diversi o applicare codice avisynth a porzioni di video, bisogna entrare nella funzione tagliaunisci, leggermente più complicata.

Nelle prossimo intervento parleròin modo specifico le caratteristiche delle librerie cosa fanno analizzeremo il codice e quali parametri di codificatore utilizzare.


continua...
 
Ultima modifica:

Pedalopedalo

Biker urlandum
4/10/15
553
64
0
Visita sito
questo script ben piu incasinato di quello precedente e meglio non utilizzarlo salvo che siano di interesse le funzioni aggiuntive
http://www.mediafire.com/file/e33va5ag8fv6vz8/conversionefilmato4.ahk
E ancora in fase di test ed è stato stravolto parecchio, questo epr riuscire ad avere la possibilità di avviare piu lavori contemporaneamente.
Funziona utile solo nel caso abbiamo parecchi file da trattare con deshaker (plugin di virtualdub) visto che la cpu non era al 100% nella prima passata di analisi, ho pensato di poter lanciare più passate contemporaneamente nel caso avessimo più file da trattare. Direi di lasciare stare questa funzione.
Cambio audio, permette di scegliere una lista di file audio, ho testato mp3, chiede se applicarli in modo random e li applica in codifica (testato 1 volta).
Ultima funzione, se si utilizza la funzione taglia unisci per unire più file in un unico, si può impostare un numero di fotogrammi per permettere la dissolvenza tra un video e l' altro (verificato che il codice avisynth è corretto ma non ancora testato un lavoro).

Ho avuto un problema con un file ricavato da videopad, programma che presenta grossi problemi ma sembra essere il solo che permette di salvare il lavoro senza perdita di qualità, infatti non ricodifica il video se non quelle piccole parti che vanno necessariamente ricodificate, quelle dove si applicano effetti testo ecc.
Il file ottenuto non veniva letto correttamente dal DirectShowSource di avisynth, ho sistemato grazie all'utility Win7DSFilterTweaker_6.3.exe che permette di scegliere la sorgente per il DirectShowSource, io ho scelto Lav e va bene.

Ultima cosa, per risolvere problemi conviene usare la funzione genera codice avs per generare un codice di esempio, lo apriamo con avpsmod a 64 bit e proviamo a scorrere con la barra per vedere l'anteprima o i messaggi di errore

la versione x64 è sparita, metto il link della versione che ho trovato tempo fa
http://www.mediafire.com/file/kx62bk2eut02728/x64.rar/file

edit 23-04-2019
metto il codice uguale al precedente dove tolgo i bug mentre li trovo
http://www.mediafire.com/file/sxqs2ih8xpqx27h/conversionefilmatoaggiornato.ahk

edit 11/08/2019
cambiata telecamera cambiate esigenze modifica del programma
da ora le modifiche che faro al programma renderanno probabilmente inutilizzabili funzioni presente nella precedente versione, già c'erano bug ora non penso possa funzionare.
Di fatto dovendo lavorare su video 4 k facendo ricerche ho trovato un plugin mp_pipeline che permette di eseguire processi avisynth esterni.
Di bello è che cambia un po le prestazioni di avisynth dove vogliamo e permette di caricare versioni plugin nati per versioni diverse di avisynth. Tradotto si possono utilizzare plugin 32 bit con avisynth 64
Mi metterò a fare delle prove con vecchi plugin per vedere se ci sono tesori nascosti, in proogramma guarderò Deshaker3d e Stabilization Tools Pack (per vedere come risolvono il problema dei bordi neri).

Allego la versione che permette di gestire più sorgenti (infatti con pipeline non viene trasportato l'audio, quindi il file deve essere aperto 2 volte una per video e 1 per audio unendo poi il tutto con audiodub) e un esempio di libreria fatta con il buon vecchio plugin per il defish.
Di fatto sono riuscito a passare da un inutilizzo della cpu e una velocità di lavoro di 0,5 fps con il mio phenom a 1,4.

La prossima versione del programma toglierò la forzatura nel generare lo script che punta sempre in una cartella di plugin, visto che prossimamente dovremmo avere anche la cartella 32 bit.

Una nota dolente, il buon avisynth neo derivato da avisynt plus sembra non essere compatibile con Mp_Pipeline, che invece funziona perfettamente con avisynth plus.

Inoltre ho sperimentato questa riga di codifica per schede nvidia (ffmpeg64 -hwaccel cuvid -i input -c:v hevc_nvenc -preset slow -b:v 15M -maxrate:v 60M temp.mp4)
E velocissima, ma non ho capito se a discapito della qualità, di fatto se regola la dimensione del file e la qualità solo modificando il valore -b:v 15M che indica bitrate


 
Ultima modifica:

Classifica mensile dislivello positivo