Vorrei aggiungere funzionalità di conversione video a un programma che sto scrivendo. L'interfaccia a riga di comando di FFmpeg per fare ciò è semplicemente ffmpeg -i InputFile OutputFile
, ma c'è un modo per usarlo come libreria, quindi posso fare qualcosa come ffmpeg_convert(InputFile, OutputFile)
?FFmpeg può essere usato come libreria, invece di un programma standalone?
Spero di non dover utilizzare direttamente libavcodec, poiché immagino che sarà molto più complesso di una funzione a una riga per la conversione tra i formati. Se FFmpeg non può essere facilmente riadattato per fare questo, c'è forse un'altra libreria basata su di essa che lo fa? Ho sentito parlare di libvlc, ma questo sembra esporre solo un video riproducendo l'API, non la conversione video.
Grazie.
Solo per curiosità, perché preferiresti utilizzarlo come DLL? Qual è lo svantaggio di exec()? –
Non vorrei eseguirlo in un processo separato, perché AFAIK I non avrebbe alcuna possibilità di monitorare i suoi progressi o eseguire una funzione al suo completamento. –
L'IMHO che esegue 'ffmpeg' in un processo separato è un'idea migliore, quindi la tua applicazione non sarà bloccata durante il lungo processo di codifica video. –