m4b-tool
adalah pembungkus ffmpeg
dan mp4v2
untuk menggabungkan, membagi, atau memanipulasi file buku audio dengan bab. Meskipun m4b-tool
dirancang untuk menangani file m4b, hampir semua format audio harus didukung, misalnya mp3, aac, ogg, alac dan flac.
Jika Anda menggunakan salah satu proyek saya dan merasa terbantu, mohon pertimbangkan untuk berdonasi untuk mendukung saya. Saya berencana menggunakan uang tersebut untuk mendukung proyek open source atau tujuan amal lainnya. Terima kasih!
>= 25.00$
Terima kasih khusus kepada semua sponsor yang menyumbangkan jumlah bulanan >= 25.00$
.
Nama | Jumlah |
---|---|
angka nol | $25,00 |
Dapatkan Nix dan pastikan Flakes diaktifkan.
nix run github:sandreas/m4b-tool
atau nix run github:sandreas/m4b-tool#m4b-tool-libfdk
nix build github:sandreas/m4b-tool
atau nix build github:sandreas/m4b-tool#m4b-tool-libfdk
./result/bin/m4b-tool
nix develop
composer2nix --executable --composition=composer.nix
untuk memperbarui file .nix Saya memulai percobaan, yang sekarang telah mencapai tingkat alfa awal dan dapat dicoba. Alat baris perintah ditulis dalam C#
, sepenuhnya open source dan disebut tone
. Ini sudah memiliki serangkaian fitur yang cukup baik, jadi jika Anda ingin mencobanya, ini dia:
https://github.com/sandreas/tone
Pengumuman ini TIDAK berarti, bahwa m4b-tool
tidak digunakan lagi atau akan segera digunakan. Pengembangan m4b-tool
akan terus berlanjut (setidaknya hingga tone memiliki rangkaian fitur yang mirip dengan m4b-tool
). Hanya saja untuk memiliki alat alternatif untuk fitur, yang mungkin memiliki keterbatasan.
Selamat bersenang-senang, tidak sabar untuk mendapatkan tanggapan Anda.
Sayangnya saya cukup sibuk saat ini, jadi m4b-tool 0.4.2
sudah sangat lama. Karena tidak direncanakan untuk merilis versi yang lebih baru tanpa dokumentasi yang lengkap, yang ada hanya pra-rilis terbaru yang mendapatkan perbaikan bug. Ini sudah cukup stabil, jadi jika Anda mengalami bug dengan v0.4.2
, silakan coba pra-rilis terbaru, jika sudah diperbaiki di sana.
Terima kasih, Sandreas
https://pilabor.com
merge
sekumpulan file audio (misalnya MP3 atau AAC) menjadi satu file m4bsplit
satu file m4b menjadi beberapa file keluaran berdasarkan bab atau album yang dikodekan flac
menjadi satu trek melalui lembar isyaratchapters
untuk file m4b yang ada melalui deteksi keheningan atau musicbrainz merge
semua file audio di direktori data/my-audio-book
ke dalam file data/merged.m4b
(tag dipertahankan dan data/my-audio-book/cover.jpg
dan data/my-audio-book/description.txt
disematkan , jika tersedia)
m4b-tool merge "data/my-audio-book/" --output-file="data/merged.m4b"
split
satu file m4b besar per bab menjadi beberapa file mp3 di data/my-audio-book_splitted/
(tag dipertahankan, data/my-audio-book_splitted/cover.jpg
dibuat, jika m4b berisi sampul)
m4b-tool split --audio-format mp3 --audio-bitrate 96k --audio-channels 1 --audio-samplerate 22050 "data/my-audio-book.m4b"
chapters
dapat mencoba menyesuaikan bab m4b yang ada dengan deteksi keheningan
m4b-tool chapters --adjust-by-silence -o "data/destination-with-adjusted-chapters.m4b" "data/source-with-misplaced-chapters.m4b"
Karena subperintah m4b-tool
yang paling sering digunakan sepertinya merge
, mari kita bicara tentang praktik terbaik...
Sayangnya m4b-tool
memiliki banyak ketergantungan. Tidak hanya satu kalimat, jika Anda ingin mendapatkan kualitas terbaik dan dukungan penandaan, banyak dependensi yang harus dikompilasi secara manual dengan opsi tambahan. Itu sebabnya Anda harus melihat gambar buruh pelabuhan, yang dilengkapi dengan semua fitur kualitas audio terbaik, dukungan penandaan teratas dan instalasi mudah dan hampir tidak memiliki kekurangan.
Catatan: Jika Anda menggunakan Windows, mungkin sulit untuk membuatnya berfungsi
Saat menggabungkan buku audio, Anda harus mempersiapkannya - struktur direktori berikut sangat membantu, meskipun Anda hanya menggabungkan satu buku audio:
input/
atau jika itu adalah seri
input/
Contoh:
input/Fantasy/J.K. Rowling/Quidditch Through the Ages/
input/Fantasy/J.K. Rowling/Harry Potter/1 - Harry Potter and the Philosopher's Stone/
Catatan: Jika judul buku audio Anda berisi karakter jalur yang tidak valid seperti
/
, ganti saja dengan tanda hubung-
.
Sekarang, karena Anda hampir selalu menginginkan sampul dan deskripsi untuk buku audio Anda, Anda harus menambahkan file berikut ke direktori utama:
cover.jpg
(atau cover.jpeg
atau cover.png
)description.txt
(Pastikan untuk menggunakan pengkodean file teks UTF-8
untuk kontennya)Contoh:
input/Fantasy/J.K. Rowling/Quidditch Through the Ages/cover.jpg
input/Fantasy/J.K. Rowling/Quidditch Through the Ages/description.txt
Catatan:
m4b-tool
akan menemukan dan menyematkan file-file ini secara otomatis tetapi tidak gagal, jika tidak ada
Bab bagus untuk menambahkan titik arah ke buku audio Anda. Mereka membantu mengingat posisi terakhir dan meningkatkan pengalaman secara umum.
Jika Anda ingin menyesuaikan bab secara manual, Anda dapat menambahkan chapters.txt
(lokasi yang sama dengan cover.jpg
) dengan konten berikut (
):
00:00:00.000 Intro
00:04:19.153 This is
00:09:24.078 A way to add
00:14:34.500 Chapters manually
Jika file masukan Anda diberi tag, tag ini akan digunakan untuk membuat metadata bab berdasarkan title
. Jadi jika Anda menandai file masukan Anda dengan nama bab yang valid sebagai track title
, ini akan menghasilkan file m4b
yang bagus dan bersih dengan nama bab yang valid.
Fitur hebat lainnya sejak m4b-tool
v.0.4.0 adalah parameter --max-chapter-length
. Seringkali file masukan individual terlalu besar sehingga menghasilkan bab dengan durasi yang sangat lama. Hal ini dapat mengganggu, jika Anda ingin melompat ke titik tertentu, karena Anda harus memundurkan atau mempercepat dan menahan tombol untuk waktu yang lama, dibandingkan hanya membalik ke depan atau ke depan beberapa kali. Untuk menambahkan subbab secara otomatis, Anda dapat menyediakan:
--max-chapter-length=300,900
Ini akan menyebabkan m4b-tool
Subbab diberi nama seperti aslinya dan mendapat indeks tambahan. Ini adalah cara yang bagus untuk mempertahankan nama asli tetapi tidak memiliki chapter dengan durasi yang terlalu panjang.
Jika Anda memiliki iPod, mungkin ada masalah dengan buku audio yang terlalu panjang, karena iPod hanya mendukung kecepatan pengambilan sampel 32bit. Jika buku audio Anda berdurasi lebih dari 27 jam dengan kecepatan pengambilan sampel 22050Hz, Anda dapat menyediakan --adjust-for-ipod
, untuk secara otomatis menurunkan sampel buku audio Anda, yang menghasilkan kualitas lebih rendah, namun setidaknya berfungsi di iPod lama Anda yang bagus...
m4b-tool
mendukung beberapa tugas konversi secara paralel dengan parameter --jobs
(misalnya --jobs=2
). Jika Anda harus mengonversi lebih dari satu file, yang merupakan kasus umum, Anda hampir menggandakan kecepatan penggabungan dengan memberikan parameter --jobs=2
(atau menggandakannya dengan --jobs=4
, jika Anda memiliki sistem inti empat, dll. .). Jangan memberikan angka yang lebih tinggi dari jumlah inti pada sistem Anda - ini akan memperlambat penggabungan...
Catatan: Jika Anda menjalankan konversi pada semua inti, ini akan mengakibatkan penggunaan CPU hampir 100%, yang dapat menyebabkan kinerja sistem lebih lambat
--batch-pattern
Di m4b-tool v.0.4.0
fitur --batch-pattern
telah ditambahkan. Ini dapat digunakan untuk mengonversi beberapa buku audio sekaligus, tetapi juga untuk hanya mengonversi satu buku audio - karena Anda dapat membuat tag dari struktur direktori yang ada.
Petunjuk: Parameter
output-file
harus berupa direktori, saat menggunakan--batch-pattern
.
Bahkan beberapa parameter --batch-pattern
didukung, sedangkan kecocokan pertama akan digunakan terlebih dahulu. Jadi jika Anda membuat struktur direktori seperti dijelaskan di atas, perintah terakhir untuk menggabungkan input/Fantasy/Harry Potter/1 - Harry Potter and the Philosopher's Stone/
menjadi output/Fantasy/Harry Potter/1 - Harry Potter and the Philosopher's Stone.m4b
akan terlihat seperti ini:
m4b-tool merge -v --jobs=2 --output-file="output/" --max-chapter-length=300,900 --adjust-for-ipod --batch-pattern="input/%g/%a/%s/%p - %n/" --batch-pattern="input/%g/%a/%n/" "input/"
Dalam mode
--batch-pattern
, file yang ada dilewati secara default
Jika Anda melakukan langkah-langkah di atas dengan image buruh pelabuhan atau menginstal dan mengkompilasi semua dependensi, Anda akan mendapatkan hasil berikut:
libfdk_aac
genre
, author
, title
, sorttitle
, dll. dari penggunaan --batch-pattern
cover.jpg
(atau cover.jpeg
atau cover.png
) dan description.txt
ada di direktori utama, cover
, description
dan longdesc
tertanam Untuk menggunakan buruh pelabuhan dengan m4b-tool
, Anda harus melakukannya terlebih dahulu
pull
gambar buruh pelabuhan resmi (disarankan)build
Dockerfile
di direktori utama Gambar buruh pelabuhan resmi tersedia di DockerHub. Mereka agak eksperimental, namun telah terbukti bekerja dengan baik. Tag latest
dianggap sebagai cara untuk melengkapi fitur dan perbaikan terbaru. Sesekali tag bertanggal diterbitkan (misalnya sandreas/m4b-tool:2022-09-25
), yang dianggap cukup stabil, untuk memastikan gambar latest
yang rusak tidak akan merusak keseluruhan pengaturan Anda.
# pull the image
docker pull sandreas/m4b-tool:latest
# create an alias for m4b-tool running docker
alias m4b-tool='docker run -it --rm -u $(id -u):$(id -g) -v "$(pwd)":/mnt sandreas/m4b-tool:latest'
# testing the command
m4b-tool --version
Catatan: Jika Anda menggunakan alias di atas, perlu diingat bahwa Anda tidak dapat menggunakan jalur absolut (misalnya
/tmp/data/audiobooks/harry potter 1
) atau symlink. Anda harus mengubah direktori dan menggunakan jalur relatif (misalnyacd /tmp/data && m4b-tool merge "audiobooks/harry potter 1" --output-file harry.m4b
)
Untuk membuat kontainer buruh pelabuhan secara manual untuk rilis m4b-tool
tertentu, diperlukan parameter tambahan untuk mengunduh versi tertentu ke dalam image, misalnya untuk v.0.4.1
:
# clone m4b-tool repository
git clone https://github.com/sandreas/m4b-tool.git
# change directory
cd m4b-tool
# build docker image - this will take a while
docker build . -t m4b-tool
# create an alias for m4b-tool running docker
alias m4b-tool='docker run -it --rm -u $(id -u):$(id -g) -v "$(pwd)":/mnt m4b-tool'
# testing the command
m4b-tool --version
# use the specific pre-release from 2022-07-16
docker build . --build-arg M4B_TOOL_DOWNLOAD_LINK=https://github.com/sandreas/m4b-tool/files/9125095/m4b-tool.tar.gz -t m4b-tool
Catatan: Anda juga bisa mengedit variabel yang sesuai di
Dockerfile
.
Pengembang atau pakar mungkin ingin menjalankan build kustom lengkap dari m4b-tool
atau membuat kodenya sendiri (misalnya, jika Anda melakukan fork pada repositori dan menerapkan beberapa patch). Jika demikian, Anda dapat menyimpan build kustom ke dist/m4b-tool.phar
relatif terhadap Dockerfile
dan kemudian melakukan build default.
# dist/m4b-tool.phar is available
docker build . -t m4b-tool
Setelah ini, build kustom harus diintegrasikan ke dalam image buruh pelabuhan.
Di MacOS Anda dapat menggunakan brew
manajer paket yang luar biasa untuk menginstal m4b-tool
.
Mendapatkan kualitas audio terbaik memerlukan upaya tambahan. Anda harus mengkompilasi ulang ffmpeg
dengan codec libfdk_aac
yang tidak bebas. Ini memerlukan penghapusan paket ffmpeg
default jika diinstal, karena brew
menghilangkan kemungkinan opsi tambahan . Tidak ada repositori ffmpeg-with-options
resmi, tetapi tap
yang cukup bagus, yang dapat Anda gunakan untuk menghemat waktu.
# FIRST INSTALL ONLY: if not already done, remove existing ffmpeg with default audio quality options
# check for ffmpeg with libfdk and uninstall if libfdk is not already available
[ -x "$(which ffmpeg)" ] && (ffmpeg -hide_banner -codecs 2>&1 | grep libfdk || brew uninstall ffmpeg)
# tap required repositories
brew tap sandreas/tap
brew tap homebrew-ffmpeg/ffmpeg
# check available ffmpeg options and which you would like to use
brew options homebrew-ffmpeg/ffmpeg/ffmpeg
# install ffmpeg with at least libfdk_aac for best audio quality
brew install homebrew-ffmpeg/ffmpeg/ffmpeg --with-fdk-aac
# install m4b-tool
brew install sandreas/tap/m4b-tool
# check installed m4b-tool version
m4b-tool --version
Jika cara di atas tidak berhasil untuk Anda atau Anda hanya ingin memeriksa m4b-tool
sebelum menggunakannya dalam produksi, Anda mungkin ingin mencoba cara cepat dan mudah . Ini akan berhasil, tetapi Anda mendapatkan kualitas audio yang lebih rendah dan tidak ada dukungan untuk penandaan pengurutan .
# tap m4b-tool repository
brew tap sandreas/tap
# install dependencies
brew install ffmpeg fdk-aac-encoder mp4v2
# install m4b-tool with acceptable audio quality and no sort tagging
brew install --ignore-dependencies sandreas/tap/m4b-tool
# install all dependencies
sudo apt install ffmpeg mp4v2-utils fdkaac php-cli php-intl php-json php-mbstring php-xml
# install / upgrade m4b-tool
sudo wget https://github.com/sandreas/m4b-tool/releases/download/v.0.4.2/m4b-tool.phar -O /usr/local/bin/m4b-tool && sudo chmod +x /usr/local/bin/m4b-tool
# check installed m4b-tool version
m4b-tool --version
Catatan: Jika Anda ingin mendapatkan kualitas audio terbaik, Anda harus mengkompilasi
ffmpeg
dengan encoder berkualitas tinggifdk-aac
(--enable-libfdk_aac
) - lihat https://trac.ffmpeg.org/wiki/CompilationGuide/ Ubuntu untuk panduan langkah demi langkah untuk mengkompilasiffmpeg
.
m4b-tool
ditulis dalam PHP
dan menggunakan ffmpeg
, mp4v2
dan opsional fdkaac
untuk codec efisiensi tinggi untuk melakukan konversi. Oleh karena itu, Anda memerlukan alat berikut di %PATH% Anda:
php
>= 7.1 dengan ekstensi mbstring
diaktifkan (https://php.net)ffmpeg
(https://www.ffmpeg.org)mp4v2
( mp4chaps
, mp4art
, dll. https://github.com/sandreas/m4b-tool/releases/download/v0.2/mp4v2-windows.zip)fdkaac
(opsional, hanya jika Anda memerlukan efisiensi tinggi untuk bitrate rendah <= 32k, http://wlc.io/2015/06/20/fdk-aac/ - hati-hati: tidak resmi!)Untuk memeriksa dependensi, menjalankan perintah berikut melalui baris perintah akan menampilkan keluaran serupa:
$ php -v
Copyright (c) 1997-2018 The PHP Group [...]
$ ffmpeg -version
ffmpeg version 4.1.1 Copyright (c) 2000-2019 the FFmpeg developers [...]
$ mp4chaps --version
mp4chaps - MP4v2 2.0.0
$ fdkaac
fdkaac 1.0.0 [...]
Jika Anda yakin, semua dependensi telah terinstal, langkah selanjutnya adalah mengunduh rilis terbaru m4b-tool
dari
https://github.com/sandreas/m4b-tool/releases
Tergantung pada sistem operasinya, Anda dapat mengganti nama m4b-tool.phar
menjadi m4b-tool
dan menjalankan m4b-tool --version
langsung dari baris perintah. Jika Anda tidak yakin, Anda selalu dapat menggunakan perintah php m4b-tool.phar --version
untuk memeriksa apakah instalasi berhasil. Ini harus bekerja pada setiap sistem.
Jika Anda ingin menggunakan kode sumber terbaru dengan semua fitur dan perbaikan baru, Anda juga dapat membuat dari sumber. Versi saat ini mungkin tidak stabil dan hanya boleh digunakan untuk tujuan pengujian atau jika Anda memerlukan fitur tertentu yang belum dirilis.
mp4v2
khusus untuk urutan penyortiran yang akuratKebanyakan buku audio tidak dirilis berdasarkan abjad. Contoh yang menonjol adalah Harry Potter. Jadi jika Anda memiliki semua buku audio Harry Potter, itu tergantung pada pemutar Anda, tetapi mungkin urutannya tidak benar... mari kita lihat, bagaimana urutan abjadnya:
Dan urutan yang benar adalah:
Nah, ada solusi untuk ini. Anda harus menandai buku audio dengan sortname
khusus dan/atau sortalbum
. Jika pemutar Anda mendukung tag ini, urutannya sekarang sudah benar, meskipun judulnya masih merupakan judul aslinya. Untuk mencapai hal ini, saya harus membuat versi khusus mp4v2
( mp4tags
lebih akurat), untuk menambahkan opsi untuk tag ini dan menambahkan tag semu --series
dan --series-part
.
Jadi jika Anda melakukan hal berikut:
m4b-tool merge --name="Harry Potter and the Chamber of Secrets" --series="Harry Potter" --series-part="2" --output-file="output/Harry Potter and the Chamber of Secrets.m4b" "input/Harry Potter and the Chamber of Secrets"
Hal ini akan mengakibatkan:
Harry Potter and the Chamber of Secrets
Harry Potter 2 - Harry Potter and the Chamber of Secrets
mp4v2
khususDi gambar buruh pelabuhan, versi khusus sudah diinstal
git clone https://github.com/sandreas/mp4v2
cd mp4v2
./configure
make && sudo make install
Di m4b-tool
semua konversi audio dilakukan dengan ffmpeg
sehingga menghasilkan kualitas audio yang cukup menurun menggunakan encoder gratisnya. Namun, kualitas terbaik memerlukan upaya ekstra, jadi jika Anda menggunakan encoder gratis, m4b-tool
mungkin menampilkan petunjuk berikut:
Versi ffmpeg Anda tidak dapat menghasilkan aac kualitas terbaik menggunakan encoder aac, bukan libfdk_aac
Itu sebenarnya bukan masalah, karena perbedaan antara encoder aac
dan libfdk_aac
hampir tidak terlihat dalam banyak kasus. Namun untuk mengatasi petunjuk tersebut dan mendapatkan kualitas audio terbaik, Anda harus menggunakan encoder non-bebas, yang tidak terintegrasi dalam ffmpeg
secara default (alasan lisensi). Tergantung pada sistem operasi yang Anda gunakan, menginstal encoder non-bebas mungkin memerlukan sedikit keterampilan, tenaga, dan waktu tambahan (lihat catatan untuk sistem operasi Anda di atas). Anda harus memutuskan, apakah upaya tambahan itu sepadan untuk mendapatkan kualitas yang sedikit lebih baik. Jika Anda menggunakan image buruh pelabuhan, Anda seharusnya mendapatkan kualitas terbaik secara default.
Jika Anda menggunakan bitrate yang sangat rendah (<= 32k), Anda juga dapat menggunakan profil efisiensi tinggi untuk lebih meningkatkan kualitas audio (misalnya --audio-profile=aac_he
untuk mono). Sayangnya, implementasi ffmpeg
dengan efisiensi tinggi menghasilkan file audio yang tidak kompatibel dengan banyak pemutar (termasuk iTunes). Untuk menghasilkan file berefisiensi tinggi, yang kompatibel dengan setidaknya sebagian besar pemutar umum, Anda perlu menginstal fdkaac
untuk saat ini.
Lebih Detail:
Menurut Anda ada masalah dengan m4b-tool
? Pertama lihat Masalah Umum di bawah ini. Jika ini tidak membantu, berikan informasi berikut saat menambahkan masalah:
m4b-tool merge my-audio-book/ --output-file merged.m4b
the resulting file merged.m4b is only 5kb
Contoh:
Title: m4b-tool does not embed covers
If i run m4b-tool with a folder containing a cover.png, it does not embed the cover and shows an error message.
OS: Ubuntu 16.04 LTS
Command: `m4b-tool merge my-audio-book/ ---output-file merged.m4b`
Error: Cannot embed cover, cover is not a valid image file
Attached files: cover.png
Jika Anda mendapatkan Pengecualian PHP, dalam banyak kasus ini adalah masalah konfigurasi dengan PHP. Jika belum terbiasa dengan konfigurasi PHP, Anda dapat mengikuti petunjuk berikut, untuk memperbaiki beberapa masalah umum:
[Exception]
charset windows-1252 is not supported - use one of these instead: utf-8
Hal ini sebagian besar terjadi di windows, karena mbstring
-Extension digunakan untuk mengonversi rangkaian karakter secara internal, sehingga karakter khusus seperti umlaut Jerman didukung di setiap platform. Untuk memperbaikinya, Anda perlu mengaktifkan ekstensi mbstring:
Jalankan php --ini
pada baris perintah:
C:>php --ini
...
Loaded Configuration File: C:Program Filesphpphp.ini
Buka file konfigurasi (misalnya C:Program Filesphpphp.ini
) di editor teks dan cari extension=
. Di Windows seharusnya ada item seperti ini:
;extension=php_mbstring.dll
hapus ;
untuk mengaktifkan ekstensi:
extension=php_mbstring.dll
Sekarang semuanya harus berjalan seperti yang diharapkan.
Daftar berikut berisi semua kemungkinan perintah termasuk merge
, split
dan chapters
disertai dengan referensi parameter yang tersedia di setiap perintah.
Dengan m4b-tool
Anda dapat menggabungkan sekumpulan file audio menjadi satu file buku audio m4b.
m4b-tool merge "data/my-audio-book" --output-file="data/my-audio-book.m4b"
Ini menggabungkan semua File Audio dalam folder data/my-audio-book
ke dalam my-audio-book.m4b
, menggunakan tag-judul setiap file untuk menghasilkan bab.
Jika ada file data/my-audio-book/cover.jpg
(atau cover.jpeg
atau cover.png
), maka akan digunakan sebagai sampul untuk file m4b yang dihasilkan.
Catatan: Jika Anda menggunakan file audio yang tidak diberi tanda, Anda dapat memberikan id musicbrainz untuk mendapatkan nama bab yang benar, lihat bab perintah untuk info lebih lanjut.
Untuk semua opsi, lihat m4b-tool merge --help
:
Description:
Merges a set of files to one single file
Usage:
merge [options] [--] [...]
Arguments:
input Input file or folder
more-input-files Other Input files or folders
Options:
--logfile[=LOGFILE] file to log all output [default: ""]
--debug enable debug mode - sets verbosity to debug, logfile to m4b-tool.log and temporary encoded files are not deleted
-f, --force force overwrite of existing files
--no-cache clear cache completely before doing anything
--ffmpeg-threads[=FFMPEG-THREADS] specify -threads parameter for ffmpeg - you should also consider --jobs when merge is used [default: ""]
--platform-charset[=PLATFORM-CHARSET] Convert from this filesystem charset to utf-8, when tagging files (e.g. Windows-1252, mainly used on Windows Systems) [default: ""]
--ffmpeg-param[=FFMPEG-PARAM] Add argument to every ffmpeg call, append after all other ffmpeg parameters (e.g. --ffmpeg-param="-max_muxing_queue_size" --ffmpeg-param="1000" for ffmpeg [...] -max_muxing_queue_size 1000) (multiple values allowed)
-a, --silence-min-length[=SILENCE-MIN-LENGTH] silence minimum length in milliseconds [default: 1750]
-b, --silence-max-length[=SILENCE-MAX-LENGTH] silence maximum length in milliseconds [default: 0]
--max-chapter-length[=MAX-CHAPTER-LENGTH] maximum chapter length in seconds - its also possible to provide a desired chapter length in form of 300,900 where 300 is desired and 900 is max - if the max chapter length is exceeded, the chapter is placed on the first silence between desired and max chapter length [default: "0"]
--name[=NAME] custom name, otherwise the existing metadata will be used
--sortname[=SORTNAME] custom sortname, that is used only for sorting
--album[=ALBUM] custom album, otherwise the existing metadata for name will be used
--sortalbum[=SORTALBUM] custom sortalbum, that is used only for sorting
--artist[=ARTIST] custom artist, otherwise the existing metadata will be used
--sortartist[=SORTARTIST] custom sortartist, that is used only for sorting
--genre[=GENRE] custom genre, otherwise the existing metadata will be used
--writer[=WRITER] custom writer, otherwise the existing metadata will be used
--albumartist[=ALBUMARTIST] custom albumartist, otherwise the existing metadata will be used
--year[=YEAR] custom year, otherwise the existing metadata will be used
--description[=DESCRIPTION] custom short description, otherwise the existing metadata will be used
--longdesc[=LONGDESC] custom long description, otherwise the existing metadata will be used
--comment[=COMMENT] custom comment, otherwise the existing metadata will be used
--copyright[=COPYRIGHT] custom copyright, otherwise the existing metadata will be used
--encoded-by[=ENCODED-BY] custom encoded-by, otherwise the existing metadata will be used
--cover[=COVER] custom cover, otherwise the existing metadata will be used
--skip-cover skip extracting and embedding covers
--series[=SERIES] custom series, this pseudo tag will be used to auto create sort order (e.g. Harry Potter or The Kingkiller Chronicles)
--series-part[=SERIES-PART] custom series part, this pseudo tag will be used to auto create sort order (e.g. 1 or 2.5)
--audio-format[=AUDIO-FORMAT] output format, that ffmpeg will use to create files [default: "m4b"]
--audio-channels[=AUDIO-CHANNELS] audio channels, e.g. 1, 2 [default: ""]
--audio-bitrate[=AUDIO-BITRATE] audio bitrate, e.g. 64k, 128k, ... [default: ""]
--audio-samplerate[=AUDIO-SAMPLERATE] audio samplerate, e.g. 22050, 44100, ... [default: ""]
--audio-codec[=AUDIO-CODEC] audio codec, e.g. libmp3lame, aac, ... [default: ""]
--audio-profile[=AUDIO-PROFILE] audio profile, when using extra low bitrate - valid values: aac_he, aac_he_v2 [default: ""]
--adjust-for-ipod auto adjust bitrate and sampling rate for ipod, if track is too long (may result in low audio quality)
--fix-mime-type try to fix MIME-type (e.g. from video/mp4 to audio/mp4) - this is needed for some players to prevent an empty video window
-o, --output-file=OUTPUT-FILE output file
--include-extensions[=INCLUDE-EXTENSIONS] comma separated list of file extensions to include (others are skipped) [default: "aac,alac,flac,m4a,m4b,mp3,oga,ogg,wav,wma,mp4"]
-m, --musicbrainz-id=MUSICBRAINZ-ID musicbrainz id so load chapters from
--no-conversion skip conversion (destination file uses same encoding as source - all encoding specific options will be ignored)
--batch-pattern[=BATCH-PATTERN] multiple batch patterns that can be used to merge all audio books in a directory matching the given patterns (e.g. %a/%t for author/title) - parameter --output-file must be a directory (multiple values allowed)
--dry-run perform a dry run without converting all the files in batch mode (requires --batch-pattern)
--jobs[=JOBS] Specifies the number of jobs (commands) to run simultaneously [default: 1]
--use-filenames-as-chapters Use filenames for chapter titles instead of tag contents
--no-chapter-reindexing Do not perform any reindexing for index-only chapter names (by default m4b-tool will try to detect index-only chapters like Chapter 1, Chapter 2 and reindex it with its numbers only)
-h, --help Display this help message
-q, --quiet Do not output any message
-V, --version Display this application version
--ansi Force ANSI output
--no-ansi Disable ANSI output
-n, --no-interaction Do not ask any interactive question
-v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
--batch-pattern
Jika Anda menggunakan parameter --batch-pattern
, placeholder berikut didukung
title
/ name
: %n
sort_name
: %N
album
: %m
,sort_album
: %M
,artist
: %a
,sort_artist
: %A
,genre
: %g
,writer
: %w
,album_artist
: %t
,year
: %y
,description
: %d
,long_description
: %D
,comment
: %c
,copyright
: %C
,encoded_by
: %e
,group(ing)
: %G
,purchase_date
: %U
,series
: %s
,series_part
: %p
, m4b-tool
dapat digunakan untuk membagi satu m4b
menjadi file per bab atau album berkode flac
menjadi trek tunggal melalui lembar isyarat.
m4b-tool split --audio-format mp3 --audio-bitrate 96k --audio-channels 1 --audio-samplerate 22050 "data/my-audio-book.m4b"
Ini membagi file data/my-audio-book.m4b into
file mp3 untuk setiap bab, menulis file ke dalam data/my-audio-book_splitted/
.
Jika Anda ingin membagi file flac
yang berisi beberapa track, diperlukan lembar isyarat dengan nama file flac
yang tepat ( my-album.flac
memerlukan my-album.cue
):
# my-album.cue is automatically found and used for splitting
m4b-tool split --audio-format=mp3 --audio-bitrate=192k --audio-channels=2 --audio-samplerate=48000 "data/my-album.flac"
Untuk semua opsi, lihat m4b-tool split --help
:
Description:
Splits an m4b file into parts
Usage:
split [options] [--]
Arguments:
input Input file or folder
Options:
--logfile[=LOGFILE] file to dump all output [default: ""]
--debug enable debug mode - sets verbosity to debug, logfile to m4b-tool.log and temporary files are not deleted
-f, --force force overwrite of existing files
--no-cache do not use cached values and clear cache completely
--ffmpeg-threads[=FFMPEG-THREADS] specify -threads parameter for ffmpeg [default: ""]
--platform-charset[=PLATFORM-CHARSET] Convert from this filesystem charset to utf-8, when tagging files (e.g. Windows-1252, mainly used on Windows Systems) [default: ""]
--ffmpeg-param[=FFMPEG-PARAM] Add argument to every ffmpeg call, append after all other ffmpeg parameters (e.g. --ffmpeg-param="-max_muxing_queue_size" --ffmpeg-param="1000" for ffmpeg [...] -max_muxing_queue_size 1000) (multiple values allowed)
-a, --silence-min-length[=SILENCE-MIN-LENGTH] silence minimum length in milliseconds [default: 1750]
-b, --silence-max-length[=SILENCE-MAX-LENGTH] silence maximum length in milliseconds [default: 0]
--max-chapter-length[=MAX-CHAPTER-LENGTH] maximum chapter length in seconds - its also possible to provide a desired chapter length in form of 300,900 where 300 is desired and 900 is max - if the max chapter length is exceeded, the chapter is placed on the first silence between desired and max chapter length [default: "0"]
--audio-format[=AUDIO-FORMAT] output format, that ffmpeg will use to create files [default: "m4b"]
--audio-channels[=AUDIO-CHANNELS] audio channels, e.g. 1, 2 [default: ""]
--audio-bitrate[=AUDIO-BITRATE] audio bitrate, e.g. 64k, 128k, ... [default: ""]
--audio-samplerate[=AUDIO-SAMPLERATE] audio samplerate, e.g. 22050, 44100, ... [default: ""]
--audio-codec[=AUDIO-CODEC] audio codec, e.g. libmp3lame, aac, ... [default: ""]
--audio-profile[=AUDIO-PROFILE] audio profile, when using extra low bitrate - valid values (mono, stereo): aac_he, aac_he_v2 [default: ""]
--adjust-for-ipod auto adjust bitrate and sampling rate for ipod, if track is to long (may lead to poor quality)
--name[=NAME] provide a custom audiobook name, otherwise the existing metadata will be used [default: ""]
--sortname[=SORTNAME] provide a custom audiobook name, that is used only for sorting purposes [default: ""]
--album[=ALBUM] provide a custom audiobook album, otherwise the existing metadata for name will be used [default: ""]
--sortalbum[=SORTALBUM] provide a custom audiobook album, that is used only for sorting purposes [default: ""]
--artist[=ARTIST]