Sådan sammenføjer du flere filer med FFmpeg uden tekstfil – Trin-for-trin guide

Hvordan kan flere filer sammenføjes med ffmpeg uden at læse filstierne fra en tekstfil?

Præmissen om at sammenføje flere filer med FFmpeg uden at læse filstierne fra en tekstfil kan opnås ved at bruge concat-protokollen, concat demuxer eller concat filter direkte fra kommandolinjen.

Sådan sammenføjes flere filer med FFmpeg uden at læse filstierne fra en tekstfil

FFmpeg er et kraftfuldt værktøj til at håndtere multimedia filer og streams. Hvis du ønsker at sammenføje flere filer uden at læse filstierne fra en tekstfil, kan du gøre det direkte fra kommandolinjen. Her er en trin-for-trin guide:

1. Forbered dine filer

Sørg for, at alle filer, du vil sammenføje, er i samme format og har samme codec. Dette er vigtigt for at undgå kompatibilitetsproblemer.

2. Brug FFmpeg's concat-protokol

FFmpeg har en indbygget concat-protokol, som kan bruges til at sammenføje filer direkte fra kommandolinjen. Her er et eksempel:

ffmpeg -i "concat:file1.mp4|file2.mp4|file3.mp4" -c copy output.mp4

Dette kommando bruger concat-protokollen til at sammenføje file1.mp4, file2.mp4, og file3.mp4 til en enkelt fil kaldet output.mp4.

3. Brug FFmpeg's concat demuxer

En anden metode er at bruge FFmpeg's concat demuxer. Dette kræver, at du specificerer inputfilerne som separate -i argumenter og derefter bruger -filter_complex til at sammenføje dem. Her er et eksempel:

ffmpeg -i file1.mp4 -i file2.mp4 -i file3.mp4 -filter_complex "[0:v][0:a][1:v][1:a][2:v][2:a]concat=n=3:v=1:a=1[outv][outa]" -map "[outv]" -map "[outa]" output.mp4

I dette eksempel specificerer concat=n=3:v=1:a=1, at vi sammenføjer 3 videofiler med 1 video- og 1 audiostream hver.

4. Brug FFmpeg's concat filter

En tredje metode er at bruge FFmpeg's concat filter. Dette kræver, at du specificerer inputfilerne som separate -i argumenter og derefter bruger -filter_complex til at sammenføje dem. Her er et eksempel:

ffmpeg -i file1.mp4 -i file2.mp4 -i file3.mp4 -filter_complex "[0:v:0][0:a:0][1:v:0][1:a:0][2:v:0][2:a:0]concat=n=3:v=1:a=1[v][a]" -map "[v]" -map "[a]" output.mp4

I dette eksempel specificerer concat=n=3:v=1:a=1, at vi sammenføjer 3 videofiler med 1 video- og 1 audiostream hver.

5. Eksempel på brug af concat filter

Her er et eksempel på, hvordan du kan bruge concat filteret til at sammenføje tre MP4-filer:

ffmpeg -i file1.mp4 -i file2.mp4 -i file3.mp4 -filter_complex "[0:v][0:a][1:v][1:a][2:v][2:a]concat=n=3:v=1:a=1[outv][outa]" -map "[outv]" -map "[outa]" output.mp4

Dette kommando sammenføjer file1.mp4, file2.mp4, og file3.mp4 til en enkelt fil kaldet output.mp4.

Konklusion

Ved at bruge en af de ovenstående metoder kan du nemt sammenføje flere filer med FFmpeg uden at skulle læse filstierne fra en tekstfil. Vælg den metode, der passer bedst til dine behov og filtyper.