Set title/artist metadata in downloader

This commit is contained in:
TC
2021-01-14 23:01:26 +01:00
parent 25fd48697b
commit 2861473097
4 changed files with 36 additions and 0 deletions

View File

@ -12,6 +12,9 @@ const filenamify = require("filenamify");
const FFmpeg = require("@ffmpeg/ffmpeg/dist/ffmpeg.min");
const ytdl = require("ytdl-core");
const { triggerActionSync } = require("../utils");
const { ACTIONS, CHANNEL } = require("./actions.js");
const { createFFmpeg } = FFmpeg;
const ffmpeg = createFFmpeg({
log: false,
@ -93,6 +96,7 @@ const toMP3 = async (
await ffmpeg.run(
"-i",
safeVideoName,
...getFFmpegMetadataArgs(),
...(options.ffmpegArgs || []),
safeVideoName + "." + extension
);
@ -112,6 +116,20 @@ const toMP3 = async (
}
};
const getFFmpegMetadataArgs = () => {
const metadata = JSON.parse(triggerActionSync(CHANNEL, ACTIONS.METADATA));
if (!metadata) {
return;
}
return [
"-metadata",
`title=${metadata.title}`,
"-metadata",
`artist=${metadata.artist}`,
];
};
module.exports = {
downloadVideoToMP3,
};