ffmpeg - videodaki sesi değiştir


48

Ffmpeg kullanarak bir ses dosyası kullanarak bir video dosyasındaki ses nasıl değiştirilir?

Komutun şöyle göründüğünü hayal ediyorum:

ffmpeg -i v.mp4 -i a.wav -MAGIC video-new.mp4

Bu çok benzer bir video dosyasındaki ses akışını birden çok ses akışıyla değiştirme? Ancak bu soru, çok karmaşık olan birden fazla ses parçasını ele alıyor ve çözümün hangi kısmının basit bir ses değişimi için yeterli olduğunu belirsizleştiriyor.

Yanıtlar:


68

Video akışını çok zaman kazanmak için yeniden kodlamadan kopyalamak isteyeceksiniz, ancak sesi yeniden kodlamak uyumsuzlukları önlemeye yardımcı olabilir:

ffmpeg -i v.mp4 -i a.wav -c:v copy -map 0:v:0 -map 1:a:0 new.mp4

-map 0:v:0Girişten gelen ilk (dizin 0) video akışını 0, çıktıdaki ilk (dizin ) video akışına eşler .

-map 1:a:0Girişten gelen ikinci (dizin 1) ses akışını 0, çıktıdaki ilk (dizin ) ses akışına eşler .

Ses videodan daha uzunsa -shortest, çıkış dosya adından önce eklemek istersiniz .

Bir ses kodeki belirtilmemesi, otomatik olarak çalışan bir tane seçecektir. Birini, örneğin -c:a libvorbissonra ekleyerek belirtebilirsiniz -c:v copy.


2
veya doğrudan -c copyherhangi bir akış kodunu yeniden kodlamadan ses ve videoyu yeniden düzenlemek için ^^
Francesco Yoshi Gobbo

1
Yeni sesi, orijinal videodakiyle aynı biçimde (aynı parametrelerle) nasıl dönüştüreceğinizi biliyor musunuz? Yani, yeni seslerin eski ses ile aynı şekilde kodlanmasına ihtiyacım var.
Kostanos

Çekicilik gibi çalışıyor !!
Tessaracter

@ Kostanos otomatik olarak değil ama istiyorum. Lütfen başka bir soru sorun. Sizinkinin yeni olduğunu açıklığa kavuşturmak için buna başvurabilirsiniz.
qubodup
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.