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.