Pagina 1 di 11

Progetto VideoSnaps

Inviato: 03/06/2015, 20:44
da motoschifo
Ciao a tutti,
ho il piacere di annunciare che io ed AntoPisa abbiamo dato il via ad un bel progetto per creare i video di anteprima dei giochi sul Mame.

Tutto parte dall'intenzione di includere nel futuro sito ADB anche i video preview di alcuni giochi. Così chiedo l'autorizzazione per pubblicarli ma purtroppo non la ottengo. A quel punto non mi sono arreso ed ho cercato di farli da solo.
Ho provato e subito ho visto i primi problemi: processo lento, perdite di tempo per capire inizio/fine dei video, elaborazioni complicate dal fatto di usare strumenti differenti, opzioni codec complicate da ricordare, ecc.
Il procedimento è spiegato molto bene in un thread di PleasureDome e si capisce subito che richiede un sacco di tempo e che va ripetuto per ogni singolo gioco.

Ho scelto allora di cambiare il sorgente del Mame per adattarlo alle mie esigenze e dopo qualche giorno di prove e compilazioni sbagliate sono riuscito a rendere tutto il processo snello e veloce (senza tra l'altro usare direttamente strumenti di editing video). Il thread con le modifiche fatte al Mame lo avevo aperto su MameItalia.

Il funzionamento è semplice:
- avvio il gioco usando una versione modificata del Mame con l'opzione -record per registrare i file inp
- premo F12 per impostare il marcatore di inizio sequenza di "intro" (nota: non verranno creati gli snapshot)
- premo ancora F12 per marcarne la fine
- ripeto il procedimento per marcare la sequenza "gameplay"
- esco dal Mame
- lancio lo script di conversione video

La generazione del video è automatizzata in base ai file inp che ho nella cartella e viene prima creato il file avi in formato raw a 60fps a risoluzione nativa, circa 1GB per ogni minuto di registrazione. Poi vengono riconosciuti i due pezzi intro e gameplay, vengono tagliati ed assemblati (prima gameplay, poi intro), scalati per avere un aspect ratio corretto ed applicato un effetto fade-in per 50 frame circa. Infine il tutto viene convertito in doppia passata in svariati formati: mp4, avi.

Il processo non richiede il mio intervento ed è gestito da script Linux. L'orientamento viene riconosciuto da una chiamata/servizio al mio sito, quindi vengono segnalati eventuali errori durante i lavori (rom mancante, avi non creato, ecc) e se tutto va bene rimossi i file temporanei.

I vantaggi di questo approccio sono diversi:
- l'utente deve preoccuparsi solo di giocare e delimitare intro e gameplay (4 pressioni del tasto F12)
- l'operazione può essere ripetuta in maniera batch, magari quando trovo opzioni migliori o codec più performanti, oppure se voglio aggiungere un nuovo formato non previsto (tutti i file verrebbero convertiti e generati in maniera batch, io non devo fare nulla se non mandare in play il video finale per controllare che sia buono)
- l'attività dell'utente (record inp) non va più ripetuta
- la risoluzione è quella nativa del gioco
- la qualità dei file mp4 è molto alta, ottenuta con codifiche lente e parametri particolari

E' così che grazie all'aiuto di AntoPisa abbiamo predisposto un ambiente ed un documento con le linee guida da seguire.
Si tratta di un lavoro che inizia oggi, quindi sicuramente non è perfetto e chiunque voglia contribuire o migliorarlo basta che me lo segnali in questo thread.

Chi invece vuole collaborare può farlo in totale libertà (controllate prima il foglio su Google Drive per evitare di fare il lavoro doppio) oppure può scrivermi un messaggio privato e gli riserverò un lotto di rom da completare.

Tutti i file prodotti verranno pubblicati sul mio sito ADB, sul sito di AntoPisa (sotto forma di archivi ed aggiornamenti, ancora da pianificare nel dettaglio) e sullo spazio Mega (come archivi singoli mp4, avi, programmi).

Qualche dettaglio tecnico sui file prodotti:
- AVI: video xvid 1400k doppia passata, audio mp3 stereo 192k
- MP4: video h.264 qualità massima supportata, filtro animation+yuv444 per migliorarne la qualità ed i colori, audio aac stereo 192k
- MP3: audio qualità stereo 192k (è la stessa traccia del file avi esportata, nessuna conversione aggiuntiva)
I video sono a risoluzione nativa a 30fps con aspect ratio 4:3 per i giochi orizzontali e 3:4 per quelli verticali.

Una volta che avete i file inp e inp.timecode, potete spedirmeli che provvederò quanto prima a convertirli e pubblicarli.

Un ultimo appunto riguarda i permessi di utilizzo di questi file: chiunque può scaricarli ed usarli a patto che siano sempre riportati gli indirizzi di questo thread, il mio riferimento, quello di AntoPisa ed i rispettivi siti. Se intendete pubblicarli o includerli in raccolte, prima di farlo avvisatemi via pm. Ovviamente tutto il materiale deve essere fornito gratuitamente.

Una nota importante: gradirei avere dei riscontri di eventuali problemi nell'utilizzo di questi video con i vostri front-end, dei formati riconosciuti o no, di eventuali lentezze durante il play e cose simili. Infatti su pc vecchi non so quanto il codec Xvid sia ottimizzato per reggere il bitrate di 1400k, probabilmente andrà abbassato ad 800-900k perdendo un po' di qualità.
Il formato di riferimento per me è l'mp4 e sarà quello più curato, ma visto che è un processo automatico non ho problemi a creare un avi per i pc meno performanti (es. Pentium 4).
Il formato flv non l'ho gestito perchè lo reputo decisamente antiquato, nel caso fosse importante per alcuni utenti potrei pensare di includerlo.

Mi raccomando, mi aspetto un contributo da tutti <-help->
Considerate che per fare una ventina di giochi ci vuole poco più di mezz'ora e si producono 500k di file inp. Per tutto il resto ci penso io: conversione, controllo, pubblicazione, aggiornamento siti e documenti.

Detto questo, mi auguro che il progetto possa diventare sempre più grande grazie al vostro aiuto ed un riferimento per tutti quanti, proprio come lo sono oggi i file extra di ProgettoSnaps <-thumbup-> <-thumbup->

Link al materiale:
- Documento con le linee guida
- Cartella del progetto
- Cartella dei video
- Stato avanzamento lavori sul sito Arcade Database

Documenti vecchi (non più utilizzati):
- Foglio con lo stato avanzamento lavori MAME

EDIT 19/06/2015: Cambio indirizzi per alcuni link Google a Mega.
EDIT 22/09/2015: Su Mega rimarranno solo i file mp4 (raggiunto il limite di 50GB)
EDIT 06/07/2018: Rimozione dei programmi su Mega ed l'unica fonte per i Mame ricompilati diventa Google Drive ADB.

Re: Progetto Video Snaps

Inviato: 03/06/2015, 22:07
da AntoPISA
Aspettiamo volontari!
Basta un piccolo impegno e questa nuova e accattivante collezione potrebbe diventare una delle migliori in circolazione (se non per la quantità, almeno per la qualità).

Vi aspettiamo! <-clap->

Re: Progetto Video Snaps

Inviato: 03/06/2015, 23:02
da no.panic
Intanto complimenti per il lavoro fatto! Con un po' di collaborazione del forum si può completare tutta la collezione in un tempo ragionevole. Come già detto a motoschifo io ho poco tempo, ma più in là qualche video proverò a farlo ;)

Re: Progetto Video Snaps

Inviato: 05/06/2015, 13:22
da r77
Bella iniziativa, complimenti per il lavoro e :love:

Re: Progetto Video Snaps

Inviato: 06/06/2015, 23:21
da motoschifo
Mi fate sapere se il formato avi interessa? Perchè altrimenti lo rimuovo visto che non mi serve.
In caso positivo vorrei anche capire se funziona con pc vecchi (es. Pentium 4) perchè che ho scelto un bitrate un po' altino.

EDIT: Se richiesto posso fare anche altri formati, come flv/omg/ogg/mkv, ma deve essercene un reale motivo altrimenti sono risorse sprecate.

Re: Progetto Video Snaps

Inviato: 07/06/2015, 9:31
da Jorghino
FEEL supporta gli avi, quindi gli avi ci servono. O ho detto una cavolata?

Re: Progetto Video Snaps

Inviato: 07/06/2015, 10:23
da dR.pRoDiGy
Gli avi di sicuro sono il primo formato supportato.. Anche gli mp4, anche se non sono certo di aver fatto test su tutte le versioni possibili.
Ogg flv e mkv etc sicuramente non supportati :)
Per FEEL in se cmq una qualità troppo alta mi pare controproducente (tanto spazio su disco e tanta CPU per un riquadretto da poche centinaia di pixel di lato).. Quindi l'avi classico va più che ottimamente!

Re: Progetto Video Snaps

Inviato: 07/06/2015, 23:52
da cyborg
Accidenti.... che lavoro ragazzi <-clap-> <-clap-> <-shake2->
+1 a voi <-thumbup->

Re: Progetto Video Snaps

Inviato: 12/06/2015, 20:55
da motoschifo
Ragazzi siamo già arrivati a 247 video in poco più di una settimana!
Magari non tutti perfetti, ma chiunque potrà rifarli e spedirmi i due file inp/inp.timecode se ritiene di aver fatto meglio.

Piuttosto non ho ricevuto adesioni, come mai? <-on_confused->
Ci si mettono 1-2 minuti per gioco ed è un lavoro anche divertente perchè te ne fa scoprire di nuovi e mai provati. Chi ci da una mano?? <-help2-> <-help2->

Re: Progetto Video Snaps

Inviato: 21/06/2015, 21:16
da adolfo69
domandina veloce xkè ho appena letto i post...
ma usando questa versione riveduta e corretta x ottenere al posto della snap il video utilizzando il tasto F12 xkè poi i video ottenuti in formato inp non possiamo convertirli in mp4 o avi? xkè spedirteli senza editarli e poi successivamente spedirteli x porli sul sito?!?
Ancora, ma cosa avrebbero di diverso questi filmati da quelli facilmente recuperabili su emumovie? boh io ho quasi tutti i video dei vari emulatori e li ho fatti personalmente catturando il video con il programma DebutVideo che trovo ottimo ma se posso collaborare in qualche modo x me va bene

Ciao

Re: Progetto Video Snaps

Inviato: 22/06/2015, 0:25
da motoschifo
Ho scritto tutto cercando di essere più preciso possibile ma in effetti sono domande giuste le tue ;)

Diciamo che la priorità è andata alla partita e quindi ho tolto ogni "preoccupazione" tecnica esistente, anche perchè spesso ci sono insidie dietro l'angolo che magari non si conoscono.
Il file inp è standard Mame mentre il file inp.timecode ha i tempi delle pressioni del tasto F12.
Questi file occupano pochissimo e possono essere spediti in tranquillità.
Poi dietro le quinte ho creato script e programmi di conversione nei vari formati (mp3, mp4, avi) facendo in modo di aggiungere qualcosa (metadati come il titolo o la cover del titolo nel caso degli mp3), effetti grafici (fade-in), qualità video, audio e soprattutto colori (usando una codifica completa ho gli stessi colori che ci sono sullo schermo).

Il processo è molto complesso, lungo ed occupa parecchi giga, ma totalmente automatico: aspect ratio, versione del mame (quindi exe/bios/rom corretti), titoli, immagini, scale/crop eventuali, problemi con dimensioni non corrette (es. le slot sono quasi tutte sbagliate perchè la codifica xvid/avi non ammette dimensioni non multiple di 4 e nel caso non produce il file).
Queste sono solo alcune delle cose che ho considerato, e sicuramente non sono invitanti per uno che alla fine vuole fare un video e basta, inoltre potrebbero richiedere molto tempo se non si è esperti o non si usano gli strumenti giusti. Ad esempio io parto dal'avi raw (oggi) ma ho intenzione di migliorare ancora in futuro prendendo i singoli fotogrammi non compressi. Ogni lavorazione parte sempre dal raw, non ci sono riconversioni intermedie proprio per preservare la qualità.

Quindi se ho inp+inp.timecode posso ripetere il processo quando voglio senza richiedere a ciascuno di giocare un'altra partita.
Considera che al momento la cartella con i 500 titoli occupa 600 giga + 300 delle rom, ma tengo gli avi raw per avere un'elaborazione più rapida in futuro (e fino a quando avrò spazio). Ho dedicato al progetto 4 tera quindi per un po' sto tranquillo.

Altro aspetto da considerare: la conversione in avi/mp4 da qualunque grabber non è una buona scelta perchè genera video di bassa qualità, dato che lavora in tempo reale. Io invece uso il profilo mp4 più lento (meno di un minuto con un pc molto potente) e se necessario posso lanciare 4 processi paralleli alla volta.

La pubblicazione sul sito ADB è secondaria, perchè prima di tutto rendo questi video disponibili su Mega e poi AntoPisa gestirà dei comodi pack per download completi/incrementali.

Se qualcuno vuole i miei script nessun problema a condividerli, non l'ho fatto perchè sono Linux, richiedono diversi programmi installati (tra cui il mio sito) e li sto continuando a migliorare visto che questo sistema è molto giovane ;)

Per avere un'idea dei video prova a guardarti le immagini di confronto che ho messo su Gdrive. Io inizialmente non ci credevo... per anni ho usato file flv convertiti in avi/mp4 un po' a caso e non mi preoccupavo di errori così grossolani (tipo l'aspect ratio ed i colori che non ne hanno azzeccato uno...).
Poi una volta iniziati con i miei, ti dico la verità: ho cancellato tutti i video scaricati da altre fonti e mi sto godendo questi, che sono tra l'altro a risoluzione nativa ;)

Spero di aver risposto a tutto, nel caso chiedi senza problemi.
E come al solito ho scritto un tema.... :D

Re: Progetto Video Snaps

Inviato: 22/06/2015, 7:22
da cyborg
Scusa moto, appena posso inizio a darti una mano, non ho nemmeno più tempo da dedicare al mio cybercab maxi che ancora devo terminare....
Una domanda, ma ogni video quanto andrebbe a pesare? Ho letto che parli di dimensioni importanti, magari mi sbaglio <-on_confused->

Re: Progetto Video Snaps

Inviato: 22/06/2015, 8:56
da motoschifo
Dipende dal gioco, io cerco di mettere la presentazione completa ed almeno 20 secondi di play.
Ci sono eccezioni ma normalmente il video dura tra i 30 e i 60 secondi. Come spazio disco saremo tra i 500k e i 5 mega, in alcuni casi anche 20 (vedi presentazioni lunghissime e belle, come i giochi Cave).
I video fatti fino ad ora (480) occupano 1.3GB in mp4 e 4.7GB in avi.
Nella cartella del progetto trovi anche un documento che indica le linee guida: https://drive.google.com/folderview?id= ... =drive_web

Poi ognuno fa come può, io pubblico a prescindere perchè chiunque può rifare un video già fatto se crede di migliorarlo ;)
All'inizio magari sentiamoci in pm così vediamo come escono i primi giochi.

Ragazzi ricordate che i file che mi manderete diventeranno video pubblici, tutti potranno scaricarli senza pagare nulla e senza limitazioni.
Ovviamente nel foglio di calcolo su Gdrive indicherò l'autore (nickname).

Re: Progetto Video Snaps

Inviato: 22/06/2015, 10:46
da adolfo69
scusami ancora xkè la cosa mi incuriosisce... la qualità dei tuoi video è decisamente migliore di quelli prelevati su emumovie, ho prelevato metal slug x dal tuo sito e senza bisogno di confrontalo ho notato la qualità superiore e di conseguenza anche il peso in termini di mb (di poco superiore ad 1mb rispetto al corrispettivo di emumovie), ora x pochi file la cosa non ha importanza ma x migliaia di file la cosa va presa in considerazione anche tenendo conto che la finestra adibita alla visone sarà cmq ristretta e la differenza di qualità credo sia impercettibile o cmq meno importante rispetto alla differenza di 'peso'. Avete pensato a questo aspetto? e ancora, ma questo discorso vale solo x il mame o state studiando qualcosa anche x gli altri emu non arcade?!? io ritengo i video in mp4 di emumovie un buon compromesso tra qualità/peso ma sono aperto ad ogni soluzione (facendo grafica tendo sempre a privilegiare la qualità...)

Re: Progetto Video Snaps

Inviato: 22/06/2015, 11:05
da motoschifo
Meglio se ti incuriosisce, io lo trovo molto interessante! :)

I video generati ora partono dal presupposto di ottenere la massima qualità possibile a risoluzione nativa, compresi però anche audio (192k) e colori (yuv444). Con mp4 (libx264) si ottengono buoni rapporti dimensione/qualità.
Il corrispettivo avi non è all'altezza ed è per quello che ho bisogno di voi per capire come adattarli al meglio. Io personalmente non li uso, ma se avete necessità si possono ridurre in dimensioni o bitrate.
Considera anche che la dimensione è dato in larga parte dalla durata del video (i nostri sono decisamente più lunghi) e solo in misura minore dalla qualità visiva.

Un archivio completo di 10 mila giochi del Mame potrebbe occupare sui 30GB, che non è molto considerando che sarebbe la libreria più grande mai realizzata. Ma se consideri i giochi realmente in lista magari la cosa si ferma a pochi giga.
Il tool che sto realizzando può integrarsi con le rom esistenti e scaricare solo i file necessari. Secondo me è questa la modalità ideale di utilizzo. Poi per chi vuole si scarica tutto in tutti i formati.

La realizzazione dei file è completamente automatica e qui sta la grande forza del processo: se domani nasce l'esigenza di un nuovo formato (es. mkv) io devo scrivere la parte extra e poi fare un doppio click sullo script, avendo la certezza che tutti i video generati saranno identici come aspect ratio, dimensioni, crop, metadati, ecc.

Inoltre considerando l'enorme lavoro che c'è stato dietro, sinceramente la dimensione del file passa in secondo piano. Importante ma facilmente aggirabile ;)

Per l'altra domanda posso dirti che per il momento si possono creare i video per Mame e Mess, ma il progetto è esteso a qualsiasi emulatore.
Finiti questi cercherò il modo più indolore e facile per generare video da qualsiasi cosa (Nintendo, Snes, ecc).
Proprio come gli altri progetti che sto realizzando, io metto al centro del discorso il gioco e non l'emulatore.
Spero di arrivarci presto ma considerando che ho diverse cose in lavorazione (sito ADB, front-end web, catalogo, videosnaps, sito C64, aiuto/automazione progettoSnaps, tool ADB) non ho proprio idea di quando inizierò.

Re: Progetto Video Snaps

Inviato: 22/06/2015, 20:19
da adolfo69
Ciao, ho appena provato la versione mame162_i686-videosnaps ma premendo F12 all'avvio del gioco ed alla fine del livello in Mario Bros ho ottenuto 2 semplici snap e nessun file .inp (manca del tutto la cartella). Sbaglio sicuramente qualcosa... forse occorre qualche cartella supplementare? io ho solo scompattato il file e creato l'ini con il comando mame -cc dandogli il percorso della cartella roms. Attendo chiarimenti

ciao

Re: Progetto Video Snaps

Inviato: 22/06/2015, 20:43
da motoschifo
Si manca un pezzo: devi attivare la registrazione tramite flag -record, altrimenti la modifica non entra in azione.
In particolare qui trovi le istruzioni: https://drive.google.com/open?id=1oxIzv ... authuser=0

Semplificando ecco i parametri da aggiungere:

Codice: Seleziona tutto

mame64.exe -noreadconfig -record NOMEGIOCO.inp NOMEGIOCO
Puoi crearti un batch per comodità (io ho fatto così):

Codice: Seleziona tutto

c:
cd "c:\cartella dove metti il mame"
.\mame64.exe -noreadconfig -record %1.inp %1
e ti basta lanciarlo usando come parametro il nome della rom.

EDIT1: Ricorda che le pressioni minime del tasto F12 sono 4 e non 2. Le prime due per delimitare la intro, le altre per il gameplay. Nel filmato finale il gameplay partirà per primo.
EDIT2: Corretto comando batch con %1 visto che siamo sotto Windows...

Re: Progetto Video Snaps

Inviato: 22/06/2015, 21:11
da pucci
come è stata stabilita la lista dei giochi per i quali creare i video?
solo parent? sono inclusi i mechanical?

Re: Progetto Video Snaps

Inviato: 22/06/2015, 21:35
da AntoPISA
Per la prima fase i giochi che abbiamo preso in esame sono "solo" i parent perfettamente funzionanti.

Re: Progetto Video Snaps

Inviato: 23/06/2015, 10:30
da adolfo69
ciao,
stamattina ho provato la stringa da te suggerita e cioè:
mame -noreadconfig -record mario.inp mario
ma invece del gioco mi appare una schermata violastra... forse non fa x me questa cosa...
ho provato anche con altri giochi ma c'è sempre una schermata costituita da una serie di caratteri strani.
Mi ha creato xò la cartella inp con all'interno:
mario.inp
mario.inp.timecode