如何从控制台播放mpeg-dash音频流?

时间:2017-11-01 13:36:49

标签: streaming vlc mpeg-dash mpv

有没有办法从控制台播放mpeg-dash音频流?这是一个示例stream

能够强制特定的流质量也是一件好事。

我尝试了mpvcvlc,但他们似乎无法解析播放列表并组装块。

2 个答案:

答案 0 :(得分:2)

正如我的评论中所述,现在可以使用ffmpeg的ffplay http://dash.edgesuite.net/dash264/TestCases/1a/netflix/exMPD_BIP_TC1.mpd 实用程序从命令行播放DASH内容。在ffmpeg的早期版本中,并非总是启用DASH播放-有关详细信息,请参见我的related question,例如:

ffmpeg

还可以使用ffmpeg -i http://dash.edgesuite.net/dash264/TestCases/1a/netflix/exMPD_BIP_TC1.mpd exMPD_BIP_TC1.mp4 处理DASH媒体-因此您可以轻松地使用它来下载(或转换)DASH内容,例如:

{{1}}

答案 1 :(得分:0)

更新: VLC支持短划线流

最新版本的VLC能够处理短划线流,因此终端调用将是:

cvlc https://a.files.bbci.co.uk/media/live/manifesto/audio/simulcast/dash/nonuk/dash_low/aks/bbc_world_service.mpd

Osmo4(gpac)

作为osmo4项目一部分的

gpac可以播放破折号MPD文件,但遗憾的是,它不适用于纯音频流的无头模式。

dash.js

这是需要浏览器的官方dash.js库。是否可以在nodejs下工作还不清楚。

以下是播放改编自dash.js readme的音频/视频短划线流的最小实现。

<!doctype html>
<html>
<head>
    <title>Dash.js</title>
    <style>
        video {
            width: 640px;
            height: 360px;
        }
    </style>
</head>
<body>
<video id="videoPlayer" data-dashjs-player autoplay controls src="https://a.files.bbci.co.uk/media/live/manifesto/audio/simulcast/dash/nonuk/dash_low/aks/bbc_world_service.mpd">
</video>

<script src="//cdn.dashjs.org/latest/dash.all.min.js"></script>
</body>
</html>
  

注意:通过file:///协议从本地文件系统打开时,上述文件将不起作用。它需要一个Web服务器; here列出的任何oneliners都可以。

使用Chrome / Chromium Headless

从版本59开始,Google Chrome / Chromium可以在无头模式下运行,这意味着它可以在无头系统上使用。由于没有用于dash.js的“官方”文本模式客户端,在终端中播放短划线音频的重量级方法将使用无头铬/铬打开它:

chromium-browser --headless --disable-gpu --repl https://a.files.bbci.co.uk/media/live/manifesto/audio/simulcast/dash/nonuk/dash_low/aks/bbc_world_service.mpd

偶尔铬/铬会在第一次调用时失败,--repl选项似乎允许它最终开始播放。 repl还允许您键入任意javascript,例如document.location.reload()