如何解决尝试 saveFile 时的 fluent-ffmpeg typeError
我正在尝试使用 ytdl 保存 YouTube 视频,并使用 .pipe()
将其与流一起传递以使用流保存。
无论我做什么,我总是收到下面的错误。
我已经尝试在 .savetoFile()
中使用 .save()
和 .pipe()
。
(node:1) UnhandledPromiseRejectionWarning: TypeError [ERR_INVALID_ARG_TYPE]: The "file" argument must be of type string. Received an instance of Object
at validateString (internal/validators.js:124:11)
at normalizeSpawnArguments (child_process.js:435:3)
at spawn (child_process.js:575:13)
at spawnWithSignal (child_process.js:714:17)
at /app/available_modules/1623080324000/fluent-ffmpeg/lib/processor.js:152:24
at FfmpegCommand.proto._getFfmpegPath (/app/available_modules/1623080324000/fluent-ffmpeg/lib/capabilities.js:90:14)
at FfmpegCommand.proto._spawnFfmpeg (/app/available_modules/1623080324000/fluent-ffmpeg/lib/processor.js:132:10)
at FfmpegCommand.proto.availableFormats.proto.getAvailableFormats (/app/available_modules/1623080324000/fluent-ffmpeg/lib/capabilities.js:517:10)
at /app/available_modules/1623080324000/fluent-ffmpeg/lib/capabilities.js:568:14
at nextTask (/app/available_modules/1623080324000/fluent-ffmpeg/node_modules/async/dist/async.js:4576:27)
at Object.waterfall (/app/available_modules/1623080324000/fluent-ffmpeg/node_modules/async/dist/async.js:4587:9)
at Object.awaitable [as waterfall] (/app/available_modules/1623080324000/fluent-ffmpeg/node_modules/async/dist/async.js:208:32)
at FfmpegCommand.proto._checkCapabilities (/app/available_modules/1623080324000/fluent-ffmpeg/lib/capabilities.js:565:11)
at /app/available_modules/1623080324000/fluent-ffmpeg/lib/processor.js:298:14
at nextTask (/app/available_modules/1623080324000/fluent-ffmpeg/node_modules/async/dist/async.js:4576:27)
at Object.waterfall (/app/available_modules/1623080324000/fluent-ffmpeg/node_modules/async/dist/async.js:4587:9)
at Object.awaitable [as waterfall] (/app/available_modules/1623080324000/fluent-ffmpeg/node_modules/async/dist/async.js:208:32)
at FfmpegCommand.proto._prepare (/app/available_modules/1623080324000/fluent-ffmpeg/lib/processor.js:295:11)
at FfmpegCommand.proto.exec.proto.execute.proto.run (/app/available_modules/1623080324000/fluent-ffmpeg/lib/processor.js:431:10)
at FfmpegCommand.proto.writetoStream.proto.pipe.proto.stream (/app/available_modules/1623080324000/fluent-ffmpeg/lib/recipes.js:64:34)
(Use `node --trace-warnings ...` to show where the warning was created)
const ffmpeg = require('fluent-ffmpeg')
const ffmpegPath = require('@ffmpeg-installer/ffmpeg')
const fs = require('fs')
const ytdl = require('ytdl-core')
ffmpeg.setFfmpegPath(ffmpegPath)
async function get() {
ffmpeg(await ytdl('LuchnQtK86U'))
.pipe(fs.createWriteStream('track.mp3'))
}
get()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。