es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Descarga una subcorriente con youtube_explode_dart.

Estoy desarrollando una aplicacion Flutter, utilizando el paquete youtubeexplodedart.
Actualmente descargo todos los flujos de audio, luego los recorto utilizando ffmpeg. Rápidamente esto se ve así:

var id = "aboZctrHfK8";
var file = File("mySong.mp4");
var start = "2000ms";
var end = "5000ms";

// Descarga solo de audio
var manifest = await yt.videos.streamsClient.getManifest(id);
var audio = manifest.audioOnly.first;
var audioStream = yt.videos.streamsClient.get(audio);
var output = file.openWrite(mode: FileMode.writeOnlyAppend);
for (final data in audioStream) {
    output.add(data);
}

// Recorte de audio
FlutterFFmpeg _flutterFFmpeg = new FlutterFFmpeg();
await _flutterFFmpeg.executeWithArguments([
      "-v", "error",
      "-ss", start,
      "-to", end,
      "-i", file.path,
      "-acodec", "copy", "myCroppedSong.mp4"]);

Ahora me enfrento a otro problema: Algunos videos son realmente pesados y tardan mucho en descargarse. Esto no es aceptable para mis usuarios finales, especialmente porque solo quiero una parte del audio original.

¿Existe alguna forma de descargar solo un subconjunto del flujo de audio?

Algo como:

dart
for (final data in audioStream.subset(start, end)) {
output.add(data);
}

¡Sería genial!

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Desafortunadamente, no hay forma de descargar solo un subconjunto del flujo de audio usando el paquete youtube_explode_dart. Sin embargo, puede usar el paquete flutter_ffmpeg para recortar el flujo de audio después de que se haya descargado.

Comments are closed.