ffmpeg - unisce le immagini con il video


0

Ho un video con audio che sto cercando di unire con 2 immagini - un'immagine prima dell'inizio del video e un'immagine dopo la fine del video - ma in questo momento sto riscontrando questo errore -

Identificatore di flusso ": a" nella descrizione del filtro [0: v] [0: a] [1: v] [2: a] concat = n = 3: v = 1: a = 1 [v] [a] corrisponde a no flussi.

Questo è il codice che sto usando -

 ffmpeg \
    -loop 1 -framerate 24 -t 10 -i default_start.png \
    -i output-first.mp4 \
    -loop 1 -framerate 24 -t 10 -i default_end.png \
    -f lavfi -t 3 -i anullsrc \
    -filter_complex "[0:v] [0:a] [1:v] [2:a] concat=n=3:v=1:a=1 [v] [a]" \
    -c:v libx264 -c:a aac -map "[v]" -map "[a]" -y output-second.mp4 2>&1

MODIFICARE

Sto anche cercando di utilizzare 2 comandi diversi, ognuno con 1 file immagine anziché due -

// Image at start only
    ffmpeg -y \
        -loop 1 -framerate 24 -t 10 -i default_start.png \
        -i output-first.mp4 \
        -f lavfi -t 3 -i anullsrc \
        -filter_complex "[0:v] [2:a] [1:v] [1:a] [2:v] [3:a] concat=n=2:v=1:a=1 [v] [a]" \
        -c:v libx264 -c:a aac -map "[v]" -map "[a]" output-second.mp4 2>&1


// Image at end only
    ffmpeg -y \
        -i output-first.mp4 \
        -loop 1 -framerate 24 -t 10 -i default_end.png \
        -f lavfi -t 3 -i anullsrc \
        -filter_complex "[0:v] [3:a] [1:v] [1:a] [2:v] [3:a] concat=n=3:v=1:a=1 [v] [a]" \
        -c:v libx264 -c:a aac -map "[v]" -map "[a]" output-second.mp4 2>&1

Risposte:


3

È necessario mappare gli input concat con gli input file corrispondenti:

ffmpeg -y \
    -loop 1 -framerate 24 -t 10 -i default_start.png \
    -i output-first.mp4 \
    -loop 1 -framerate 24 -t 10 -i default_end.png \
    -f lavfi -t 3 -i anullsrc \
    -filter_complex "[0:v] [3:a] [1:v] [1:a] [2:v] [3:a] concat=n=3:v=1:a=1 [v] [a]" \
    -c:v libx264 -c:a aac -map "[v]" -map "[a]" output-second.mp4

Sto ottenendo questo errore -[Parsed_concat_0 @ 0x24bbc80] Input link in1:v0 parameters (size 1280x720, SAR 0:1) do not match the corresponding output link in0:v0 parameters (1920x1080, SAR 0:1) [Parsed_concat_0 @ 0x24bbc80] Failed to configure output pad on Parsed_concat_0 Error reinitializing filters! Failed to inject frame into filter network: Invalid argument Error while processing the decoded data for stream #2:0 Conversion failed!
Rich

Per il concat, tutti i video devono avere la stessa risoluzione e proporzioni campione. Questo dovrebbe essere verificato e conformato prima del concat. Tuttavia, puoi dire al filtro di ignorare tali errori usando unsafe=1(aggiungilo dopo a=1con due punti).
Gyan,

c'è un modo per ridimensionare il file immagine per adattarlo?
Ricco


ok grazie, ho accettato la tua risposta. Ho anche aggiunto una modifica alla mia domanda con cui ho bisogno di aiuto, se possibile.
Ricco
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.