Ошибка: ffmpeg завершился с кодом 1 на AWS Lambda - PullRequest
0 голосов
/ 14 июля 2020

Я использую пакет fluent-ffmpeg nodejs для запуска ffmpeg для преобразования звука на AWS Lambda. Я использую этот слой FFmpeg для лямбда. Вот мой код

  const bitrate64 = ffmpeg("file.mp3").audioBitrate('64k');
    bitrate64.outputOptions([
        '-preset slow',
    '-g 48',
    "-map", "0:0",
        '-hls_time 6',
        '-master_pl_name master.m3u8',
        '-hls_segment_filename 64k/fileSequence%d.ts'
    ])
    .output('./64k/prog_index.m3u8')
    .on('progress', function(progress) {
        console.log('Processing 64k bitrate: ' + progress.percent + '% done')
    })  
    .on('end', function(err, stdout, stderr) {
        console.log('Finished processing 64k bitrate!')
    })
    .run() 

после его запуска через AWS лямбда. Я получаю следующее сообщение об ошибке

ERROR   Uncaught Exception  
{
    "errorType": "Error",
    "errorMessage": "ffmpeg exited with code 1: Conversion failed!\n",
    "stack": [
        "Error: ffmpeg exited with code 1: Conversion failed!",
        "",
        "    at ChildProcess.<anonymous> (/var/task/node_modules/fluent-ffmpeg/lib/processor.js:182:22)",
        "    at ChildProcess.emit (events.js:198:13)",
        "    at ChildProcess.EventEmitter.emit (domain.js:448:20)",
        "    at Process.ChildProcess._handle.onexit (internal/child_process.js:248:12)"
    ]
}

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

1 Ответ

1 голос
/ 14 июля 2020

Добавлен обратный вызов ошибки, чтобы получить подробную информацию об ошибке, и обнаружено, что есть проблема с разрешениями на лямбда

   .on('error', function(err, stdout, stderr) {
        if (err) {
            console.log(err.message);
            console.log("stdout:\n" + stdout);
            console.log("stderr:\n" + stderr);
            reject("Error");
        }
    })
...