один?
интересна работа через пакет npm без притягивания монстра ffmpeg. Сутки гугления не помогли. Если кто делал пожалуйста отзовитесь ))
Никак это чисто серверным JavaScript'ом не получится это сделать, по крайней мере с минимально адекватной производительностью.
А чем он не понравился? Не хочется лишнюю зависимость? Если нативно хочется с этим работать надо разобрать формат файла и его заголовки и стандартными методами ноды записать новый файл.
... странно, я за 5 минут гугления (просто самому стало интересно) нашел варик сделать это на JS. Прочитать файлы в array buffer, потом циклом всё соединяется по каналам, и отдается blob import {Blob} from 'node:buffer'; в котором по сути наш новый файл его просто download делаем и всё. А потом сходу еще нашел несколько готовых либ на node.js
Файлы получаются сломанные: https://stackoverflow.com/questions/24474915/merging-mp3-files-into-one-using-filestream
Может в коде ошиблись. С 2014 года наверное много что изменилось.
Там сложно ошибиться) Скорее дело в том, что получается некорректный файл. Как его будут читать те или иные плееры невозможно предсказать. Какие-то будут без проблем
https://mp3wrap.sourceforge.net/ Ещё одно приложение для этой цели
Даже если предположить что это так. Можно заюзать ffmpeg и горя не знать с высокой долей вероятности. Вчера как раз писал сервер в котором вызывал бинарники, один из бинарников как раз запускает для своей работы ffmpeg. Чем он вас так пугает, я не знаю. Но тот факт что в принципе можно сделать на голом JS. Предположу что вам нужен готовый варик чтобы самому не погружаться в тему копи/паст и готово, но так не всегда бывает)
Нашел шикарную статью где парсят mp3 файл с помощью let fs = require('fs'), с описанием формата и сколько где байт надо прочитать. С картинками, кусками кода, пояснениями) аж самому захотелось парсинг устроить=)
ffmpeg норм, он не такой и сложный в применении
Уместно бы было дать ссылку на эту статью
Вот вы сами всех в гугл отправляете )) https://bignerdranch.com/blog/encore-javascript-create-an-mp3-reader-with-dataviews-textdecoder/
Речь шла о конкретной статье
)) точно, я чет видимо упустил этот момент https://bignerdranch.com/blog/encore-javascript-create-an-mp3-reader-with-dataviews-textdecoder/
Спасибо всем кто откликнулся. Да пробовала собирать как файлы - тоже получился кривой не читаемый файлик.
можешь поделиться ? ))
да, конечно. всегда в поиске простейшего достаточного варианта. Тк разработка на Windows, а на сервере все в контейнерах. FFmpeg и туда надо пихать )) и на Wind'у ставить (
так ты в докер контейнерах и на винде запускай и будет тебе счастье
что есть весить в память ?
доп утилита , которая навсегда в контейнере, и ее использует только 1 из 100 или еще реже
а ты знаешь сколько там всего такого в этом контейнере чего не использует ни один пользователь?
не знаю. посыл понятен. спасибо ))
Ничего не мешает сделать функцию, которая проверит что нет файла тогда будет делать запрос на скачивание ffmpeg.exe файла и скачивать его в директорию рядом (операционка тут не играет роли). Любые пути к файлам/папкам надо делать join чтобы не зависеть от направления слэша.
Обсуждают сегодня