Progetto VideoSnaps

Il database che raccoglie tutte le informazioni sui giochi, video, screenshot e tanto altro ancora

Moderatore: Moderatore ADB

Avatar utente
devil78
Moderatore Raspberry
Moderatore Raspberry
Messaggi: 769
Iscritto il: 12/05/2015, 23:46
Reputation: 13
Città: Nardodipace
Località: Serra San Bruno (VV)
Contatta:

Re: Progetto Video Snaps

Messaggio da devil78 » 26/07/2015, 7:14

Se mi passi gli script, provo a fare una gui, secondo me, fa sempre bene averna una.
Guida Piattaforma Arcade con Raspberry Pi, A, B, A+, B+, zero, 2 e 3 !
viewtopic.php?f=55&t=22809


Avatar utente
motoschifo
Progetto Arcade Database
Progetto Arcade Database
Messaggi: 2408
Iscritto il: 12/07/2013, 19:29
Medaglie: 2
Reputation: 42
Città: Parma
Località: Parma
:
Gold Medal Donatore
Contatta:

Re: Progetto Video Snaps

Messaggio da motoschifo » 26/07/2015, 7:35

Si sono tutti script, ne ho 4 tipologie: generazione/conversione video, play di una partita, archiviazione e preparazione per l'upload e quello di caricamento vero e proprio.
Per ciascuno esiste la controparte di gestione multipla dei file, con scelta (opzionale o automatica) della versione del Mame, dell'autore dell'inp, ecc.
Ad esempio posso giocare ad una partita con Mame 163, poi registrarla, convertirla e caricarla con solo tre comandi:

Codice: Seleziona tutto

mame_record atetris 163
mame_convert_all motoschifo
mame_upload_all
Utilizzo avconv per i tagli e le conversioni (mp3, avi, mp4), mediainfo per avere i metadati (quelli che verranno pubblicati su Youtube, l'utility youtube-uploader scritta in python per il caricamento batch ed ovviamente sfrutto il sito per farmi dare tutte le informazioni accessorie (aspect ratio, titolo, sistema, lista, cover se si tratta di un mp3, ecc).
Gli script sono in bash e sono piuttosto lunghetti, inoltre ci sono eccezioni per un sacco di giochi perchè in tanti casi la risoluzione dell'avi raw è sbagliata (credo un errore o bug Mame).
Saranno 1300 righe circa in tutto, più un altro migliaio lato php. Non è un'esagerazione ma comunque si fa sentire.

La struttura è molto rigida perchè la "catena di montaggio" deve rispettare regole molto precise.
La sequenza è questa: ogni file inp viene controllato e se incompleto scartato o rinominato, per ogni file vengono riconosciuti i parametri essenziali (nome, sistema, gioco, versione mame) e poi spostato nella coda di conversione. Da qui, viene preso da un processo che può lavorare i file in parallelo (mediamente uso dai 3 ai 6 processi insieme, in base al carico della macchina) e poi se ci sono problemi marcato "in errore" altrimenti "in lavorazione". Questo mi permette di sapere come sta procedendo la coda.
Terminato verifico i 3 file per ciascun gioco (aspect ratio, risoluzione, gameplay, ecc) ed aggiorno il documento su Google. Poi sposto il file in una cartella differente, e quei file verranno copiati ed archiviati opportunamente. Ci sono posti differenti in cui finiranno: archivio ufficiale (disco locale), Youtube, ProgettoSnaps, Mega, sito ADB locale e remoto.
Ciascuna di queste destinazioni ha regole particolari per i nomi (es. Mess in alcuni ha la propria cartella, in altri usa il nome "sistema-gioco" ed in altri ancora "softwarelist-gioco").
Tutti i file legati ad un gioco, quindi inp, inp.timecode, avi-raw, avi, mp4, mp3, log/errori, ecc. vengono quindi smistati e finiscono anche in un archivio "storico", da cui potrò in futuro ripescarli per ripetere l'intero processo. Ho rifatto tutti i Mess proprio ieri con questo sistema, circa 900 video per ciascun formato.

Mediamente si producono 100 video all'ora e se sono fortunato anche più di 400 (ma capita raramente...). Infatti la risoluzione può non essere corretta, alcuni giochi hanno i file nvram/cfg particolari, possono avere problemi con i miei Mame, ecc. Se non devo tornarci sopra, il mio intervento è solo quello di aggiornare il documento su Google (ma in futuro, anche questa fase sarà automatica e gestita dal sito).

E' più complicato descriverlo che farlo... diciamo che l'intero processo è sempre in cambiamento perchè aggiungo i pezzi che mi servono, comunque per ora sembra stabile ;)
Avrei voluto farlo con un linguaggio più evoluto ma ormai l'ho fatto in bash e per adesso me lo tengo così.
Per la gui non ne ho bisogno visto che lavoro sempre da riga comando e la cosa mi permette di essere più rapido. Ad ogni modo anche qui il sito mi verrà in aiuto perchè sarà poi lui a lanciare gli script, convertire e spostare i vari file (ovviamente la mia copia in locale, l'unica che ha accesso al disco fisso).
Motoschifo
CAB ›MameOriz ›MameVert ›PCB ›NeoGeo ›TopDrive ›Tekken3 Wishlist ›PacMan ›Arkanoid
Flipper ›HighSpeed Wishlist ›MedievalMadness ›MonsterBash ›HighSpeed2 WebArcadeDatabase


Avatar utente
motoschifo
Progetto Arcade Database
Progetto Arcade Database
Messaggi: 2408
Iscritto il: 12/07/2013, 19:29
Medaglie: 2
Reputation: 42
Città: Parma
Località: Parma
:
Gold Medal Donatore
Contatta:

Re: Progetto Video Snaps

Messaggio da motoschifo » 26/07/2015, 7:37

devil78 ha scritto:Se mi passi gli script, provo a fare una gui, secondo me, fa sempre bene averna una.
Con cosa intendi farla?
Se hai qualche esempio passa pure perchè di gui ancora sono un po' a digiuno... il massimo che ho fatto è una minima interazione tramite zenity ma poche cose.

Se invece vuoi gli script mandami un pm o scrivimi su arcadedatabase.
Motoschifo
CAB ›MameOriz ›MameVert ›PCB ›NeoGeo ›TopDrive ›Tekken3 Wishlist ›PacMan ›Arkanoid
Flipper ›HighSpeed Wishlist ›MedievalMadness ›MonsterBash ›HighSpeed2 WebArcadeDatabase


Avatar utente
motoschifo
Progetto Arcade Database
Progetto Arcade Database
Messaggi: 2408
Iscritto il: 12/07/2013, 19:29
Medaglie: 2
Reputation: 42
Città: Parma
Località: Parma
:
Gold Medal Donatore
Contatta:

Re: Progetto Video Snaps

Messaggio da motoschifo » 26/07/2015, 9:45

Fogli per la parte MESS online:
Elenco video snaps MESS (0-B, hack)
Elenco video snaps MESS (C)
Elenco video snaps MESS (D-L)
Elenco video snaps MESS (M-O)
Elenco video snaps MESS (P-Z)

Appena possibile allineerò di dati del vecchio foglio Mess, poi in futuro tutta questa parte sarà integrata nel sito. Con calma... 8-)

EDIT
Fogli allineati con tutte le informazioni fino ad oggi. Che sfacchinata, ora un po' di riposo... <-lazy->
Ho anche dovuto dividerli in più fogli perchè erano troppo grandi per lavorarli online.
Motoschifo
CAB ›MameOriz ›MameVert ›PCB ›NeoGeo ›TopDrive ›Tekken3 Wishlist ›PacMan ›Arkanoid
Flipper ›HighSpeed Wishlist ›MedievalMadness ›MonsterBash ›HighSpeed2 WebArcadeDatabase


Avatar utente
devil78
Moderatore Raspberry
Moderatore Raspberry
Messaggi: 769
Iscritto il: 12/05/2015, 23:46
Reputation: 13
Città: Nardodipace
Località: Serra San Bruno (VV)
Contatta:

Re: Progetto Video Snaps

Messaggio da devil78 » 26/07/2015, 16:27

Pensavo di sviluppare con livecode, python gtk o gambas visto che gli script bash sono tutti linux, scelgo questi tre perché posso portarli testarli su raspeberry pi. Da come hai descritto il funzionamento, il primo script che parte deve richiamare la gui, far vedere i video, magari integrare tutto in un database in modo da poter aggiornare automaticamente gli elenchi online sul sito ed avere, un controllo, in tempo reale, dei video presenti, il formato presente, e quello mancante.
Guida Piattaforma Arcade con Raspberry Pi, A, B, A+, B+, zero, 2 e 3 !
viewtopic.php?f=55&t=22809


Avatar utente
devil78
Moderatore Raspberry
Moderatore Raspberry
Messaggi: 769
Iscritto il: 12/05/2015, 23:46
Reputation: 13
Città: Nardodipace
Località: Serra San Bruno (VV)
Contatta:

Re: Progetto Video Snaps

Messaggio da devil78 » 26/07/2015, 16:28

Ovviamente anche la parte di conversione nel formato desiderato potrebbe essere integrata nella gui.
Guida Piattaforma Arcade con Raspberry Pi, A, B, A+, B+, zero, 2 e 3 !
viewtopic.php?f=55&t=22809


Avatar utente
motoschifo
Progetto Arcade Database
Progetto Arcade Database
Messaggi: 2408
Iscritto il: 12/07/2013, 19:29
Medaglie: 2
Reputation: 42
Città: Parma
Località: Parma
:
Gold Medal Donatore
Contatta:

Re: Progetto Video Snaps

Messaggio da motoschifo » 26/07/2015, 17:01

Non conosco gli strumenti che hai nominato quindi vorrei saperne di più per capire se si può fare qualcosa. Ci sentiamo in pm.
Il db è in rete locale (server virtuale) ma presto sarà remoto (ovvero il sito ufficiale) per cui la comunicazione avviene tramite chiamate php. Sarebbe troppo complesso gestire il db via sql. Parte di tutto questo processo verrà messo su server (un altro) sempre in rete locale perchè rimane sempre acceso e quindi può lavorare senza interruzioni. La pagina di amministrazione sarà web visto che ormai è tutto così... ma una gui da qualche parte potrebbe semplificarmi la vita in effetti :)
Motoschifo
CAB ›MameOriz ›MameVert ›PCB ›NeoGeo ›TopDrive ›Tekken3 Wishlist ›PacMan ›Arkanoid
Flipper ›HighSpeed Wishlist ›MedievalMadness ›MonsterBash ›HighSpeed2 WebArcadeDatabase


Avatar utente
motoschifo
Progetto Arcade Database
Progetto Arcade Database
Messaggi: 2408
Iscritto il: 12/07/2013, 19:29
Medaglie: 2
Reputation: 42
Città: Parma
Località: Parma
:
Gold Medal Donatore
Contatta:

Re: Progetto Video Snaps

Messaggio da motoschifo » 02/08/2015, 7:31

Sto rifacendo i video perchè ho sistemato meglio i metadati, così ho colto l'occasione per provare a rifarli da capo in modalità automatica.
Per adesso non ho avuto problemi quindi direi che funziona molto bene.
Sono a due terzi del processo, circa 2000 video già fatti da venerdi sera!

Lunedi e martedi sincronizzerò la cartella di Mega con i nuovi file mentre già da un po' sto aggiornando il canale su YouTube. Anche questa parte è automatica e sarà allineata come gli altri siti.
Molti dei processi che ci sono ora per ottenere il video saranno spostati (non so quando) su server locale e le conversioni saranno guidate da chiamate web/schedulate di notte.

I video avranno anche un effetto cross-fade tra gameplay ed intro, ma purtroppo ora non ho tempo da dedicare a questa cosa quindi la rimando ancora.
Motoschifo
CAB ›MameOriz ›MameVert ›PCB ›NeoGeo ›TopDrive ›Tekken3 Wishlist ›PacMan ›Arkanoid
Flipper ›HighSpeed Wishlist ›MedievalMadness ›MonsterBash ›HighSpeed2 WebArcadeDatabase


Avatar utente
motoschifo
Progetto Arcade Database
Progetto Arcade Database
Messaggi: 2408
Iscritto il: 12/07/2013, 19:29
Medaglie: 2
Reputation: 42
Città: Parma
Località: Parma
:
Gold Medal Donatore
Contatta:

Re: Progetto Video Snaps

Messaggio da motoschifo » 10/08/2015, 9:20

Piccolo aggiornamento: ho finalmente esteso gli array dei dischi di casa, quindi posso fare i backup anche di tutta la cartella "videosnaps" che viaggia ormai sui 2 tera.
Ora che la procedura è stabile ho intenzione di estenderla per gestire i giochi multi-schermo (quindi avere video composti da 2 o 3 schermi) e partite o livelli completi.
Nel primo caso il gameplay sarà lo stesso dei video attuali, ma con un render di tutti gli schermi anzichè solo quello più significativo. Andranno in aggiunta a quelli già esistenti.
Nel secondo caso si tratta di partite singole che verranno poi caricate su tutti i canali previsti.
Motoschifo
CAB ›MameOriz ›MameVert ›PCB ›NeoGeo ›TopDrive ›Tekken3 Wishlist ›PacMan ›Arkanoid
Flipper ›HighSpeed Wishlist ›MedievalMadness ›MonsterBash ›HighSpeed2 WebArcadeDatabase


Avatar utente
AntoPISA
Affezionato
Affezionato
Messaggi: 190
Iscritto il: 12/05/2010, 22:44
Reputation: 9
Città: Pisa
Località: Pisa
Contatta:

Re: Progetto Video Snaps

Messaggio da AntoPISA » 11/08/2015, 17:05

I video dei giochi multi-schermo che già sono disponibili su progetto-snaps in modalità schermo singolo, andranno a sostituire questi ultimi (su richiesta di molti utenti).


Rispondi