Java:从YouTube视频播放音频

时间:2017-12-05 22:53:31

标签: java audio youtube

我正在考虑编写一个Java小程序,它将收集前100首左右的歌曲,在WhoSampled.com上找到他们的样本(歌曲中出现的音乐),然后从YouTube播放这些样本。

我的问题是播放部分,假设我有网址。在Java中处理这个问题的最佳方法是什么,你认为翻录音频和播放音频是最好的,还是应该尝试控制一个有感知的YouTube播放器。

我倾向于提取音频,而且:thread提到了提取音频的方法,但是代码:

  wget http://www.youtube.com/get_video.php?video_id=... 
  ffmpeg -i - audio.mp3

不是用Java编写的。如果可能的话,我如何将其转换为在Java程序中运行?或者有人知道Java的好方法

感谢您的建议。

1 个答案:

答案 0 :(得分:0)

您可以像这样https://github.com/bramp/ffmpeg-cli-wrapper/

使用FFMPEG Java包装器

可以在自述文件中找到一个示例。将MP4转换为mp3应该是这样的:

FFmpeg ffmpeg = new FFmpeg("/path/to/ffmpeg");
FFprobe ffprobe = new FFprobe("/path/to/ffprobe");

FFmpegBuilder builder = new FFmpegBuilder()

  .setInput("input.mp4")     // Filename, or a FFmpegProbeResult
  .overrideOutputFiles(true) // Override the output if it exists

  .addOutput("output.mp3")   // Filename for the destination
    .setFormat("mp3")        // Format is inferred from filename, or can be set
    .setAudioCodec("aac")        // using the aac codec
    .setAudioSampleRate(48_000)  // at 48KHz
    .setAudioBitRate(32768)      // at 32 kbit/s

    .done();

FFmpegExecutor executor = new FFmpegExecutor(ffmpeg, ffprobe);

// Run a one-pass encode
executor.createJob(builder).run();