Лучшие 8 плееров аудиокниг M4B

Аудиокниг становится все больше и больше популярный. Основная причина их успеха в том, что они более доступны, чем когда-либо прежде. В App Store и Google Play App Store доступны различные приложения для проигрывания аудиокниг, которые помогут вам легко наслаждаться аудиокнигой на вашем устройстве iOS/Android. А какой плеер аудиокниг выбрать? Не волнуйся. Ниже мы перечислили самые популярные плееры аудиокниг M4B.

  • 1. Что такое формат M4B?
  • 2. Лучший проигрыватель M4B для iPhone и телефонов Android.
  • 3. Лучший проигрыватель M4B для Windows и Mac
Содержание
  1. Что такое формат M4B?
  2. Лучший проигрыватель M4B для iPhone и телефона Android
  3. Лучший проигрыватель M4B для Windows и Mac
  4. Бонус: как воспроизводить аудиокниги Audible на указанных выше проигрывателях
  5. Заключение
  6. /m4b-tool
  7. Возможности
  8. TL; DR – примеры для наиболее распространенных задач
  9. Объединить несколько файлов
  10. Разделить один файл по главам
  11. Корректировка глав файла с помощью обнаружения тишины
  12. Лучшие практики
  13. Шаг 0 – Взгляните на изображение докера
  14. Шаг 1. Организация ваших аудиокниг в каталогах
  15. Шаг 2 – добавьте обложку и описание
  16. Шаг 3 – главы
  17. фиксированные главы
  18. по тегу
  19. по длине
  20. Шаг 4 (необязательно) – для владельцев iPod
  21. Шаг 5 (необязательно) – больше ядер процессора, более быстрое преобразование
  22. Шаг 6 – Используйте --batch-pattern feature
  23. Результат
  24. Установка
  25. Docker
  26. Dockerize Pre-Release или более старую версию выпуска
  27. Dockerize настраиваемая сборка, недоступная по ссылке для загрузки
  28. MacOS
  29. Рекомендуется: высокое качество звука, сортировка тегами
  30. Придерживайтесь значений по умолчанию (приемлемое качество звука, без сортировки тегов)
  31. Ubuntu
  32. Ручная установка (рекомендуется только в системах Windows)
  33. Custom mp4v2 для точного порядка сортировки
  34. Установить пользовательский mp4v2
  35. О качестве звука
  36. Известные проблемы
  37. Кодировка исключений не поддерживается
  38. объединить
  39. Пример:
  40. Ссылка
  41. Заполнитель ссылка для --batch-pattern
  42. split
  43. путь> Пример:
  44. Разделение контрольного листа (экспериментально)
  45. Справочная информация
  46. справочник по шаблону файла
  47. главы
  48. Неуместные главы
  49. Слишком длинные главы
  50. Никаких глав вообще
  51. Типичная работа ow
  52. Получение идентификатора musicbrainz
  53. Поиск основных глав
  54. Поиск неуместных основных глав
  55. Вручную отрегулируйте неуместные главы
  56. Устранение неполадок
  57. Ссылка
  58. Linux/Unix
  59. Установить зависимости (Ubuntu)
  60. Сборка
  61. macOS
  62. Установить зависимости (brew)
  63. Сборка
  64. Windows
  65. Просьба о помощи – особенно немецкие пользователи

Что такое формат M4B?

Файл с расширением файла M4B представляет собой файл аудиокниги MPEG-4, который обычно приобретается в магазине Apple iTunes Store. А звук в файле M4B закодирован в формате сжатия AAC и, следовательно, может быть защищен с помощью системы защиты от копирования Apple FairPlay DRM, чтобы ограничить доступ только к компьютерам и устройствам iOS, которые были авторизованы через iTunes.

Некоторых могут спутать формат M4B и M4A. Хотя аудиоформат M4A в основном идентичен M4B, за исключением того, что эти типы файлов используются для музыки вместо аудиокниг.

Лучший проигрыватель M4B для iPhone и телефона Android

1. MP3 Audiobook Player (iOS)

MP3 Audiobook Player – удобное приложение для прослушивания книг в форматах MP3 и M4B на любом гаджете Apple. Простые и полезные элементы управления для прослушивания аудиокниг.

Простой интерфейс проигрывателя может регулировать скорость воспроизведения с минимальными усилиями. Специальное управление автомобильным режимом с большими кнопками. Поддержка удаленного управления с Apple и совместимых наушников, bluetooth, Apple Watch!

2. Bookmobile Audiobook Player (iOS)

Bookmobile предназначен для работы со всеми аудиофайлами из iTunes, Audible, загрузок из публичных библиотек и других популярных источников. Приложение имеет продуманную схему управления, разработанную, чтобы вы не потеряли свое место, и включает режимы движения и сна, а также поддерживает фоновое воспроизведение. Вы можете настроить приоритеты порядка воспроизведения, объединить несколько файлов в один архивный файл для упрощения управления, настроить параметры пропуска и многое другое. Тем не менее, Bookmobile лучше всего работает с iTunes.

3. Librivox Player (Android и iOS)

LibriVox Audio Books предлагает неограниченный доступ к более чем 24 000 бесплатных аудиокниг. Каждую аудиокнигу LibriVox можно транслировать через Интернет или загрузить для последующего использования без какой-либо оплаты.

Приложение для аудиокниг LibriVox позволяет легко найти нужную книгу. Вы даже можете найти книги, прочитанные любимым рассказчиком. Это приложение позволяет останавливать воспроизведение с помощью таймера сна, а для каждой книги доступно неограниченное количество закладок. Вы можете сохранить и прослушать столько книг, сколько захотите.

4. Smart Audiobook Player (Android)

Smart Audiobook Player разработан специально для воспроизведения аудиокниг. Хотя он может похвастаться теми же функциями, которые вы ожидаете от любого проигрывателя аудиокниг, Smart Audiobook Player также включает в себя: 1. Поддержка почти всех аудиоформатов, включая .m4b. 2. Встроенный поиск и загрузка обложек. 3. Функция блокировки экрана, чтобы избежать случайного пропуска главы. 4. Регулировка скорости воспроизведения.

Хотя все функции работают вместе, чтобы создать невероятный проигрыватель аудиокниг, на сегодняшний день моей любимой функцией является регулировка скорости. Установив скорость воспроизведения на 1,2x, голоса по-прежнему будут достаточно разборчивыми, и вы сможете втиснуть больше книги в каждую утреннюю поездку.

5. Audible Audiobook Player (iOS и Android)

Audible – это крупнейший и самый продвинутый сервис аудиокниг в мире, предлагающий эксклюзивные названия, аудио-шоу и серии книг. А проигрыватель аудиокниг Audible предлагает надежные функции воспроизведения, включая навигацию по главам, закладки, спящий режим, переменную скорость воспроизведения и поддержку многозадачности для фонового воспроизведения и загрузки.

Audible player предлагает превосходное качество звука без перерывов, позволяет вы можете регулировать скорость повествования и быстро перемещаться вперед или назад.

6. Проигрыватель аудиокниг от Audiobooks.com (iOS и Android)

Audiobooks.com также предоставляет приложение для аудиокниг, которое позволяет подписчикам выбирать из библиотеки, содержащей более 45 000 аудиокниг из каждой категории.

Приложение «Аудиокниги» предлагает переменную скорость воспроизведения, автоматические закладки и таймер сна. Вы можете настроить скорость повествования и поговорить со службой поддержки прямо из приложения. Интересным моментом является возможность добавлять закладки и создавать заметки с пометками.

Лучший проигрыватель M4B для Windows и Mac

1. iTunes – отличный проигрыватель auidobook для Windows и Mac

iTunes – это не только хороший способ организовать музыку и телешоу, он также может быть хорошим проигрывателем аудиокниг. Вы можете легко управлять своими аудиокнигами в iTunes по исполнителям, альбомам, песням или жанрам. Вы можете как покупать аудиокниги через магазин приложений, так и добавлять собственные аудиокниги со своего компьютера. iTunes поддерживает только форматы файлов MP3, AIFF, WAV, MPEG-4, AAC и Apple Lossless.

2. Медиаплеер VLC – просто лучший легкий мультиформатный медиаплеер

VLC – это бесплатный кроссплатформенный мультимедийный проигрыватель с открытым исходным кодом и фреймворк, который воспроизводит большинство мультимедийных файлов, а также DVD, аудио CD, VCD. , и различные протоколы потоковой передачи. Если вы хотите воспроизводить видео или музыкальные файлы практически в любом формате, возможно, вам подойдет медиаплеер VLC.. Эта программа также доступна для iPhone, Android, Windows и Mac. Медиаплеер VLC – самый стабильный, гибкий и легкий аудио- и видеоплеер на сегодняшний день.

Бонус: как воспроизводить аудиокниги Audible на указанных выше проигрывателях

Не все вышеперечисленные замечательные проигрыватели аудиокниг могут воспроизводить файлы с блокировкой DRM, поэтому, если вы хотите воспроизводить зашифрованные файлы Audible с помощью перечисленных выше плееров аудиокниг M4B, вы должны научиться избавляться от защиты DRM и конвертировать Audible AA/AAX в M4B с помощью Epubor Audible Converter.

Скачать Epubor Audible бесплатно

Заключение

Теперь у вас есть 8 полезных плееров аудиокниг M4B и есть простой способ освободить аудиокниги M4B от защиты DRM. Просто попробуйте их, чтобы сделать ваши аудиокниги еще более приятными!

Рекомендуемое чтение
  • Лучшее удаление Amazon DRM
  • Как конвертировать KFX в PDF
  • Как читать книги Google Play на Kindle/Kobo/Nook

Хиллари Лопес работает в Epubor и пишет статьи о электронных книгах и устройствах для чтения. Она исследует лучший способ помочь вам читать электронные книги более свободно и хочет поделиться с вами всем, что у нее есть.

СОХРАНИТЬ СТРАНИЦА В формате PDF


/m4b-tool

m4b-tool – это оболочка для ffmpeg и mp4v2 для слияния, разделения или управления файлами аудиокниги с главами. Хотя m4b-tool предназначен для работы с файлами m4b, должны поддерживаться почти все аудиоформаты, например mp3, aac, ogg, alac и flac.

Возможности

  • merge набор аудиофайлов (например, MP3 или AAC) в один файл m4b.
  • разделить один файл m4b на несколько выходных файлов по главам или flac закодировал альбом в отдельные треки с помощью cue Sheet
  • Добавить или настроить главы для существующего файла m4b с помощью обнаружения тишины или musicbrainz

TL; DR – примеры для наиболее распространенных задач

Объединить несколько файлов

объединить все аудиофайлы в каталоге data/my-audio-book в файл data/merged.m4b (теги сохраняются, а data/my-audio-book/cover.jpg и data/my-audio-book/description. txt , если они доступны)

  m4b-tool merge "data/my-audio-book/" --output-file = "data/merged.  m4b " 

Разделить один файл по главам

spl это один большой файл m4b по главам в несколько файлов mp3 в data/my-audio-book_splitted/ (теги сохраняются, data/my-audio-book_splitted /покрытие. jpg создается, если m4b содержит обложку)

  m4b-tool split --audio-format mp3 --audio-bitrate 96k --audio-channels 1  --audio-samplerate 22050 "data/my-audio-book.m4b"  

Корректировка глав файла с помощью обнаружения тишины

chapters могут попытаться настроить существующие главы m4b путем обнаружения тишины

  m4b-tool chapters --adjust-  by-silent -o "данные/назначение-с-настроенными-главами.m4b" "данные/источник-с-неуместными-главами.m4b"  

Лучшие практики

Поскольку наиболее часто используемой подкомандой m4b-tool является merge , давайте поговорим о лучших практика …

Шаг 0 – Взгляните на изображение докера

К сожалению, m4b-tool имеет много зависимостей. Не только однострочники, если вы хотите получить лучшее качество и поддержку тегов, многие зависимости необходимо компилировать вручную с дополнительными параметрами. Вот почему вам следует взглянуть на образ докера, который включает в себя все навороты высокого качества звука, поддержку лучших тегов и простую установку и почти не имеет недостатков.

Примечание: если вы работаете в Windows, это может быть сложно заставить его работать

Шаг 1. Организация ваших аудиокниг в каталогах

При объединении аудиокниг вы должны подготовить их – следующая структура каталогов очень помогает, даже если вы объединяете только одну аудиокнигу:

input///

или если это серия

input// // -

Примеры:

  input/Fantasy/ JK  Роулинг/Квиддич сквозь века/вводные/Фэнтези/J.K.  Роулинг/Гарри Поттер/1 - Гарри Поттер и философский камень/ 

Примечание. Если заголовок аудиокниги содержит недопустимые символы пути, такие как /, просто замените их тире -.

Шаг 2 – добавьте обложку и описание

Теперь, поскольку вам почти всегда нужны обложка и описание для своей аудиокниги, вам следует добавить следующие файлы в основной каталог:

  • cover.jpg
  • description.txt (обязательно используйте UTF-8 кодировка текстового файла для содержимого)

Примеры:

  input/Fantasy/JK  Роулинг/Квиддич сквозь века/cover.jpginput/Fantasy/J.K.  Роулинг/Квиддич сквозь века/description.txt  

Примечание: m4b-tool найдет и встроит эти файлы автоматически, но не выходит из строя, если их нет

Шаг 3 – главы

Главы хорошо добавлять путевые точки для аудиокниги. Они помогают запомнить последнюю позицию и улучшить впечатление в целом.

фиксированные главы

Если вы хотите изменить главы вручную, вы можете добавить chapters.txt (то же место, что и cover.jpg ) со следующим содержимым ( ):

  00: 00: 00.000 Intro00: 04: 19.153 Это is00: 09: 24.078 A  способ добавления 00: 14: 34.500 глав вручную  

по тегу

Если ваши входные файлы помечены тегами, эти Теги будут использоваться для создания метаданных главы по ее заголовку . Поэтому, если вы пометите свои входные файлы действительными названиями глав как дорожку title , это приведет к красивому и чистому m4b -файлу с действительными названиями глав.

по длине

Еще одна замечательная функция, поскольку m4b-tool v .0.4.0 – это параметр - max-chapter-length . Часто отдельные входные файлы слишком велики, что приводит к очень длинным главам. Это может раздражать, если вы хотите перейти к определенной точке, так как вам нужно перематывать назад или вперед и долго удерживать кнопку, вместо того, чтобы просто прокручивать предыдущий или следующий несколько раз. Чтобы автоматически добавлять подглавы, вы можете указать:

- max-chapter-length = 300,900

Это вызовет m4b-tool

  • Попытка сохранить оригинальные главы, если они не длиннее 15 минут (900 секунд)
  • Если трек длится более 15 минут
    • Выполните обнаружение тишины и попытайтесь добавлять подглавы при каждой тишине от 5 минут (300 секунд) до 15 минут (900 секунд)
    • Если тишина не обнаружена, добавляйте жестко вырезанную подглаву каждые 5 минут.

Подглавы названы как оригинал и получают дополнительный индекс. Это хороший способ сохранить настоящие имена, но не иметь слишком длинных глав.

Шаг 4 (необязательно) – для владельцев iPod

Если у вас есть iPod, проблема может быть в слишком длинных аудиокнигах, поскольку iPod поддерживает только 32-битную частоту дискретизации. Если ваша аудиокнига длится более 27 часов с частотой дискретизации 22050 Гц, вы можете предоставить - adjust-for-ipod , чтобы автоматически понижать дискретизацию аудиокниги, что приводит к более низкому качеству, но, по крайней мере, ее работоспособности. на вашем старом добром iPod …

Шаг 5 (необязательно) – больше ядер процессора, более быстрое преобразование

m4b-tool поддерживает несколько задач преобразования параллельно с параметром - jobs (например, - jobs = 2 ). Если вам нужно преобразовать более одного файла, что является обычным случаем, вы почти удваиваете скорость слияния, предоставляя параметр - jobs = 2 (или в четырех экземплярах с помощью - -jobs = 4 , если у вас четырехъядерная система и т. д.). Не указывайте число, превышающее количество ядер в вашей системе – это замедлит слияние …

Примечание: если вы запустите преобразование на всех своих ядрах , это приведет к почти 100% загрузке ЦП, что может привести к снижению производительности системы

Шаг 6 – Используйте --batch-pattern feature

В m4b-tool v.0.4.0 - batch-pattern код> функция была добавлена. Его можно использовать для пакетного преобразования нескольких аудиокниг одновременно, а также для преобразования одной аудиокниги - потому что вы можете создавать теги из существующей структуры каталогов.

Подсказка: Параметр output-file должен быть каталогом при использовании --batch-pattern.

Даже Поддерживаются несколько параметров - пакетного шаблона , при этом первое совпадение будет использовано первым. Итак, если вы создали структуру каталогов, как описано выше, последняя команда для объединения input/Fantasy/Harry Potter/1 - Harry Potter and the Philosopher's Stone/ в output/Fantasy /Harry Potter/1 - Гарри Поттер и философский камень.m4b будет выглядеть так:

  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/"  

В - batch- шаблон , существующие файлы по умолчанию пропускаются

Результат

Если вы выполнили вышеуказанное шаги с изображением докера или установленные и скомпилированные все зависимости, вы должны получить следующий результат:

  • Аудио высшего качества с использованием кодировщика libfdk_aac
  • Серийные и отдельные аудиокниги имеют допустимые теги для жанра , author , title , sorttitle и т. д. из - пакетный шаблон использование
  • Если файлы cover.jpg и description.txt существуют в основных каталогах, cover , description и longdesc встроены
  • Если вы пометили входные файлы, в вашем проигрывателе должны появиться настоящие названия глав.
  • Не больше глав длиннее 15 минут
  • Рабочие версии iPod для аудиокниг продолжительностью более 27 часов

Установка

Docker

Чтобы использовать докер с m4b-tool , вам сначала нужно создать собственный образ, расположенный в докере код> каталог. Поскольку этот образ компилирует каждую стороннюю библиотеку с нуля, чтобы получить максимально возможное качество звука, для первой сборки может потребоваться много времени.

Примечание: вы должны знать, что build не означает, что m4b-tool компилируется из исходного кода.. Это действительно странно, но в отличие от других проектов, образ докера m4b-tool загружает только последнюю двоичную версию, если вы не выполните дополнительную работу (см. Ниже) .

  # клонировать репозиторий m4b-toolgit clone https://github.com/sandreas/m4b-tool.git# change directorycd m4b-tool # build docker  image - это займет некоторое время, сборка Docker.  -t m4b-tool # создать псевдоним для m4b-tool, запускающего dockeralias m4b-tool = 'docker run -it --rm -u $ (id -u): $ (id -g) -v "$ (pwd)"  :/mnt m4b-tool '# тестирование команды m4b-tool --version  

Примечание. Если вы используете псевдоним, указанный выше, имейте в виду, что вы не можете использовать абсолютные пути (например, /tmp/data/audiobooks/harry potter 1 ) или символические ссылки. Вы должны перейти в каталог и использовать относительные пути (например, cd/tmp/data && m4b-tool merge "audiobooks/harry potter 1" --output-file harry.m4b )

Dockerize Pre-Release или более старую версию выпуска

Чтобы построить docker-контейнера с использованием Pre-Release или более ранней версии m4b-tool , необходимо предоставить дополнительный параметр для загрузки определенной версии в образ, например для v.0.4.1 :

  сборка докеров.  --build-arg M4B_TOOL_DOWNLOAD_LINK = https://github.com/sandreas/m4b-tool/releases/download/v.0.4.1/m4b-tool.tar.gz -t m4b-tool  

Примечание: вы также можете просто отредактировать соответствующую переменную в Dockerfile.

Dockerize настраиваемая сборка, недоступная по ссылке для загрузки

Разработчики или эксперты могут захотеть запустить полную настраиваемую сборку m4b-tool или скомпилируйте код сами (например, если вы разделили репозиторий и применили некоторые патчи). Если это так, вы можете сохранить пользовательскую сборку в dist/m4b-tool.phar относительно Dockerfile , а затем выполнить сборку по умолчанию.

  # dist/m4b-tool.phar доступна сборка докера.  -t m4b-tool  

После этого настраиваемая сборка должна быть интегрирована в образ докера.

MacOS

В MacOS вы можете использовать отличный менеджер пакетов brew для установки m4b-tool .

Рекомендуется: высокое качество звука, сортировка тегами

Для получения наилучшего качества звука требуются дополнительные усилия. Вам необходимо перекомпилировать ffmpeg с несвободным кодеком libfdk_aac . Для этого требуется удалить пакет по умолчанию ffmpeg , если он установлен, поскольку в brew исключена возможность использования дополнительных параметров . Официального репозитория ffmpeg-with-options нет, но есть довольно приличный tap , который можно использовать для экономии времени.

  # ТОЛЬКО ПЕРВАЯ УСТАНОВКА: если это еще не сделано, удалите существующий ffmpeg с параметрами качества звука по умолчанию # проверьте наличие ffmpeg с помощью libfdk и удалите, если libfdk еще не доступен [-x "  $ (which ffmpeg) "] && (ffmpeg -hide_banner -codecs 2> & 1 | grep libfdk || brew uninstall ffmpeg) # коснитесь требуемых репозиториевbrew tap sandreas/tapbrew tap homebrew-ffmpeg/ffmpeg # проверьте доступные параметры ffmpeg и какие параметры вы хотели бы  чтобы использовать параметры пивоварения homebrew-ffmpeg/ffmpeg/ffmpeg # установить ffmpeg как минимум с libfdk_aac для наилучшего качества звука  проверьте установленную версию m4b-tool m4b-tool --version  

Придерживайтесь значений по умолчанию (приемлемое качество звука, без сортировки тегов)

Если вышеперечисленное не сработало для вас или вы просто должны проверить m4b-tool перед его использованием в производстве, вы можете быстро и легко попробовать путь. Это будет работать, но качество звука будет ниже, а теги сортировки не поддерживаются .

  # tap m4b-tool repositorybrew tap sandreas /tap # install dependenciesbrew install ffmpeg fdk-aac-encoder mp4v2 # установить m4b-tool с приемлемым качеством звука и без тегов сортировкиbrew install --ignore-dependencies sandreas/tap/m4b-tool  

Ubuntu

  # установить все зависимости sudo apt install ffmpeg mp4v2-utils fdkaac php-cli php-intl php-json php-mbstring php  -xml # установить/обновить m4b-toolsudo 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 # проверить установленную версию m4b-tool m4b-tool --version  

Примечание: если вы хотите получить максимально возможное качество звука, вам необходимо скомпилировать ffmpeg с помощью кодировщика высокого качества fdk-aac ( - enable-libfdk_aac ) – se e https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu для пошагового руководства по компиляции ffmpeg.

Ручная установка (рекомендуется только в системах Windows)

m4b-tool написана на PHP и использует ffmpeg , mp4v2 и, возможно, fdkaac для высокоэффективных кодеков для выполнения преобразований. Поэтому вам понадобятся следующие инструменты в вашем% PATH%:

  • php > = 7.1 с mbstring расширение включено (https://php.net)
  • ffmpeg (https://www.ffmpeg.org)
  • mp4v2 ( mp4chaps , mp4art и т. д. https://github.com/sandreas/m4b-tool/ Release/download/v0.2/mp4v2-windows.zip)
  • fdkaac (необязательно, только если вам нужна высокая эффективность для низких битрейтов

Чтобы проверить зависимости, выполнение следующих команд через командную строку должно показать аналогичный результат:

  $ php -vCopyright (c) 1997-2018 Группа PHP [...] $ ffmpeg -versionffmpeg версия 4.1.1 Авторские права (c) 2000-2019 разработчики FFmpeg [.  ..] $ mp4chaps --versionmp4chaps - MP4v2 2.0.0 $ fdkaacfdkaac 1.0.0 [...]  

Если вы уверены, что все зависимости установлены, следующим шагом будет чтобы загрузить последнюю версию m4b-tool из

https://github.com/sandreas/m4b-tool/releases

В зависимости от операционной системы вы можете переименовать m4b-tool.phar в m4b-tool и запустить m4b-tool - версия прямо из командной строки. Если вы не уверены, вы всегда можете использовать команду php m4b-tool.phar --version , чтобы проверить, прошла ли установка успешно. Это должно работать в любой системе.

Если вы хотите использовать последний исходный код со всеми новыми функциями и исправлениями, вы также можете выполнить сборку из исходного кода. Текущая сборка может быть нестабильной и должна использоваться только для целей тестирования или если вам нужна конкретная функция, которая еще не была выпущена.

Custom mp4v2 для точного порядка сортировки

Большинство аудиокниг выпускаются не в алфавитном порядке. Яркий пример – Гарри Поттер. Итак, если у вас есть все аудиокниги о Гарри Поттере, это зависит от вашего плеера, но, вероятно, они перечислены в неправильном порядке … давайте посмотрим, каков будет алфавитный порядок:

  • Гарри Поттер и Тайная комната (Часть 2)
  • Гарри Поттер и Философский камень (Часть 1)
  • Гарри Поттер и Узник Азкабана ( Часть 3)

И правильным порядком было бы:

  • Гарри Поттер и философский камень (часть 1)
  • Гарри Поттер и Тайная комната (Часть 2)
  • Гарри Поттер и Узник Азкабана (Часть 3)

Что ж, для этого есть решение. Вы должны пометить аудиокнигу пользовательским sortname и/или sortalbum . Если ваш проигрыватель поддерживает эти теги, порядок теперь правильный, даже если заголовок остается исходным. Чтобы добиться этого, мне пришлось создать собственную версию mp4v2 (более точную mp4tags ), чтобы добавить параметры для этих тегов и добавить псевдотеги - series и - series-part .

Итак, если вы сделаете следующее:

  m4b-tool merge --name = "Гарри Поттер и Тайная комната" --series = "Гарри Поттер" --series-part = "2" --output-file = "output/Harry  Поттер и Тайная комната. m4b "" input/Гарри Поттер и Тайная комната " 

Результатом будет:

  • Имя: Гарри Поттер и Тайная комната
  • Сортировка: Гарри Поттер 2 - Гарри Поттер и Тайная комната

Установить пользовательский mp4v2

В образе докера пользовательская версия уже установлен

  git clone https://github.com/sandreas/mp4v2cd mp4v2./configuremake && sudo make install  

О качестве звука

В m4b-tool все преобразования аудио выполняются с помощью ffmpeg приводит к довольно низкому качеству звука при использовании бесплатных кодировщиков. Однако для достижения наилучшего качества требуются некоторые дополнительные усилия, поэтому, если вы используете бесплатные кодировщики, m4b-tool может показать следующее подсказка:

Ваша версия ffmpeg не может создавать высококачественный aac с использованием кодировщика aac вместо libfdk_aac

На самом деле это не проблема, потому что разница между кодировщиком aac и libfdk_aac практически не заметна в большинстве случаи. Но чтобы преодолеть намек и получить наилучшее возможное качество звука, вам необходимо использовать несвободный кодировщик, который по умолчанию не интегрирован в ffmpeg (по причинам лицензирования). В зависимости от операционной системы. вы используете, установка платного кодировщика может потребовать немного дополнительных навыков, усилий и времени (см. примечания для вашей операционной системы выше). Вы должны решить, стоит ли это дополнительных усилий для получения немного лучшего качества. Если вы используете образ докера, вы должны получить лучшее качество по умолчанию.

Если вы используете очень низкий битрейт ( – audio-profile = aac_he для моно). К сожалению, высокоэффективная реализация ffmpeg создает аудиофайлы, несовместимые со многими плеерами (включая iTunes). Для создания высокоэффективных файлов, совместимых, по крайней мере, с наиболее распространенными плеерами, вам нужно установить fdkaac на данный момент.

Подробнее:

  • https://github.com/sandreas/m4b-tool/issues/19
  • https://trac.ffmpeg.org/wiki/Encode/ AAC
  • https://trac.ffmpeg.org/wiki/Encode/HighQualityAudio

Вы думаете, что существует проблема с m4b-tool ? Сначала взгляните на известные проблемы ниже. Если это не помогает, укажите следующую информацию при добавлении проблемы:

  • используемая вами операционная система;
  • точная команда, которую вы попробовал, например m4b-tool merge my-audio-book/--output-file merged.m4b
  • сообщение об ошибке, которая произошла, или обстоятельства, например итоговый файл merged.m4b имеет размер всего 5 КБ
  • другая важная информация, например. образцы файлов при необходимости

Пример:

  Название: m4b-tool не встраивается  Если я запускаю m4b-tool с папкой, содержащей cover.png, он не вставляет обложку и выдает сообщение об ошибке. OS: Ubuntu 16.04 LTSCommand: `m4b-tool merge my-audio-book/--- output-file  merged.m4b`Ошибка: невозможно вставить обложку, обложка не является допустимым файлом изображения Прикрепленные файлы: cover.png  

Известные проблемы

Если вы получаете исключения PHP, в большинстве случаев это проблема конфигурации PHP. Если вы не знакомы с конфигурацией PHP, вы можете следовать этим инструкциям, чтобы исправить несколько известных проблем:

Кодировка исключений не поддерживается

  [Exception] кодировка windows-1252 не поддерживается - используйте вместо нее одну из следующих: utf-8  

Это чаще всего происходит в Windows, потому что mbstring -Extension используется для внутреннего преобразования кодировок, поэтому специальные символы, такие как немецкий умляутс, поддерживаются на каждой платформе. Чтобы исправить это, вам нужно включить расширение mbstring:

Запустить php --ini в командной строке:

   C: > php --ini ... Загруженный файл конфигурации: C:  Program Files  php  php.ini  

Откройте файл конфигурации (например, C: Program Files php php.ini ) в текстовом редакторе и найдите extension = . В Windows должен быть такой элемент:

 ; extension = php_mbstring.dll  

удалите ; для включения расширения:

  extension = php_mbstring.dll  

Теперь все должно работать должным образом.

Следующий список содержит все возможные команды, включая merge , split и главы , сопровождаемые ссылка на параметры, доступные в каждой команде.

объединить

с помощью m4b-tool вы можете объединить набор аудиофайлов в один файл аудиокниги m4b.

Пример:

  m4b  -tool merge "data/my-audio-book" --output-file = "data/my-audio-book.m4b"  

Это объединяет все аудио-файлы в папке data/my-audio-book в my-audio-book.m4b , используя заголовок тега каждого файла для создания глав.

Если есть файл data/my-audio-book/cover.jpg , он будет я буду использоваться в качестве обложки для результирующего файла m4b.

Примечание. Если вы используете немаркированные аудиофайлы, вы можете указать идентификатор musicbrainz, чтобы получить правильные названия глав, см. главу команд для получения дополнительной информации.

Ссылка

Для всех параметров см. m4b-tool merge --help :

  Описание: объединяет набор файлов в один файлUsage: merge [options] [-]  [ ... ] Аргументы: input Входной файл или папка more-input-files Другие Входные файлы или папки Опции: --logfile [= LOGFILE] файл для регистрации всего вывода [по умолчанию: ""] --debug включить режим отладки - устанавливает уровень детализации для отладки, файла журнала  в m4b-tool.log и временные закодированные файлы не удаляются -f, --force принудительно перезаписать существующие файлы --no-cache полностью очистить кеш, прежде чем что-либо делать --ffmpeg-threads [= FFMPEG-THREADS] указать параметр -threads  для ffmpeg - вы также должны учитывать --jobs при использовании слияния [по умолчанию: ""] --platform-charset [= PLATFORM-CHARSET] Преобразование из кодировки этой файловой системы в utf-8 при тегировании файлов (например, Windows-1252,  в основном используется в системах Windows) [по умолчанию: ""] --ffmpeg-param [= FFMPEG-PARAM] Добавить аргумент к каждому вызову ffmpeg, добавлять после всех других параметров ffmpeg (например, --ffmpeg-param = "- max_muxing_queue_size" -  ffmpeg-param = "1000" для ffmpeg [...] -max_muxing_queue_size 1000) (допускается несколько значений) -a, --silence-min-length [= SILENCE-MIN-LENGTH] минимальная длительность паузы в  миллисекунды [по умолчанию: 1750] -b, --silence-max-length [= SILENCE-MAX-LENGTH] максимальная продолжительность паузы в миллисекундах [по умолчанию: 0] --max-chapter-length [= MAX-CHAPTER-LENGTH] максимум  длина главы в секундах - также можно указать желаемую длину главы в виде 300,900, где 300 желательно, а 900 - максимальная - если максимальная длина главы превышена, глава помещается в первую паузу между желаемой и максимальной длиной главы [  по умолчанию: "0"] --name [= NAME] пользовательское имя, в противном случае будут использоваться существующие метаданные --sortname [= SORTNAME] пользовательское имя сортировки, которое используется только для сортировки --album [= ALBUM] пользовательский альбом, в противном случае  будут использоваться существующие метаданные для имени --sortalbum [= SORTALBUM] custom sortalbum, который используется только для сортировки --artist [= ARTIST] пользовательский исполнитель, в противном случае будут использоваться существующие метаданные --sortartist [= SORTARTIST] custom sortartist  , который используется только для сортировки --genre [= GENRE] пользовательский жанр, в противном случае будут использоваться существующие метаданные --writer [= WRITER] custo  m writer, в противном случае будут использоваться существующие метаданные --albumartist [= ALBUMARTIST] custom albumartist, в противном случае будут использоваться существующие метаданные --year [= YEAR] произвольный год, в противном случае будут использоваться существующие метаданные --description [= DESCRIPTION  ] пользовательское краткое описание, в противном случае будут использоваться существующие метаданные --longdesc [= LONGDESC] пользовательское длинное описание, в противном случае будут использоваться существующие метаданные --comment [= COMMENT] пользовательский комментарий, в противном случае будут использоваться существующие метаданные --copyright  [= COPYRIGHT] пользовательские авторские права, в противном случае будут использоваться существующие метаданные --encoded-by [= ENCODED-BY] custom encryded-by, в противном случае будут использоваться существующие метаданные --cover [= COVER] пользовательская обложка, в противном случае существующая  будут использоваться метаданные --skip-cover пропустить извлечение и встраивание обложек --series [= SERIES] пользовательская серия, этот псевдотег будет использоваться для автоматического создания порядка сортировки (например,. Гарри Поттер или Хроники Kingkiller) --series-part [= SERIES-PART] часть пользовательской серии, этот псевдотег будет использоваться для автоматического создания порядка сортировки (например, 1 или 2,5) --audio-format [= AUDIO-FORMAT]  выходной формат, который ffmpeg будет использовать для создания файлов [по умолчанию: "m4b"] --audio-channels [= AUDIO-CHANNELS] аудиоканалов, например  1, 2 [по умолчанию: ""] - аудио-битрейт [= АУДИО-БИТРАТ] аудио битрейт, например  64k, 128k, ... [по умолчанию: ""] --audio-samplerate [= AUDIO-SAMPLERATE] частота дискретизации аудио, например  22050, 44100, ... [по умолчанию: ""] --audio-codec [= AUDIO-CODEC] аудиокодек, например  libmp3lame, aac, ... [по умолчанию: ""] --audio-profile [= AUDIO-PROFILE] профиль аудио, при использовании сверхнизкого битрейта - допустимые значения: aac_he, aac_he_v2 [по умолчанию: ""] --adjust-for  -ipod автоматическая регулировка битрейта и частоты дискретизации для ipod, если дорожка слишком длинная (может привести к низкому качеству звука) --fix-mime-type попытаться исправить MIME-тип (например, из видео/mp4 в аудио/mp4) - это  Некоторым проигрывателям необходимо предотвратить пустое видеоокно -o, --output-file = OUTPUT-FILE выходной файл --include-extensions [= INCLUDE-EXTENSIONS] список расширений файлов, разделенных запятыми (другие пропускаются) [  по умолчанию: "aac, alac, flac, m4a, m4b, mp3, oga, ogg, wav, wma, mp4"] -m, --musicbrainz-id = MUSICBRAINZ-ID идентификатор musicbrainz, поэтому загружайте главы из --no-conversion skip  преобразование (целевой файл использует ту же кодировку, что и исходный - все параметры, специфичные для кодировки, будут проигнорированы) --batch-pattern [= BATCH-PATTERN] несколько шаблонов пакетов, которые могут использоваться для объединения всех аудиокниг в каталоге, соответствующем заданным шаблонам (например,. % a/% t для автора/заголовка) - параметр --output-file должен быть каталогом (допускается несколько значений) --dry-run выполнить пробный запуск без преобразования всех файлов в пакетном режиме (требуется --batch-pattern  ) --jobs [= JOBS] Определяет количество одновременно выполняемых заданий (команд) [по умолчанию: 1] --use-filenames-as-chapters Использовать имена файлов для заголовков глав вместо содержимого тегов --no-chapter-reindexing Do  не выполнять переиндексацию для названий глав, предназначенных только для индекса (по умолчанию m4b-tool будет пытаться обнаружить главы, предназначенные только для индекса, такие как Глава 1, Глава 2, и переиндексировать их только с их номерами) -h, --help Показать это справочное сообщение -q  , --quiet Не выводить никаких сообщений -V, --version Показать версию этого приложения --ansi Принудительно выводить ANSI --no-ansi Отключить вывод ANSI -n, --no-взаимодействовать Не задавать никаких интерактивных вопросов -v |  vv | vvv, --verbose Увеличивает подробность сообщений: 1 для обычного вывода, 2 для более подробного вывода и 3 для отладки  

Заполнитель ссылка для --batch-pattern

Если вы используете параметр - batch-pattern , поддерживаются следующие заполнители

  • title / name : %n
  • sort_name : %N
  • альбом : % m ,
  • sort_album : % M ,
  • исполнитель : % a ,
  • sort_artist : % a ,
  • жанр : % g ,
  • writer : % w ,
  • album_artist : % t ,
  • год : % y ,
  • описание : % d ,
  • long_description : % d ,
  • комментарий : % c ,
  • авторское право : % c ,
  • encoded_by : % e ,
  • серия e>: % s ,
  • часть_серии : % p ,

split

m4b-tool можно использовать для разделения одного m4b в файл для каждой главы или альбом, закодированный в flac , на отдельные треки через cue Sheet.

путь> Пример:

  m4b-tool split --audio-format mp3 --audio-bitrate 96k --audio-channels 1 --audio-samplerate 22050 "data/my  -audio-book.m4b " 

Это разбивает файл data/my-audio-book.m4b на файл mp3 для каждой главы, запись файлов в data/my-audio-book_splitted/.

Разделение контрольного листа (экспериментально)

Если вы хотите разделить файл flac , содержащий несколько дорожек, вам потребуется справочная таблица с точным именем файла flac ( my-album.flac требует my-album.cue ):

  # my-album. cue автоматически обнаруживается и используется для разделения m4b-tool split --audio-format = mp3 --audio-bitrate = 192k --audio-channels = 2 --audio-samplerate = 48000 "data/my-album.flac"  

Справочная информация

Для всех параметров см. m4b-tool split --help :

  Описание: разбивает файл m4b на части. Использование: split [options] [-]  Аргументы: input Входной файл или папка Опции: --logfile [= LOGFILE  ] файл для дампа всего вывода [по умолчанию: ""] --debug включить режим отладки - устанавливает подробность отладки, файл журнала - m4b-tool.log и временные файлы не удаляются -f, --force принудительно перезаписывать существующие файлы -  no-cache не использовать кешированные значения и полностью очистить кеш --ffmpeg-threads [= FFMPEG-THREADS] указать параметр -threads для ffmpeg [по умолчанию: ""] --platform-charset [= PLATFORM-CHARSET] Преобразовать из этой файловой системы  кодировка в utf-8 при тегировании файлов (например, Windows-1252, в основном используется в системах Windows) [по умолчанию: ""] --ffmpeg-param [= FFMPEG-PARAM] Добавить аргумент  к каждому вызову ffmpeg добавлять после всех остальных параметров ffmpeg (например,  --ffmpeg-param = "- max_muxing_queue_size" --ffmpeg-param = "1000" для ffmpeg [...] -max_muxing_queue_size 1000) (допускается несколько значений) -a, --silence-min-length [= SILENCE-MIN  -LENGTH] минимальная длина паузы в миллисекундах [по умолчанию: 1750] -b, --silence-max-length [= SILENCE-MAX-LENGTH] максимальная длительность паузы в миллисекундах [по умолчанию: 0] --max-chapter-length [=  MAX-CHAPTER-LENGTH] максимальная длина главы в секундах - также можно указать желаемую длину главы в виде 300 900, где 300 желательно, а 900 - максимальная - если максимальная длина главы превышена, глава помещается в первую паузу  между желаемой и максимальной длиной главы [по умолчанию: "0"] --audio-format [= AUDIO-FORMAT] формат вывода, который ffmpeg будет использовать для создания файлов [по умолчанию: "m4b"] --audio-channels [= AUDIO-  CHANNELS] аудиоканалы, например  1, 2 [по умолчанию: ""] - аудио-битрейт [= АУДИО-БИТРАТ] аудио битрейт, например  64k, 128k, ... [по умолчанию: ""] --audio-samplerate [= AUDIO-SAMPLERATE] частота дискретизации аудио, например  22050, 44100, ... [по умолчанию: ""] --audio-codec [= AUDIO-CODEC] аудиокодек, например  libmp3lame, aac, ... [по умолчанию: ""] --audio-profile [= AUDIO-PROFILE] профиль аудио, при использовании сверхнизкого битрейта - допустимые значения (моно, стерео): aac_he, aac_he_v2 [по умолчанию: ""] --adjust-for-ipod  автоматическая настройка битрейта и частоты дискретизации для ipod, если дорожка слишком длинная (может привести к низкому качеству) --name [= NAME] укажите собственное имя аудиокниги, в противном случае будут использоваться существующие метаданные [по умолчанию: ""] --sortname  [= SORTNAME] укажите собственное название аудиокниги, которое используется только для целей сортировки [по умолчанию: ""] --album [= ALBUM] укажите собственный альбом аудиокниги, в противном случае будут использоваться существующие метаданные для имени [по умолчанию: ""  ] --sortalbum [= SORTALBUM] предоставить собственный альбом аудиокниги, который используется только для целей сортировки [по умолчанию: ""] --artist [= ARTIST] указать исполнителя аудиокниги, в противном случае будут использоваться существующие метаданные [по умолчанию:  ""] --sortartist [= SORTARTIST] указать исполнителя аудиокниги, который используется только для сортировки [по умолчанию: ""] --genre [= GENRE] указать жанр аудиокниги, в противном случае e  будут использоваться существующие метаданные [по умолчанию: ""] --writer [= WRITER] предоставить настраиваемого автора аудиокниги, в противном случае будут использоваться существующие метаданные [по умолчанию: ""] --albumartist [= ALBUMARTIST] предоставить настраиваемого исполнителя альбома для аудиокниги,  в противном случае будут использоваться существующие метаданные [по умолчанию: ""] --year [= YEAR] указать год для аудиокниги, в противном случае будут использоваться существующие метаданные [по умолчанию: ""] --cover [= COVER] предоставить пользовательскую аудиокнигу  обложка, в противном случае будут использоваться существующие метаданные --description [= DESCRIPTION] предоставить краткое описание пользовательской аудиокниги, в противном случае будут использоваться существующие метаданные --longdesc [= LONGDESC] предоставить полное описание пользовательской аудиокниги, в противном случае существующие метаданные будут  used --comment [= COMMENT] предоставить собственный комментарий к аудиокниге, в противном случае будут использоваться существующие метаданные --copyright [= COPYRIGHT] предоставить пользовательское авторское право на аудиокнигу, в противном случае будут использоваться существующие метаданные --encoded-by [= ENCODED-  BY] предоставить аудиокнигу, закодированную пользователем, иначе th  Будут использоваться существующие метаданные --series [= SERIES] предоставляет настраиваемую серию аудиокниг, этот псевдотег будет использоваться для автоматического создания порядка сортировки (например,  Harry Potter или The Kingkiller Chronicles) --series-part [= SERIES-PART] предоставляет пользовательскую часть серии аудиокниг, этот псевдотег будет использоваться для автоматического создания порядка сортировки (например, 1 или 2,5) --skip-cover пропустить извлечение и  встраивание обложек --fix-mime-type попытаться исправить MIME-тип (например, из видео/mp4 в аудио/mp4) - это необходимо для некоторых плееров, чтобы предотвратить видеоокно -o, --output-dir [= OUTPUT-DIR  ] выходной каталог [по умолчанию: ""] -p, --filename-template [= FILENAME-TEMPLATE] имя файла шаблон веточки для именования выходного файла [по умолчанию: "{{"% 03d  "| формат (дорожка)}}  - {{title | raw}} "] --use-existing-chapters-file использовать существующий вручную отредактированный файл глав  .chapters. txt вместо встроенных глав для разделения -h, --help Показать это справочное сообщение -q, --quiet Не выводить никаких сообщений -V, --version Показать версию этого приложения --ansi Принудительный вывод ANSI --no-ansi Отключить  Вывод ANSI -n, --no-взаимодействовать Не задавать никаких интерактивных вопросов -v | vv | vvv, --verbose Увеличить уровень детализации сообщений: 1 для нормального вывода, 2 для более подробного вывода и 3 для отладки Справка: разделить m4b  в несколько файлов m4b или mp3 по главам  

справочник по шаблону файла

Если вы хотите использовать настраиваемый шаблон имени файла, предоставляется механизм шаблонов Twig. Доступны следующие переменные:

  {{encoder}} {{title}} {{artist}} {{genre}} {{writer}} {{album}}  {{disk}} {{disks}} {{albumArtist}} {{year}} {{track}} {{track}} {{cover}} {{description}} {{longDescription}} {{comment}}  {{copyright}} {{encodedBy}}  
  • Вы также можете использовать некоторые специальные расширения шаблонов Twig для дополнения или переформатирования этих значений. Шаблон по умолчанию: {{ "% 03d " | format (track)}} - {{title}} , что приводит к таким именам файлов, как 001-mychapter
  • Косые черты интерпретируются как разделители каталогов, поэтому, если вы используете шаблон {{year}}/{{artist}}/{{title}} результирующий каталог и файл – 2018/Joanne K. Rowling/Harry Potter 1
  • Не рекомендуется использовать {{description}} или {{longdescription}} для имен файлов, но они также предоставляются, если поле содержит другую информацию, чем предполагалось.
  • Специальные символы, которые запрещены в именах файлов удаляются автоматически

главы

Многие файлы аудиокниг m4b по разным причинам не содержат действительных глав. m4b-tool может обрабатывать два случая:

  • Исправление неуместных глав с помощью обнаружения тишины
  • Добавление глав из источник в Интернете (в основном для хорошо известных названий)

Неуместные главы

В некоторых случаях происходит сдвиг между отметка главы и реальное начало главы. m4b-tool может попытаться исправить это, обнаруживая молчание и перемещая главу в ближайшее молчание:

  m4b-tool chapters --adjust-  by-молчание -o "data/destination-with-adjust-chapters.m4b" "data/source-with-misplaced-chapters.m4b"  

Это не сработает, если сдвиг слишком велик или если главы сильно неуместны, но поскольку все делается автоматически, стоит попробовать, не так ли?

Слишком длинные главы

Иногда у вас есть файл, который содержит допустимые главы, но они слишком длинные, поэтому вы хотите разбить их на подглавы. Это сложно, потому что команда chapters ретранслирует только метаданные, а не длину дорожки, поэтому это не сработает. НО: может быть обходной путь. В последней предварительной версии с июля 2020 года вы можете сделать следующее:

  • Поместить исходный файл в пустой каталог, например input/my-file.m4b (это важно, не пропускайте этот шаг!)
  • Запустите m4b-tool merge -v --no-conversion --max-chapter-length = 300,900 "input/" -o "output/my-rechaptered-file.m4b"

Из-за - без преобразования процесс разбиения на главы выполняется без потерь, но он принимает существующие главы в качестве входных данных и пересчитывает их на основе - max-chapter-length параметр и новое обнаружение тишины.

Никаких глав вообще

Если у вас есть хорошо известная аудиокнига, например Гарри Поттер и философский камень , возможно, вам повезет, что он есть на musicbrainz.

В данном случае m4b -tool может попытаться исправить информацию о главе с помощью функции определения тишины и данных musicbrainz.

Поскольку это нетривиальная задача и подвержена ошибкам, m4b-tool предлагает некоторые параметры для исправления перемещенных позиций вручную.

Типичная работа ow

Получение идентификатора musicbrainz

Вы должны найти точный идентификатор musicbrainz:

  • Легкий способ найти книгу – использовать имя автора или имя читателя для поиска.
  • Найдя интересующую книгу, щелкните запись в списке, чтобы отобразить дополнительная информация.
  • Чтобы получить идентификатор musicbrainz, откройте страницу и найдите MBID (например, 8669da33-bf9c-47fe-adc9-23798a37b096)

Пример: https://musicbrainz.org/work/8669da33-bf9c-47fe- adc9-23798a37b096

  MBID: 8669da33-bf9c-47fe-adc9-23798a37b096  

Поиск основных глав

После получения MBID вы должны найти основные моменты главы (где название текущей главы читается автором вслух).

  m4b-tool chapters --merge-similar --first-chapter-offset 4000 --last-chapter-offset 3500 -m 8669da33-bf9c-47fe-adc9-23798a37b096 "../data/harry-potter-  1.m4b " 

Пояснение:

  • - аналогично слиянию : объединяет все похожие главы (например, Мальчик, который выжил, часть 1 и Мальчик, который выжил, часть 2 будет объединен с Мальчик, который выжил )
  • - first- chapter-offset : создает начальное смещение главы с именем Offset First Chapter длительностью 4 секунды для пропуска вступлений (например, звуковой и т. д.)
  • - last-chapter-offset : создает конечное смещение главы с именем Offset Last Chapter с длительностью 3,5 секунды для пропуска заключительных роликов (например, звуковых и т. д.. )
  • -m : MBID

Поиск неуместных основных глав

Теперь послушайте аудиокнигу и пройдитесь по главам. Предположим, все главы, кроме двух, были обнаружены правильно. Две неуместные главы – это главы с номерами 6 и 9.

Чтобы узнать реальное положение глав 6 и 9, выполните:

  m4b-tool chapter --find-misplaced-chapters 5,8 --merge-similar --first-chapter-offset 4000 --last-chapter-offset 3500 -m 8669da33-bf9c-47fe-  adc9-23798a37b096 "../data/harry-potter-1.m4b"  

Explanation: - find-misplaced-chapters : запятая разделенный список номеров глав, которые не были обнаружены правильно.

Теперь m4b-tool сгенерирует потенциальную главу для каждой тишины вокруг используемой метки главы, чтобы найти правильную позицию главы.

Прослушайте аудиокнигу еще раз и найдите правильную позицию главы. Запишите их.

Вручную отрегулируйте неуместные главы

Затем запустите полное обнаружение главы с помощью –no-chapter-import опция, предотвращающая запись глав непосредственно в файл.

  m4b-tool chapter --no-chapter-import --first-chapter-offset 4000 --last-chapter  -offset 3500 -m 8669da33-bf9c-47fe-adc9-23798a37b096 "../data/harry-potter-1.m4b"  

Чтобы исправить неправильно расположенные главы, сделайте следующее:

  • Измените начальную позицию всех неуместных глав вручную в файле ../data/harry-potter-1.chapters.txt
  • Импортируйте исправленные главы с помощью mp4chaps -i ../data/harry-potter-1.m4b

Снова послушайте harry-potter-1.m4b , теперь главы должны быть в правильном положении.

Устранение неполадок

Если ни одна из глав не определена правильно, это может иметь разные причины:

  • Части тишины в этой аудиокниге т. oo сокращение от «обнаружение». Чтобы настроить минимальную длительность тишины, используйте - silent-min-length 1000 , задав для длительности тишины 1 секунду.
    • Внимание: низкие значения могут привести к на неуместные главы и увеличенное время обнаружения.
  • Вы указали неправильный MBID
  • В этой аудиокниге слишком много фонового шума, так что молчание не может быть обнаружено

Ссылка

Для всех параметров см. m4b- инструмент chapters --help :

  Описание: добавляет главы в файл m4bUsage: chapters [options] [-]  Аргументы: input Входной файл или папка Опции  : --logfile [= LOGFILE] файл для вывода всего вывода [по умолчанию: ""] --debug включить режим отладки - устанавливает подробность отладки, файл журнала - m4b-tool. log и временные файлы не удаляются -f, --force принудительно перезаписывать существующие файлы --no-cache не использовать кешированные значения и полностью очищать кеш --ffmpeg-threads [= FFMPEG-THREADS] указать параметр -threads для ffmpeg [  по умолчанию: ""] --platform-charset [= PLATFORM-CHARSET] Преобразовать из кодировки этой файловой системы в utf-8 при тегировании файлов (например, Windows-1252, в основном используется в системах Windows) [по умолчанию: ""] --ffmpeg  -param [= FFMPEG-PARAM] Добавить аргумент к каждому вызову ffmpeg, добавлять после всех других параметров ffmpeg (например, --ffmpeg-param = "- max_muxing_queue_size" --ffmpeg-param = "1000" для ffmpeg [...] -  max_muxing_queue_size 1000) (допускается несколько значений) -a, --silence-min-length [= SILENCE-MIN-LENGTH] минимальная длительность паузы в миллисекундах [по умолчанию: 1750] -b, --silence-max-length [= SILENCE-  MAX-LENGTH] максимальная длина молчания в миллисекундах [по умолчанию: 0] --max-chapter-length [= MAX-CHAPTER-LENGTH] максимальная длина главы в секундах - также можно указать желаемую длину главы в виде 300 900  где 300 желательно, а 900 - максимальное - если максимальная длина главы превышена, глава помещается в первую паузу между желаемой и максимальной длиной главы [по умолчанию: "0"] -m, --musicbrainz-id = MUSICBRAINZ-ID  musicbrainz id, поэтому загружать главы из -s, --merge-similar объединить похожие имена глав -o, --output-file [= OUTPUT-FILE] записать главы в этот выходной файл [по умолчанию: ""] --adjust-by-  тишина будет пытаться отрегулировать главы файла путем обнаружения тишины и существующих меток глав --find-misplaced-chapters [= FIND-MISPLACED-CHAPTERS] отметьте тишину вокруг номеров глав, которые были обнаружены неправильно, например  8,15,18 [по умолчанию: ""] --find-misplaced-offset [= FIND-MISPLACED-OFFSET] отметить тишину вокруг номеров глав с максимальным смещением в секундах [по умолчанию: 120] --find-misplaced-терпимость [=  FIND-MISPLACED-TOLERANCE] помечает другую главу с этим смещением перед каждой тишиной, чтобы компенсировать несоответствия ffmpeg [по умолчанию: -4000] --no-chapter-numbering не добавлять номер главы после имени, например  Моя глава (1) --no-chapter-import не импортирует главы в m4b-файл, просто создайте chapters.txt --chapter-pattern [= CHAPTER-PATTERN] регулярное выражение для соответствия имени главы [по умолчанию: "/^ [  ^:] + [1-9] [0-9] *: [ s] * (. *),. * [1-9] [0-9] * [ s] * $/i "] --chapter-replacement [= CHAPTER-REPLACEMENT] замена регулярного выражения для соответствующего имени главы [по умолчанию:" $ 1 "] --chapter  -remove-chars [= CHAPTER-REMOVE-CHARS] удалить эти символы из названия главы [по умолчанию: «« »»] --first-chapter-offset [= FIRST-CHAPTER-OFFSET] миллисекунды для добавления после тишины в начале главы  [по умолчанию: 0] --last-chapter-offset [= LAST-CHAPTER-OFFSET] миллисекунды для добавления после тишины при запуске главы [по умолчанию: 0] -h, --help Показать это справочное сообщение -q, --quiet Do  не выводить никаких сообщений -V, --version Показать версию этого приложения --ansi Принудительно выводить ANSI --no-ansi Отключить вывод ANSI -n, --no-взаимодействовать Не задавать никаких интерактивных вопросов -v | vv | vvv, -  -verbose Увеличивает подробность сообщений: 1 для нормального вывода, 2 для более подробного вывода и 3 для debugHelp: можно добавлять главы в файлы m4b через различные типы входов  

m4b-tool – это проект, над которым работает один человек, поэтому иногда он быстро развивается и часто ничего не происходит. Если вы сообщили о проблеме, и она отмечена как исправленная, возможно, стабильной версии не будет в течение длительного времени. Вот почему теперь для тестирования существует тег latest в сочетании с Pre-Release . Эти выпуски всегда содержат самые последние сборки со всеми доступными исправлениями и новые возможности. В основном непроверенные, могут быть новые ошибки, нефункциональные функции или, что весьма маловероятно, критические проблемы с риском потери данных. Отзывы всегда приветствуются, но не ожидайте, что они будут исправлены быстро.

Чтобы получить предварительную версию, перейдите на https://github.com/sandreas/m4b-tool/releases/ tag/latest и загрузите m4b-tool.tar.gz или, если вы используете докер, перестройте образ с помощью:

  сборки докера.  --build-arg M4B_TOOL_DOWNLOAD_LINK =  -t m4b-tool  

m4b-tool содержит build , который создаст исполняемый файл m4b-tool.phar в папке dist. Требуется Composer для PHP, поэтому после установки Composer выполните следующие команды в корневой папке проекта:

Linux/Unix

Установить зависимости (Ubuntu)

 sudo apt install ffmpeg mp4v2-utils fdkaac php-cli composer phpunit php-mbstring 

Сборка

  composer install./build  

macOS

Установить зависимости (brew)

 brew updatebrew install php@7.4  phpunitbrew ссылка php@7.4 

Сборка

  установка композитора./build  

Windows

  composer installbuild  

Просьба о помощи – особенно немецкие пользователи

Прямо сейчас я экспериментирую с распознаванием речи и преобразованием речи в текст с использованием этого проекта

Это функция для автоматического добавления названий глав с помощью распознавания речи. Я не уверен, что это когда-либо будет работать так, как ожидалось, но сейчас я вполне уверен, что можно сделать следующее, если есть достаточно образцов речи на определенном языке:

  • Извлечь названия глав и первые предложения главы из электронной книги.
  • Обнаружить все паузы в аудиокниге.
  • Преобразовать речь в текст для первых 30 секунд после молчания
  • Сравните его с текстовыми частями электронной книги, отметьте позиции глав и добавьте настоящие названия глав.

Для этого и улучшите распознавание немецкой речи, я был бы очень признателен за ВАШ помощь по:

https://voice.mozilla.org/de (немецкий)

Для помощи не требуется учетная запись

Вы можете поддержать mozilla DeepSpeech, чтобы лучше поддерживать распознавание немецкой речи, просто проверка предложений после прослушивания или, что еще важнее, чтение вслух и загрузка предложений. Я стараюсь добавлять по несколько штук каждый день, это действительно легко и весело. На данный момент распознавание немецкой речи недостаточно хорошо для алгоритма, но я буду проверять время от времени – как только распознавание будет работать достаточно хорошо, я продолжу использовать эту функцию.

Оцените статью
futurei.ru
Добавить комментарий