Sto cercando un modo efficace per effettuare le seguenti operazioni:sorgenti video multipli combinati in un unico
Utilizzare più sorgenti video (di circa la stessa lunghezza), ho bisogno di generare un'uscita video che si compone di tutti le fonti originali ciascuna in esecuzione nella propria area (come un gruppo di PIP s in diverse dimensioni). Quindi, il risultato finale è che tutti gli originali sono in esecuzione side-by-side, ciascuno nella propria area/box.
La sorgente e l'uscita devono essere flv
e la piattaforma che sto usando è Windows (dev su Windows 7 a 64 bit, distribuzione su Windows server 2008).
Ho visto avisynth ma sfortunatamente non è in grado di gestire flv
e non i plug-in e gli splitter di flv che ho provato hanno funzionato.
mio attuale processo utilizza ffmpeg nel seguente modo:
- Usa ffmpeg per generare 25 png di al secondo per il video, il ridimensionamento della originale, se necessario.
- Utilizzare lo spazio dei nomi
System.Drawing
per combinare ogni set di frame in una nuova immagine, iniziando con uno sfondo statico, quindi caricare ciascun frame in unImage
e disegnare sullo sfondoGraphics
oggetto - questo mi dà i frame combinati. - Utilizzare ffmpeg per combinare le immagini generate con un video.
Tutto questo è molto intenso per IO (che è il mio collo di bottiglia di elaborazione al momento) e ritengo che ci debba essere un modo più efficiente per raggiungere il mio obiettivo. Non ho molta esperienza con l'elaborazione video e non so quali opzioni sono disponibili.
Qualcuno può suggerire un modo più efficiente di elaborarli?
Grazie per la risposta: hai un esempio di riga di comando picture-in-picture? – Oded
Ottimo secondo esempio: come specificare più di 2 fonti? O dovrei chiamarlo più volte con diversi overlay? – Oded
Sembra che 'overlay' non ridimensiona gli originali - presumo che per questo devo usare' scale'? – Oded