2012-06-20 13 views
8

Desidero la schermata di registrazione (acquisendo 15 schermate al secondo). Questa parte so come fare. Ma non so come scriverlo in qualche formato video popolare. La migliore opzione che ho trovato è scrivere frame su file PNG separati e usare Mencoder a riga di comando che può convertirli in molti formati di output. Ma forse qualcuno ha un'altra idea?Programmazione dello screen recorder - problemi di output

Requisiti:

  • devono essere soluzioni multi-piattaforma (sto usando Free Pascal/Lazarus). Windows, Linux, MacOS
  • Esistono librerie per questo?
  • Potrebbe essere un'applicazione di riga di comando complessa per me, ma devo avere la possibilità di modificare i frame prima di convertire interi dati grezzi in formato video popolare
  • Tutti i materiali che potrebbero darmi un'idea sono apprezzati. API, librerie, qualsiasi cosa anche in altre lingue rispetto a FPC (vorrei provare a riscriverlo o trovare qualche equivalente)
  • Ho preso in considerazione anche la scrittura di fotogrammi in formato RAW video e quindi utilizzare Mencoder (che può gestirlo) o altra soluzione, ma può 't trovare qualsiasi API/doc per i video dati RAW

Regards

+0

[ffmpeg] (http://ffmpeg.org/) è multipiattaforma, con licenza LGPL o GPL, recentemente aggiornato. – Argalatyr

+0

Sembra il progetto Mencoder. Quindi ho soluzioni per la codifica dell'output. Ma come preparare l'input per quegli encoder? Sto cercando qualcosa di diverso dalla serie di file PNG – Dibo

+0

I [documenti] (http://ffmpeg.org/faq.html#How-do-I-encode-single-pictures-into-movies_003f) descrivono la codifica dall'immagine cornici a mpeg. Non farà quello che vuoi? – Argalatyr

risposta

4

Argalatyr menzionato già ffmpeg.

Ci sono due modi che si possono ottenere quello per funzionare:

  1. Con la deposizione delle uova di un processo nuovo. Tutto ciò che devi fare è preparare l'input corretto (ad esempio una serie di immagini jpeg) e i parametri della riga di comando corretta. Dopodiché chiami ffmpeg.exe e attendi che finisca.

  2. ffmpeg fa uso di alcune DLL che fanno il lavoro effettivo. Puoi usare queste dll direttamente dall'applicazione Delphi. È un po 'più di lavoro, perché è più di basso livello, ma alla fine ti darà un controllo più preciso su ciò che accade e ciò che mostri all'utente mentre stai elaborando.

Ecco alcune soluzioni per verificare:

+1

+1 ottimi suggerimenti. – Argalatyr

+0

Grazie a tutti! La soluzione DLL sembra promettente. Lo controllo – Dibo

+0

@Wouter: potresti modificare la tua risposta ora che qualcuno ha cancellato la mia (precedente) risposta come nient'altro che un commento. Sembra ingiusto per me, ma loro sono le pause. – Argalatyr

-1

Si è discusso in precedenza con un componente Delphi here. È un componente molto semplice che a volte genera alcuni film strani. Forse un inizio.

+0

hai visto il primo requisito dell'OP? "Cross-platform" – Argalatyr

Problemi correlati