【问题标题】:Stream a remote .mp4 file, but audio only流式传输远程 .mp4 文件,但仅限音频
【发布时间】:2018-05-08 14:17:50
【问题描述】:

我有一个基本的 Java 程序,它可以将 YouTube 视频链接转换为直接的 .mp4 链接:

YouTubeParser parser = new YouTubeParser();
URL source = parser.extract(parser.info(new URL("https://www.youtube.com/watch?v=afhdlaksfh")), new AtomicBoolean(false), null).get(0).getSource();

现在我想玩source。我不想添加 GUI,所以我不需要视频部分。

我已经尝试过各种方法,例如 javax.media.Player,但它们仅适用于纯音频文件。

【问题讨论】:

    标签: java audio video streaming


    【解决方案1】:

    我认为您是在说您获得了 YouTube mp4 文件的 Url,并且您想要流式传输该文件但仅播放音频,而不是在服务器端提取音轨并仅流式传输音频。

    您没有提及您正在使用的平台,但对于网络或移动设备,最简单的方法可能是简单地使用普通视频播放器播放它并隐藏视频显示。

    这很可能效率低下,具体取决于媒体播放器的聪明程度 - 即,如果它足够聪明,不会在知道视频实际上不可见时不打扰解码和准备显示,那么它会很好,但我认为这对于大多数媒体播放器来说不太可能是一个功能。

    如果只是偶尔使用,那么效率对您来说可能并不重要。

    如果您确实可以选择先在服务器上的某个地方处理 mp4,那么您可以使用 ffmpeg 从 mp4 中提取 mp3 音频文件 - 例如,请参阅此答案:https://stackoverflow.com/a/36324719/334402

    值得注意的是,YouTube 通常希望使用自己的播放器来播放其视频,因此任何提取“原始”mp4 网址的方法都可能会停止工作,恕不另行通知。在此处查看“您不能”和“是的您可以”的答案以了解更多背景信息:Is there a Youtube API that gives only audio?

    (如果该问题被删除或链接破坏了“TL;DR”版本:这样做违反了 YouTube 的条款和条件,但仍有一些解决方案示例)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-14
      • 1970-01-01
      • 1970-01-01
      • 2016-04-10
      • 1970-01-01
      • 2015-06-29
      相关资源
      最近更新 更多