首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Fluent-FFmpeg错误: ffprobe已退出,代码为%1

Fluent-FFmpeg错误: ffprobe已退出,代码为%1
EN

Stack Overflow用户
提问于 2020-06-17 18:09:39
回答 1查看 688关注 0票数 0

我正在使用Lambda函数将给定的文件拆分成多个片段,并且在文件处理过程中经常收到一个错误:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{
    "errorType": "Error",
    "errorMessage": "ffprobe exited with code 1\nffprobe version 4.2.2-static https://johnvansickle.com/ffmpeg/  Copyright (c) 2007-2019 the FFmpeg developers\n  built with gcc 8 (Debian 8.3.0-6)\n  configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gmp --enable-libgme --enable-gray --enable-libaom --enable-libfribidi --enable-libass --enable-libvmaf --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libdav1d --enable-libxvid --enable-libzvbi --enable-libzimg\n  libavutil      56. 31.100 / 56. 31.100\n  libavcodec     58. 54.100 / 58. 54.100\n  libavformat    58. 29.100 / 58. 29.100\n  libavdevice    58.  8.100 / 58.  8.100\n  libavfilter     7. 57.100 /  7. 57.100\n  libswscale      5.  5.100 /  5.  5.100\n  libswresample   3.  5.100 /  3.  5.100\n  libpostproc    55.  5.100 / 55.  5.100\n[mov,mp4,m4a,3gp,3g2,mj2 @ 0x6f35c40] Format mov,mp4,m4a,3gp,3g2,mj2 detected only with low score of 1, misdetection possible!\n[mov,mp4,m4a,3gp,3g2,mj2 @ 0x6f35c40] moov atom not found\n/tmp/file.mp4: Invalid data found when processing input\n",
    "stack": [
        "Error: ffprobe exited with code 1",
        "ffprobe version 4.2.2-static https://johnvansickle.com/ffmpeg/  Copyright (c) 2007-2019 the FFmpeg developers",
        "  built with gcc 8 (Debian 8.3.0-6)",
        "  configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gmp --enable-libgme --enable-gray --enable-libaom --enable-libfribidi --enable-libass --enable-libvmaf --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libdav1d --enable-libxvid --enable-libzvbi --enable-libzimg",
        "  libavutil      56. 31.100 / 56. 31.100",
        "  libavcodec     58. 54.100 / 58. 54.100",
        "  libavformat    58. 29.100 / 58. 29.100",
        "  libavdevice    58.  8.100 / 58.  8.100",
        "  libavfilter     7. 57.100 /  7. 57.100",
        "  libswscale      5.  5.100 /  5.  5.100",
        "  libswresample   3.  5.100 /  3.  5.100",
        "  libpostproc    55.  5.100 / 55.  5.100",
        "[mov,mp4,m4a,3gp,3g2,mj2 @ 0x6f35c40] Format mov,mp4,m4a,3gp,3g2,mj2 detected only with low score of 1, misdetection possible!",
        "[mov,mp4,m4a,3gp,3g2,mj2 @ 0x6f35c40] moov atom not found",
        "/tmp/file.mp4: Invalid data found when processing input",
        "",
        "    at ChildProcess.<anonymous> (/var/task/node_modules/fluent-ffmpeg/lib/ffprobe.js:233: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)"
    ]
}

我看到了错误消息,它告诉我的是什么,但我不能理解的是,这个文件有时是有效的。在这个过程开始之前,我将文件从S3下载到我的Lambda容器中,也许这是我的问题,但它有时仍然有效。

EN

回答 1

Stack Overflow用户

发布于 2020-06-24 18:56:39

经过长时间的调查,我发现我的问题确实是如何从S3下载我的源文件,所以在修复这个问题之后,没有抛出更多的错误!

为了以后的参考,这里是我的过程中所发生的变化,希望对将来的人有所帮助。

这是它下载文件的方式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    return new Promise((resolve: Function, reject: Function): void => {
      const s3Stream: stream.Readable = this.client.getObject(params).createReadStream()
      const fileStream: stream.Writable = fs.createWriteStream(filePath)
      s3Stream.on('error', () => {
        fileStream.destroy()
        reject()
      })
      fileStream.on('error', () => {
        s3Stream.destroy()
        reject()
      })
      s3Stream.pipe(fileStream)
        .on('close', resolve())
      })
    }

现在,在更改之后:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    return new Promise((resolve: Function, reject: Function): void => {
      const fileStream: stream.Writable = fs.createWriteStream(filePath)
      this.client.getObject(params)
        .on('error', (err: NodeJS.ErrnoException) => {
          fileStream.destroy()
          reject(err)
        })
        .on('httpData', (chunk: unknown) => {
          fileStream.write(chunk);
        })
        .on('httpDone', () => {
          fileStream.end();
          resolve()
        })
        .send();
      })
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62435633

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文