代码之家  ›  专栏  ›  技术社区  ›  ccpizza

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

  •  1
  • ccpizza  · 技术社区  · 7 年前

    有没有办法玩 mpeg-dash 来自控制台的音频流?这是一个例子 stream .

    能够强制实现特定的流质量也是很好的。

    我试过了 mpv , cvlc

    2 回复  |  直到 7 年前
        1
  •  2
  •   Pierz    4 年前

    正如我在评论中提到的,现在可以使用ffmpeg ffplay 用于从命令行播放短线内容的实用程序。在早期版本的ffmpeg中,并非始终启用DASH播放-请参阅我的 related question 详情如:

    ffplay  http://dash.edgesuite.net/dash264/TestCases/1a/netflix/exMPD_BIP_TC1.mpd
    

    ffmpeg 处理DASH媒体-以便您可以轻松使用它下载(或转换)DASH内容,例如:

    ffmpeg -i http://dash.edgesuite.net/dash264/TestCases/1a/netflix/exMPD_BIP_TC1.mpd exMPD_BIP_TC1.mp4
    
        2
  •  0
  •   ccpizza    5 年前

    更新: VLC 支持dash流媒体

    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 project可以播放dash MPD文件,但遗憾的是,对于纯音频流,它不能在无头模式下工作。

    猛冲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服务器;列出的任何OneLiner here 可以。

    使用铬/铬无头

    从59版开始,谷歌Chrome/Chrome可以在无头模式下运行,这意味着它可以在无头系统上使用。因为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
    

    有时chrome/chrome在第一次调用时会失败 --repl 这个选项似乎允许它最终开始发挥作用。repl还允许您键入任意javascript,例如。 document.location.reload() .