İki tane birleştirmek istiyorum m4a dosyalar biri 20:49, diğeri 10:23. Takip etme bu sayfa , ilk seçenek:
ffmpeg -i 'concat:file1.m4a|file2.m4a' -c copy output.m4a
Yalnızca ilk dosyayı işler, örn. standart çıktı gösterir:
size= 10921kB time=00:20:48.69
ve çıktı dosyası ilk dosya gibi 20 dakikadır.
İkinci seçenek:
ffmpeg -f concat -safe 0 -i mylist.txt -c copy output.m4a
nerede mylist.txt geçerli:
file 'file1.m4a'
file 'file2.m4a'
Bu komut standart çıktının gösterdiği gibi her iki dosyayı da kullanır:
size= 16339kB time=00:33:56.73
ancak süre yanlış, 31:42 olması gerektiği gibi. Ayrıca, işletim sisteminden (macOS) oynatıldığında çıktı dosyasının süresi 32:06'dır.
FFMPEG'in sürelerine göre iki dosyayı bir araya getirmesini nasıl sağlayabilirim?
ffmpeg ile Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument.
concat Demuxer bunu göz ardı etmediği için ün salınıyor. Yayında her zaman ham PCM'ye (ya da zaman damgası olmayan başka bir şeye) dönüştürür, sonra concat ve son çıktı formatını yaratırız. Çizgileri boyunca ffmpeg -i file1,m4a -c:a pcm_s16le -f s16le file1.pcm ; ffmpeg -i file2,m4a -c:a pcm_s16le -f s16le file2.pcm ; cat file2.pcm >> file1.pcm ; ffmpeg -f s16le -i file1.pcm -c:a aac -b:a whatever -ac whatever output.m4a
cat sadece iki dosyayı ekliyor. Son komutla hata alıyorum ve bulamıyorum -b kılavuzda. Örnek verebilir misiniz whatever Son satırda mı?
-b:a ses bant genişliğini ayarlar. Gibi bir şey -b:a 96k (veya 192k) iyi bir başlangıç noktası olabilir, -ac ses kanallarının sayısını tanımlar, -ac 2 stereo için çalışıyor. Haklısın, bu cat sadece dosyayı ekler - bu ham PCM'nin (.wav'ın aksine) büyük bir avantajıdır.
-c copyitibarenm4aiçinmp3saçmalık üretmek zorundadır.