MP3 serisini toplu olarak M4B'ye dönüştürme


11

Bir grup MP3 tabanlı kitabım var. Bazıları kitabın kendi yapısına göre dosyalara ayrılır: bölümler vb. Bazıları eşit derecede uzatılmış parçalara ayrıldı.

Yani. Bir iPhone aldım ve hepsini M4B formatına dönüştürmek istiyorum. Bunları toplu olarak nasıl dönüştürebilirim? Demek istediğim, her kitap için bir kez ne kadar soğuk bir süreç kurdum ve birkaç hafta sonra tamamen dönüştürülmüş kitaplık aldım.

Bulduğum bu dönüşüm için tek program Mac için Sesli Kitap Oluşturucu'ydu . Ancak oldukça yavaştır ve prensipte harmanlamayı desteklemez.

Herhangi bir platform için çözümler lütfen.

Yanıtlar:


8

MP3'leri bir M4B ile birleştirmek için ffmpeg kullanabilirsiniz. Son bir sürümü indirin , ardından çalıştırın:

ffmpeg -i "concat:input0.mp3|input1.mp3|input2.mp3" -c:a libfdk_aac -b:a 64k -f mp4 output.m4b

Ffmpeg'niz fdk_aacetkinleştirilmemiş olabilir ; bu durumda, kullanmayı deneyebilirsiniz

  • -c:a libfaac (yüksek kalite)
  • -c:a aac -strict experimental (iyi kalite, ancak daha yüksek bit hızları kullanın)
  • -c:a libvo_aacenc (oldukça düşük kalite)

Daha fazla bilgi için AAC kodlama kılavuzuna bakın .


Bunun yerine neroAacEnc kullanmak istiyorsanız şunları kullanabilirsiniz:

ffmpeg -i "concat:input0.mp3|input1.mp3|input2.mp3" -f wav - | neroAacEnc -if - -ignorelength -q 0.3 output.m4b

Bunların hiçbiri bölüm meta verisi eklemeyecek, korkarım.


"-c: bir libfaac" kullandığımda @slhck libfdk_aac benzer herhangi bir öneri pls benzer "Bilinmeyen kodlayıcı 'libfaac'" hata mesajı görünür?
athos

@athos ya diğer ffmpeg seçeneklerinden birini kullanın ya da neroAacEnc'i indirin ve kullanın (yoksa neroAacEnc'yi öneriyorum libfdk_aac).
evilsoup

@athos aac kodlayıcı her zaman ffmpeg'de yerleşik olarak çalışmalıdır. Linux'taysanız ffmpeg'i kendiniz de oluşturabilir veya libfdk_aac kodlayıcıyı veren OS X'te Homebrew aracılığıyla yükleyebilirsiniz ve bu en iyi kaliteye sahip olanıdır.
slhck

@slhck bir Windows çözümü var mı?
athos

@athos Mümkün (bkz. trac.ffmpeg.org/wiki/CompilationGuide#Windows ) ama muhtemelen biraz daha karmaşık. Ama sadece dahili aac kodlayıcıyı kullanın - oldukça iyi.
slhck

0

Bir Terminal açın. MP3 dosyalarının bulunduğu dizini değiştirin.

for i in *mp3 ; do ffmpeg -i $i -qscale 0 $i.m4a ; done

Tabii ki, ffmpeg kurulmalıdır.

Yukarıda "m4a" kullandığımı unutmayın. M4b formatı aynı görünüyor, sadece bir kitap olduğunu belirtmek için bir harf değiştirilmiş. Tek harfli fark size hata veriyorsa hepsini daha sonra yeniden adlandırabilirsiniz. Aynı şekilde oynuyorlar.

EDIT: Mac kullandığınızı varsayıyorum. Yukarıdaki, bir Unix benzeri işletim sistemi çalıştırırsanız veya Windows altında Cygwin'i yüklerseniz bir bilgisayarda da çalışır .


Bu sonuç dosyasına bölüm meta verileri eklemez, değil mi?
Artem Tikhomirov

2
Ve bu mp3 dosyalarını bir araya getirmeyecek. Amaç ne?
Artem Tikhomirov

Orijinal sorunuzdaki bölümleri birleştirme zorunluluğu görmedim. Her bölümün başlangıcını ve sonunu gösteren meta veriler de dahil olmak üzere, her sesli kitap için tüm MP3 dosyalarını tek bir dosyada birleştirmek mi istiyorsunuz? Başlangıçta sorduğunuz soru bu değil. Meta veriler orijinal MP3 dosyalarında değilse, manuel olarak eklemeniz gerektiğinden eminim.
CarlF

My ffmpegon Ubuntu 12.04 nasıl dönüştürüleceğini bilmiyordu .m4bama ben dönüştürerek .m4ave sonra yeniden adlandırarak bu konuda çalıştı .
üçlü

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.