170 похожих чатов

Ребята, всем привет. Кто-нибудь делал соединение 2х mp3 файлов в

один?
интересна работа через пакет npm без притягивания монстра ffmpeg. Сутки гугления не помогли. Если кто делал пожалуйста отзовитесь ))

24 ответов

10 просмотров

Никак это чисто серверным JavaScript'ом не получится это сделать, по крайней мере с минимально адекватной производительностью.

А чем он не понравился? Не хочется лишнюю зависимость? Если нативно хочется с этим работать надо разобрать формат файла и его заголовки и стандартными методами ноды записать новый файл.

Feanorx
Никак это чисто серверным JavaScript'ом не получит...

... странно, я за 5 минут гугления (просто самому стало интересно) нашел варик сделать это на JS. Прочитать файлы в array buffer, потом циклом всё соединяется по каналам, и отдается blob import {Blob} from 'node:buffer'; в котором по сути наш новый файл его просто download делаем и всё. А потом сходу еще нашел несколько готовых либ на node.js

Андрей Б
... странно, я за 5 минут гугления (просто самому ...

Файлы получаются сломанные: https://stackoverflow.com/questions/24474915/merging-mp3-files-into-one-using-filestream

Feanorx
Файлы получаются сломанные: https://stackoverflow....

Может в коде ошиблись. С 2014 года наверное много что изменилось.

Андрей Б
Может в коде ошиблись. С 2014 года наверное много ...

Там сложно ошибиться) Скорее дело в том, что получается некорректный файл. Как его будут читать те или иные плееры невозможно предсказать. Какие-то будут без проблем

https://mp3wrap.sourceforge.net/ Ещё одно приложение для этой цели

Feanorx
Там сложно ошибиться) Скорее дело в том, что получ...

Даже если предположить что это так. Можно заюзать ffmpeg и горя не знать с высокой долей вероятности. Вчера как раз писал сервер в котором вызывал бинарники, один из бинарников как раз запускает для своей работы ffmpeg. Чем он вас так пугает, я не знаю. Но тот факт что в принципе можно сделать на голом JS. Предположу что вам нужен готовый варик чтобы самому не погружаться в тему копи/паст и готово, но так не всегда бывает)

Feanorx
Никак это чисто серверным JavaScript'ом не получит...

Нашел шикарную статью где парсят 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/

Гаечка- Автор вопроса
Андрей Б
... странно, я за 5 минут гугления (просто самому ...

Спасибо всем кто откликнулся. Да пробовала собирать как файлы - тоже получился кривой не читаемый файлик.

Гаечка- Автор вопроса
Андрей Б
Даже если предположить что это так. Можно заюзать ...

да, конечно. всегда в поиске простейшего достаточного варианта. Тк разработка на Windows, а на сервере все в контейнерах. FFmpeg и туда надо пихать )) и на Wind'у ставить (

Гаечка
да, конечно. всегда в поиске простейшего достаточн...

так ты в докер контейнерах и на винде запускай и будет тебе счастье

что есть весить в память ?

Гаечка- Автор вопроса
Anton K.
что есть весить в память ?

доп утилита , которая навсегда в контейнере, и ее использует только 1 из 100 или еще реже

Гаечка
доп утилита , которая навсегда в контейнере, и ее ...

а ты знаешь сколько там всего такого в этом контейнере чего не использует ни один пользователь?

Гаечка- Автор вопроса
Гаечка
да, конечно. всегда в поиске простейшего достаточн...

Ничего не мешает сделать функцию, которая проверит что нет файла тогда будет делать запрос на скачивание ffmpeg.exe файла и скачивать его в директорию рядом (операционка тут не играет роли). Любые пути к файлам/папкам надо делать join чтобы не зависеть от направления слэша.

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта