【发布时间】:2020-12-19 04:30:46
【问题描述】:
我正在尝试在 Google Cloud(云功能)上运行 ffmpeg,并尝试让它将文件输出到(Google 存储的)URL。
我在 NodeJS 中生成 ffmpeg,如下所示:
const { spawn } = require('child_process');
spawn('ffmpeg', [
'-i', 'input.mp4',
// ... other arguments
'-f', 'mp4',
'-movflags', 'frag_keyframe+empty_moov' // needed for a URL output
'-headers', `'Authorization: Bearer ${token}'`
'https://storage.googleapis.com/upload/storage/v1/b/...'])
问题是文件永远不会被上传,即使 ffmpeg 运行并以代码 0 退出。
奇怪的是,如果我直接从终端运行完全相同的命令,它会上传文件。
ffmpeg -i input.mp4 -f mp4 -movflags frag_keyframe+empty_moov -headers 'Authorization: Bearer XXX' 'https://storage.googleapis.com/upload/storage/v1/b/...'
我认为,这消除了任何身份验证问题或服务器端发生任何事情的可能性。
我在输出 (stderr) 中看不到任何差异。
知道为什么 Node 版本不上传输出并且不报告任何错误吗?
【问题讨论】:
标签: node.js google-cloud-platform ffmpeg