File Anda tidak akan bergabung dengan benar karena ada sesuatu yang tidak cocok.
Seperti banyak orang lain, saya memiliki masalah dengan sinkronisasi suara dengan benar di video yang digabungkan. dan sementara MP4Box berfungsi dengan baik jika klip memiliki spesifikasi yang identik, dalam beberapa kasus saya akan dipukul oleh "Tidak ada trek tujuan yang cocok ditemukan - membuat yang baru" dalam hal Totem (alias Video) Tidak akan memainkan segmen itu dalam file yang bergabung Setelah beberapa percobaan dan kesalahan dan penelitian lebih lanjut saya telah mengembangkan metode berikut untuk berurusan dengan bergabung dengan video yang sejauh ini telah bekerja setiap saat dengan kualitas yang dapat diterima (untuk saya).
Jika ukuran bingkai tidak cocok (menggabungkan kesalahan terkait dengan trek video):
Normalisasi video tanpa mengganggu audio (-c: copy) dengan menetapkan batasan (dapat dibagi 8 untuk kompatibilitas codec maksimum) untuk segmen yang tak tertandingi
Contoh perintah
width=856
height=480
avconv -i input.mp4 -filter:v "scale=iw*min($width/iw\,$height/ih):ih*min($width/iw\,$height/ih), pad=$width:$height:($width-iw*min($width/iw\,$height/ih))/2:($height-ih*min($width/iw\,$height/ih))/2" -c:a copy output.mp4
Jika Audio Tidak Sesuai (menggabungkan kesalahan terkait dengan trek audio):
Normalisasi Audio
Memproses audio tanpa mengganggu video (salinan c: v) sehingga semua klip cocok dengan codec, frekuensi, dan bitrate yang diinginkan dengan c: frekuensi codec -ar seperti -ar 48000 dan dan bit-rate dengan b: a 128k untuk stereo (64K per saluran tampaknya target yang baik) atau apa pun yang cocok.
Contoh: avconv -i input.mp4 -c:v copy -c:a libmp3lame -ar 48000 b:a 128k output.mp4(perhatikan bahwa libmp3lame adalah codec untuk audio mp3) Anda bisa mendapatkan daftar enkoder yang didukung avconv dengan mengeluarkan perintah avconv -codecsatau mempersempit hal-hal ke kode tertentu avconv -codecs|grep *codecname*misalnyaavconv -codecs|grep mp3
Sekarang kita telah menormalkan file, kita dapat bergabung dengan mereka. Dalam contoh ini saya akan bergabung dengan file dengan MP4Box. Jika Anda tidak memilikinya, Anda bisa mendapatkannya dengan mengeluarkan perintahsudo apt-get install gpac
Gabung file dengan perintah MP4Box file1.mp4 -cat file2.mp4 -cat file3.mp4 -cat file4.mp4 -out joinedfile.mp4(perhatikan bahwa tidak ada kucing sebelum file pertama dan setiap file tambahan didahului oleh -cat dan file target didahului oleh -out)
Jika menggunakan MP4Box (disarankan untuk MP4) untuk bergabung, Anda mungkin menemukan bahwa Anda harus memproses semua klip dengan avconv apakah spesifikasi tampak cocok atau tidak untuk menghindari kesalahan "Tidak ditemukan trek tujuan yang cocok - membuat yang baru (ketik vide)"
Catatan: Saya menemukan Avidemux memiliki masalah dengan video yang dikodekan menggunakan file H.264 / AVC (per totem) karena B-frame sebagai referensi. Ini sepertinya menghasilkan audio yang tidak sinkron ketika bergabung bahkan ketika memilih untuk menyalin audio dan video tanpa remux. Hancur ketika tidak memilih mode aman dan tidak sinkron saat menggunakan mode aman
Sumber:
/superuser/547296/resizing-videos-with-ffmpeg-avconv-to-fit-into-static-sized-player
/programming/20703160/problems-with-setting-constant-bitrate-by-using-avconv
https://trac.ffmpeg.org/wiki/Encode/AAC#fdk_cbr
Catatan: Sejauh yang saya tahu format lain (wadah) memiliki kendala yang sama untuk mencocokkan ukuran bingkai dan kecepatan audio, jadi ini dapat bekerja untuk avi juga jika Anda mencoba bergabung melalui cat atau mencoder setelah menormalkan video dan audio .
Opsional: Gunakan Handbrake untuk menyandikan ulang file yang digabung untuk ukuran yang lebih kecil jika diinginkan dengan framerate variabel dan pengaturan kualitas konstan 25 (pengaturan yang disarankan - sesuaikan yang diperlukan untuk harapan material dan kualitas Anda)