【问题标题】:Java: playing audio from a youtube videoJava:播放 youtube 视频中的音频
【发布时间】:2018-05-19 17:27:34
【问题描述】:

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

我的问题是游戏部分,假设我有 URL。在 Java 中处理这个问题的最佳方法是什么,你认为撕掉音频并从那里播放音频是最好的,还是我应该尝试控制一个有感知的 YouTube 播放器。

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

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

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

感谢您的建议。

【问题讨论】:

    标签: java audio youtube


    【解决方案1】:

    您可以使用像 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();
    

    【讨论】:

      猜你喜欢
      • 2013-03-02
      • 2011-05-29
      • 2018-05-28
      • 2014-05-01
      • 2013-01-25
      • 2017-01-30
      • 2013-11-10
      • 1970-01-01
      • 2012-08-09
      相关资源
      最近更新 更多