woiceatus commited on
Commit
416cae6
·
1 Parent(s): 13d72eb

install ffmpeg in docker file

Browse files
Dockerfile CHANGED
@@ -2,6 +2,10 @@ FROM node:20-slim
2
 
3
  WORKDIR /app
4
 
 
 
 
 
5
  COPY package.json package-lock.json ./
6
  RUN npm ci --omit=dev
7
 
 
2
 
3
  WORKDIR /app
4
 
5
+ RUN apt-get update \
6
+ && apt-get install -y --no-install-recommends ffmpeg \
7
+ && rm -rf /var/lib/apt/lists/*
8
+
9
  COPY package.json package-lock.json ./
10
  RUN npm ci --omit=dev
11
 
doc/pushhg.md ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ #facepush
2
+ git push -u origin main --force-with-lease
src/services/audioConversionService.js CHANGED
@@ -22,7 +22,9 @@ function runFfmpeg(inputPath, outputPath, outputArgs) {
22
  stderr += chunk.toString();
23
  });
24
 
25
- child.on("error", reject);
 
 
26
  child.on("close", (code) => {
27
  if (code === 0) {
28
  resolve();
@@ -91,15 +93,20 @@ export function createAudioConversionService({ fetchImpl = fetch, maxAudioDownlo
91
  const outputPath = path.join(tempDir, "output.mp3");
92
 
93
  try {
94
- console.log(`convert audio: ${normalizedInputFormat}->mp3`);
95
  await fs.writeFile(inputPath, audioBuffer);
96
  await runFfmpeg(inputPath, outputPath, ffmpegOutputArgs());
97
  const convertedBuffer = await fs.readFile(outputPath);
 
98
 
99
  return {
100
  data: convertedBuffer.toString("base64"),
101
  format: "mp3"
102
  };
 
 
 
 
103
  } finally {
104
  await fs.rm(tempDir, { force: true, recursive: true });
105
  }
 
22
  stderr += chunk.toString();
23
  });
24
 
25
+ child.on("error", (error) => {
26
+ reject(new HttpError(400, "Failed to convert audio to mp3.", error.message));
27
+ });
28
  child.on("close", (code) => {
29
  if (code === 0) {
30
  resolve();
 
93
  const outputPath = path.join(tempDir, "output.mp3");
94
 
95
  try {
96
+ console.log(`audio conversion started: format=${normalizedInputFormat}, target=mp3`);
97
  await fs.writeFile(inputPath, audioBuffer);
98
  await runFfmpeg(inputPath, outputPath, ffmpegOutputArgs());
99
  const convertedBuffer = await fs.readFile(outputPath);
100
+ console.log(`audio conversion successful: format=${normalizedInputFormat}->mp3`);
101
 
102
  return {
103
  data: convertedBuffer.toString("base64"),
104
  format: "mp3"
105
  };
106
+ } catch (error) {
107
+ const detail = error instanceof Error ? error.message : String(error);
108
+ console.error(`audio conversion failed: format=${normalizedInputFormat}, target=mp3, error=${detail}`);
109
+ throw error;
110
  } finally {
111
  await fs.rm(tempDir, { force: true, recursive: true });
112
  }