适用于AWS S3存储桶签名的URL的FFMPEG在节点js中不起作用

时间:2018-08-21 10:11:31

标签: node.js amazon-s3 ffmpeg thumbnails pre-signed-url

我正在尝试从Amazon s3存储桶签名的URL创建缩略图。在终端

中运行命令时,我能够生成缩略图
ffmpeg -ss 00:00:02 -i "https://test-s3-bucket.s3.ap-south-1.amazonaws.com/user_gallery_assets/5b6936069ac2bf0602085367/gallery/images/5b7be08527641dee8c1f8134.mp4?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=xxxxxxxxx%2F20180821%2Fap-south-1%2Fs3%2Faws4_request&X-Amz-Date=20180821T095101Z&X-Amz-Expires=900&X-Amz-Signature=d7f81f4eed3d6c87c04dc1b0ad06beeb946afa33d417585f57fad72aeadb3ac0&X-Amz-SignedHeaders=host" -vframes 1 -q:v 2 -f image2 output.jpg

我正在终端中运行上述命令,并且工作正常,但是当我尝试在节点js中实现上述命令时,显示“没有此类文件或目录错误”。虽然我使用双引号编码url,但同时也显示相同的错误。这是我的节点js代码。...

function uploadThumbNailForVideo(obj,url, thumb_url){
    return new Promise((resolve, reject) => resolve(url))
    .then((url) => awsHelper.getImage(url))
    .then((result) => { 

        var resUrl = "\""+result+"\"";

        var args = [ 
            '-i', resUrl, 
            '-ss', '00:00:02', 
            '-vframes', '1', 
            '-f','image2', 
            'output.jpg'
        ]
        //console.log(args)
        var ffmpeg = require('child_process').spawn('ffmpeg', args);

        ffmpeg.on('error', function (err) {
            console.log(err);
        });

        ffmpeg.on('close', function (code) {

        });

        ffmpeg.stderr.on('data', function (data) {
            var tData = data.toString('utf8');
            var a = tData.split('\n');
            console.log("A",a); 
        });

        ffmpeg.stdout.on('data', function (data) {
            //
        });


    });

}

我收到以下错误

A [ 'ffmpeg version 4.0.2 Copyright (c) 2000-2018 the FFmpeg 
developers' ]
A [ '',
  '  built with Apple LLVM version 9.1.0 (clang-902.0.39.2)',
  '  configuration: --prefix=/usr/local/Cellar/ffmpeg/4.0.2 --enable- 
shared --enable-pthreads --enable-version3 --enable-hardcoded-tables -- 
enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable- 
gpl --enable-libmp3lame --enable-libx264 --enable-libxvid --enable- 
opencl --enable-videotoolbox --disable-lzma',
   '  libavutil      56. 14.100 / 56. 14.100',
   '  libavcodec     58. 18.100 / 58. 18.100',
  '  libavformat    58. 12.100 / 58. 12.100',
  '  libavdevice    58.  3.100 / 58.  3.100',
  '  libavfilter     7. 16.100 /  7. 16.100',
  '  libavresample   4.  0.  0 /  4.  0.  0',
  '  libswscale      5.  1.100 /  5.  1.100',
  '  libswresample   3.  1.100 /  3.  1.100',
  '  libpostproc    55.  1.100 / 55.  1.100',
  '"https://test-s3-bucket.s3.ap-south-1.amazonaws.com/user_gallery_assets/5b6936069ac2bf0602085367/gallery/images/5b7be08527641dee8c1f8134.mp4?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=xxxxxxxxx%2F20180821%2Fap-south-1%2Fs3%2Faws4_request&X-Amz-Date=20180821T095101Z&X-Amz-Expires=900&X-Amz-Signature=d7f81f4eed3d6c87c04dc1b0ad06beeb946afa33d417585f57fad72aeadb3ac0&X-Amz-SignedHeaders=host": No such file or directory',
  '' ]

ffmpeg exited with code 1

0 个答案:

没有答案