Concatenazione di file AVI con più tracce

2

Ho una directory di file AVI che vorrei combinare in un singolo file AVI. Questi file AVI provengono da una dash cam e hanno due tracce video: una fotocamera anteriore e una posteriore.

Ho provato a utilizzare il suggerimento qui per unire i video. In particolare:

ffmpeg -f concat -i <(for f in $PWD/*.avi;do echo "file '$f'";done) -c copy output.avi

Funziona alla grande per la prima traccia video (anteriore) ma rimuove completamente la seconda traccia video (posteriore).

Come posso concatenare questi file e mantenere entrambe le tracce video? In alternativa, c'è un modo per specificare la traccia video da concatenare?

    
posta Erik 26.04.2015 - 06:22
fonte

1 risposta

1

Fondamentalmente ciò che devi fare è demultiplexare ogni file, quindi concatenare i file risultanti. C'è un modo per farlo con il filtro concat , ma richiede di ricodificare tutto come va.

Quindi devi fare due operazioni. Innanzitutto, demultiplex. (Nota questo non è stato verificato con ffmpeg, dato che non ho file video da testare, ma teoricamente dovrebbe funzionare.)

I=0;J=1;for f in $PWD/*.avi;do ffmpeg -i "$f" -map 0:v:0 -codec copy output$I.avi -map 0:v:1 -codec copy output$J.avi && I=$(($I+1)) && J=$(($J+1));done

Quindi puoi usare il demuxer concat come al solito:

ffmpeg -f concat -i <(for f in $PWD/*.avi;do echo "file '$f'";done) -c copy output.avi
    
risposta data 26.04.2015 - 19:24
fonte

Leggi altre domande sui tag