Bir şey eşleşmediği için dosyalarınız düzgün bir şekilde birleştirilmiyor.
Diğerleri gibi, birleştirilmiş videolarda ses senkronizasyonu konusunda sorun yaşadım. ve klipler aynı özelliklere sahipse MP4Box iyi çalışıyor olsa da, bazı durumlarda “Uygun hedef parça bulunamadı - yeni bir tane oluşturma” tarafından yırtılabilirim, bu durumda Totem (aka Videolar) Birleştirilmiş dosyada bu segmenti oynatmaz Bazı deneme yanılma ve daha ileri araştırmalardan sonra, videolara katılmak için şu ana kadar kabul edilebilir (bana göre) kalitede çalışan aşağıdaki yöntemi geliştirdim.
Çerçeve boyutları eşleşmiyorsa (video parçalarıyla ilgili birleştirme hataları):
Eşleşmeyen segmentler için kısıtlamalar (maksimum kodek uyumluluğu için 8'e bölünebilir) ayarlayarak sesi kesmeden (-c: bir kopya) videoyu normalleştirin
Örnek komutlar
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
Ses eşleşmiyorsa (ses parçalarıyla ilgili hataları birleştirme):
Sesi Normalleştir
Sesi videoyu kesintiye uğratmadan işleyin (c: v kopya), böylece tüm klipler istenen kodek, frekans ve bit hızını c: 48000 gibi bir kodek-ar frekansı ve b: stereo için 128k (başına 64K) kanal iyi bir hedef gibi görünüyor) veya eşleşen her şey olabilir.
Örnek: avconv -i input.mp4 -c:v copy -c:a libmp3lame -ar 48000 b:a 128k output.mp4
(libmp3lame'nin mp3 sesi için bir codec bileşeni olduğuna dikkat edin) Komutu avconv -codecs
vererek veya bir şeyi avconv -codecs|grep *codecname*
örneğin belirli bir kodlamaya daraltarak avconv destekli kodlayıcıların bir listesini alabilirsiniz.avconv -codecs|grep mp3
Artık dosyaları normalleştirdiğimize göre onlara katılabiliriz. Bu örnekte dosyaları MP4Box ile birleştireceğim. Eğer sahip değilseniz, komutu vererek alabilirsinizsudo apt-get install gpac
MP4Box file1.mp4 -cat file2.mp4 -cat file3.mp4 -cat file4.mp4 -out joinedfile.mp4
Komutla dosyalara katılın (ilk dosyadan önce hiçbir kedi olmadığını ve her ek dosyadan önce -cat ve hedef dosyadan önce -out geldiğini unutmayın)
Birleştirme için MP4Box (MP4 için önerilir) kullanıyorsanız, "Uygun hedef izi bulunamadı - yeni bir tane oluşturma (tip vide)" hatasını önlemek için spesifikasyonların eşleşip eşleşmediği konusunda tüm klipleri avconv ile işlemeniz gerektiğini görebilirsiniz.
Not: Avidemux'un, referans olarak B-kareleri nedeniyle H.264 / AVC (totem başına) dosyaları kullanılarak kodlanan videolarda sorun yaşadığını tespit ettim. Bu, remux olmadan hem ses hem de video kopyalamayı seçerken bile katılırken sesin senkronize olmamasına neden olur. Güvenli mod seçilmediğinde çöküyor ve güvenli mod kullanılırken senkronize değil
Kaynaklar:
/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
Not: Bildiğim kadarıyla diğer formatlar (kaplar) çerçeve boyutu ve ses hızlarını eşleştirmek için benzer kısıtlamalara sahiptir, bu nedenle video ve sesi normalleştirdikten sonra kedi veya mencoder aracılığıyla katılmaya çalışırsanız avi için de işe yarayabilir .
İsteğe bağlı: Değişken kare hızı ve 25 sabit kalite ayarıyla, istenirse birleştirilmiş dosyayı daha küçük boyutta yeniden kodlamak için El Freni'ni kullanın (önerilen ayarlar - malzeme ve kalite beklentilerinize göre ayarlayın)