2011-07-18 5 views
5

Sto lavorando a un progetto C++ con openCV. È una semplice applicazione web cam con funzionalità di base come la cattura di foto e video. Sono già stato in grado di salvare video (senza audio). Poiché openCV non supporta l'elaborazione audio, mi chiedevo se fosse possibile registrare l'audio separatamente in un file diverso e unirli successivamente per ottenere un file video. Durante la ricerca su internet, ho sentito qualcosa sull'uso di ffmpeg con openCV. Ma non riesco a capire come farlo esattamente ...che combina file audio e video separati in un unico file C++

Potete aiutarmi ragazzi? Ti sarei molto grato ... Grazie!

P.S. Ho usato openCV e QT (per GUI)

risposta

4

Come hai detto, opencv non si occupa da solo di audio. Tuttavia, una volta ottenuto un file audio e video separato, è possibile combinarli utilizzando una tecnica denominata muxing. Ci sono molti modi per farlo. Io uso VirtualDub per la maggior parte delle mie esigenze di muxing, sebbene sia solo per Windows (non sono sicuro che sia un problema). So che ffmpeg è anche in grado di muxing (tramite l'interfaccia della riga di comando), non riesco a ricordare quale sia il comando. C'è anche mplayer e una moltitudine di altri programmi là fuori per fare questo.

+0

Grazie Chris. Ho esaminato la documentazione di openCV per l'utilizzo di ffmpeg. Ho trovato alcuni comandi per il muxing. Quindi funzionerà se eseguo quei comandi dalla funzione system()? –

+0

@Ashish Shrestha: finchè i parametri che stai trasmettendo a ffmpeg sono corretti (dovresti prima eseguirlo manualmente per ricontrollare) allora sì dovrebbe funzionare bene con il comando 'system'. –

+0

Grazie Chris! Sei stato un vero aiuto! :) –

1

per quanto ne so openCV è buono per l'elaborazione di video/immagini. Per supportare l'elaborazione audio, puoi utilizzare altre librerie, ad es. PortAudio o C-sound.

Problemi correlati