Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

99
Vistas
Ffmpeg falla al descargar canciones específicas

Tengo un bot de música que descarga canciones a mp3 según la entrada del usuario que puede ser solo palabras o un enlace. El problema es que cuando paso una canción como "jojo op 3", busca la canción y cuando devuelve un nombre de canción como "JoJo's Bizarre Adventure Opening 3 | 4K | 60FPS | Creditless" ffmpeg regresa

 Error: ffmpeg exited with code 1: ./musicSaves/JoJo's Bizarre Adventure Opening 3 | 4K | 60FPS | Creditless.mp3: Invalid argument

pero para otras canciones como gas gas gas de manuel lo descarga normalmente y no puedo saber por qué es así. Aquí está el código de descarga:

 import puppeteer from 'puppeteer'; import youtubeMp3Converter from 'youtube-mp3-converter'; //Tries to find link in message using Regex export function getLink(messageLink){ const urlRegex = /https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)/; let link = messageLink.match(urlRegex); if(link == null){ findSongName(messageLink) } else { convertToMp3(link) } } //Converts source to mp3 to be played by audio player async function convertToMp3(inputLink){ const convertLinkToMp3 = youtubeMp3Converter('./musicSaves') const pathToMp3 = await convertLinkToMp3(inputLink) } //If link isn't found; tries to find source using puppeteer async function findSongName(stringWithName){ const searchYT = async (page, searchQuery) => { const encodedQuery = encodeURIComponent(searchQuery); const url = `https://www.youtube.com/results?search_query=${encodedQuery}`; await page.goto(url); const sel = "a#video-title"; await page.waitForSelector(sel); return page.$$eval(sel, els => els.map(e => ({ title: e.textContent.trim(), href: e.href, })) ); }; let browser; (async () => { browser = await puppeteer.launch({headless: true}); const [page] = await browser.pages(); await page.setRequestInterception(true); page.on("request", req => { req.resourceType() === "image" ? req.abort() : req.continue(); }); const results = await searchYT(page, stringWithName); const finalLink = results[0].href; convertToMp3(finalLink); })() .catch(err => console.error(err)) .finally(() => browser?.close()); }
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Elimina los caracteres especiales del nombre del archivo. El ' y |.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda