Progetto VideoSnaps
Moderatore: Moderatore ADB
- devil78
- Cab-dipendente
- Messaggi: 775
- Iscritto il: 13/05/2015, 0:46
- Città: Nardodipace
- Località: Serra San Bruno (VV)
- Contatta:
Re: Progetto Video Snaps
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
viewtopic.php?f=55&t=22809
-
motoschifo
- Progetto Arcade Database
- Messaggi: 3273
- Iscritto il: 12/07/2013, 20:29
- Medaglie: 2
- Città: Parma
- Località: Parma
- Grazie Inviati: 32 volte
- Grazie Ricevuti: 32 volte
- Contatta:
Re: Progetto Video Snaps
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:
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).
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
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 Web ›ArcadeDatabase
CAB ›MameOriz ›MameVert ›PCB ›NeoGeo ›TopDrive ›Tekken3 Wishlist ›PacMan ›Arkanoid
Flipper ›HighSpeed Wishlist ›MedievalMadness ›MonsterBash ›HighSpeed2 Web ›ArcadeDatabase
-
motoschifo
- Progetto Arcade Database
- Messaggi: 3273
- Iscritto il: 12/07/2013, 20:29
- Medaglie: 2
- Città: Parma
- Località: Parma
- Grazie Inviati: 32 volte
- Grazie Ricevuti: 32 volte
- Contatta:
Re: Progetto Video Snaps
Con cosa intendi farla?devil78 ha scritto:Se mi passi gli script, provo a fare una gui, secondo me, fa sempre bene averna una.
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 Web ›ArcadeDatabase
CAB ›MameOriz ›MameVert ›PCB ›NeoGeo ›TopDrive ›Tekken3 Wishlist ›PacMan ›Arkanoid
Flipper ›HighSpeed Wishlist ›MedievalMadness ›MonsterBash ›HighSpeed2 Web ›ArcadeDatabase
-
motoschifo
- Progetto Arcade Database
- Messaggi: 3273
- Iscritto il: 12/07/2013, 20:29
- Medaglie: 2
- Città: Parma
- Località: Parma
- Grazie Inviati: 32 volte
- Grazie Ricevuti: 32 volte
- Contatta:
Re: Progetto Video Snaps
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...
EDIT
Fogli allineati con tutte le informazioni fino ad oggi. Che sfacchinata, ora un po' di riposo...
Ho anche dovuto dividerli in più fogli perchè erano troppo grandi per lavorarli 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...
EDIT
Fogli allineati con tutte le informazioni fino ad oggi. Che sfacchinata, ora un po' di riposo...
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 Web ›ArcadeDatabase
CAB ›MameOriz ›MameVert ›PCB ›NeoGeo ›TopDrive ›Tekken3 Wishlist ›PacMan ›Arkanoid
Flipper ›HighSpeed Wishlist ›MedievalMadness ›MonsterBash ›HighSpeed2 Web ›ArcadeDatabase
- devil78
- Cab-dipendente
- Messaggi: 775
- Iscritto il: 13/05/2015, 0:46
- Città: Nardodipace
- Località: Serra San Bruno (VV)
- Contatta:
Re: Progetto Video Snaps
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
viewtopic.php?f=55&t=22809
- devil78
- Cab-dipendente
- Messaggi: 775
- Iscritto il: 13/05/2015, 0:46
- Città: Nardodipace
- Località: Serra San Bruno (VV)
- Contatta:
Re: Progetto Video Snaps
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
viewtopic.php?f=55&t=22809
-
motoschifo
- Progetto Arcade Database
- Messaggi: 3273
- Iscritto il: 12/07/2013, 20:29
- Medaglie: 2
- Città: Parma
- Località: Parma
- Grazie Inviati: 32 volte
- Grazie Ricevuti: 32 volte
- Contatta:
Re: Progetto Video Snaps
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
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 Web ›ArcadeDatabase
CAB ›MameOriz ›MameVert ›PCB ›NeoGeo ›TopDrive ›Tekken3 Wishlist ›PacMan ›Arkanoid
Flipper ›HighSpeed Wishlist ›MedievalMadness ›MonsterBash ›HighSpeed2 Web ›ArcadeDatabase
-
motoschifo
- Progetto Arcade Database
- Messaggi: 3273
- Iscritto il: 12/07/2013, 20:29
- Medaglie: 2
- Città: Parma
- Località: Parma
- Grazie Inviati: 32 volte
- Grazie Ricevuti: 32 volte
- Contatta:
Re: Progetto Video Snaps
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.
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 Web ›ArcadeDatabase
CAB ›MameOriz ›MameVert ›PCB ›NeoGeo ›TopDrive ›Tekken3 Wishlist ›PacMan ›Arkanoid
Flipper ›HighSpeed Wishlist ›MedievalMadness ›MonsterBash ›HighSpeed2 Web ›ArcadeDatabase
-
motoschifo
- Progetto Arcade Database
- Messaggi: 3273
- Iscritto il: 12/07/2013, 20:29
- Medaglie: 2
- Città: Parma
- Località: Parma
- Grazie Inviati: 32 volte
- Grazie Ricevuti: 32 volte
- Contatta:
Re: Progetto Video Snaps
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.
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 Web ›ArcadeDatabase
CAB ›MameOriz ›MameVert ›PCB ›NeoGeo ›TopDrive ›Tekken3 Wishlist ›PacMan ›Arkanoid
Flipper ›HighSpeed Wishlist ›MedievalMadness ›MonsterBash ›HighSpeed2 Web ›ArcadeDatabase
- AntoPISA
- Affezionato
- Messaggi: 260
- Iscritto il: 12/05/2010, 23:44
- Città: Pisa
- Località: Pisa
- Grazie Inviati: 4 volte
- Grazie Ricevuti: 4 volte
- Contatta:
Re: Progetto Video Snaps
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).
Il mio sito: https://www.progettosnaps.net