FFMPEG Değişken sayıda ses akışı nasıl çıkarılır?


2

Bir video sürüklerken tüm ses akışlarını ayıklayan küçük bir toplu iş dosyası oluşturmaya çalışıyorum.

ffmpeg.exe -i "%1" -map 0:a? -c:a copy "%1~extracted.aac"

Ancak bu bulduğu her ses akışı için aynı dosyanın üzerine yazıyor gibi görünüyor.

Ses parçalarının sayısını belirtmek istemiyorum, çünkü değişebilir.

Yardımın için şimdiden teşekkürler!

Yanıtlar:


1

Bunu yapmanın doğrudan yolu yok.

Te muxer'a dayanabilecek sıkıcı bir geçici çözüm ve karşılaşabileceğiniz en fazla ses akışı tahmininde bulunuluyor. Diyelim ki bu 4.

Yani, komut

ffmpeg -i in.mp4 -c copy -map 0:a?
       -f tee
              "[select='a\:0':onfail=ignore]in-0.aac|[select='a\:1':onfail=ignore]in-1.aac|
               [select='a\:2':onfail=ignore]in-2.aac|[select='a\:3':onfail=ignore]in-3.aac"

Dört dosyanın tümü oluşturulur, ancak bir boyut sıfırsa, akış mevcut değildi. Böylece, sıfır boyutlu tüm çıktıları sildiğinizde, tüm çıkartılmış akışlara sahip olursunuz. FFmpeg otomatik olarak çıkış biçimini seçmez, bu nedenle akışların AAC olması gerekir. En yeni bir ffmpeg sürümünü kullanın, 4.0+


Önceki yorumları sildim çünkü ffmpeg'in doğru sürümünü kullanmıyordum. Çözümün işe yarıyor, teşekkürler!
MurderOfPoes
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.