ffmpeg concat mp4 kehilangan sinkronisasi audio

1

saya punya beberapa file mp4 (saya sudah mengonversinya menjadi .ts) dan sementara itu saya kehilangan sinkronisasi audio. Maksud saya hanya mendorong track audio bersama.

katakanlah saya punya empat file .mp4 di mana 2 di antaranya tidak memiliki trek audio (karena itu adalah klip video berbasis gambar). ketika saya mencoba untuk menggunakan kode di bawah ini, output benar-benar berbeda di mana audio 4.ts mulai diputar ketika video 2.ts mulai atau dengan kata lain file audio kiri-menyelaraskan dan saya kira ada sesuatu yang perlu bermain dengan -map tetapi tidak yakin bagaimana cara memperbaikinya.

ffmpeg -i "concat:1.ts|2.ts|3.ts|4.ts" -c copy -bsf:a aac_adtstoasc output.mp4

masalah concat

Balajee
sumber
terasa seperti bug di demuxer concat, mungkin melaporkannya sebagai ...
rogerdpack
1
@rogerdpack Ini adalah protokol concat, bukan demuxer concat & lt; / nitpicker & gt;
llogan

Jawaban:

2

Buat kembali MP4s Anda tanpa audio ke TS dengan audio dummy

ffmpeg -i 2.mp4 -f lavfi -i anullsrc -c:v copy -c:a aac -shortest 2.ts
Gyan
sumber
Terima kasih ini berhasil 95%. Tetapi saya memiliki masalah lain di mana audio tidak selaras dengan video. Maksud saya audio video ke-4 dimulai sedikit lebih awal. Saya kira ada beberapa masalah bitrate atau sesuatu yang menyebabkan ini dan saya kira saya harus terlebih dahulu membuat semua mp4 dengan bitrate yang sama dan butuh bantuan Anda
Balajee
Untuk video dengan audio yang sudah ada, jalankan ffmpeg -i input.ts -c:v copy -af apad -shortest output.ts dan kemudian melakukan konser.
Gyan
1
@ user961190 Juga memastikan audio pengisi memiliki laju sampel audio yang sama dengan yang lain mungkin layak untuk dicoba, seperti anullsrc=r=44100.
llogan