【问题标题】:Icecast streamming not playingIcecast 流媒体无法播放
【发布时间】:2021-03-04 03:44:51
【问题描述】:

我正在创建应用程序以将音频发送到 icecast 服务器。在这里,我连接到 icecast 服务器并将音频数据发送到服务器。但是在服务器上看到了Streaming,但是在浏览器中却没有播放,为什么?

是否需要将该数据编码为任何格式?

【问题讨论】:

  • 进行数据包捕获,这样我们就可以看到到目前为止您实际做了什么。在没有信息的情况下无法帮助您调试。
  • @Brad 我对数据包捕获一无所知。我刚刚创建了一个连接到icecast服务器的代码,我看到安装点已设置并且流式传输正在浏览器中显示。但是直到我停止才播放发送音频数据。当我停止发送音频数据时,它会尝试播放但没有播放。问题不在于媒体播放器,实际上我想问是否需要将该数据编码为 mp3 或 oggg。
  • 您需要选择浏览器支持的编解码器。
  • 我播放了该文件,并且在 media player classic 中显示以下错误。
  • 您必须对数据进行编码。您不能发送原始 PCM 样本。您需要在移动设备上进行编码以节省带宽。您必须在将数据发送到 Icecast 服务器之前进行此编码。

标签: android audio-streaming icecast


【解决方案1】:

如果您在使用基于网络的播放器时遇到问题,您需要更具体地说明您想要做什么,并提供一些代码供我们查看。

您还应该首先确认流在兼容的桌面应用中正确播放。

转到http://example.com:8000/admin 并验证您要发送到的挂载点是否已列出(这表明它有一个已连接的源) - 如果有,则会有一个M3U(用于流式传输 MP3)和XSPF(用于 Ogg) 链接在右侧,您可以使用该链接进行测试。

在 Android 上播放 Icecast 流需要安装 Just Playlists 应用或同等应用。

【讨论】:

    【解决方案2】:

    问题是我正在将音频 PCM 数据发送到服务器。现在我将该 PCM 数据编码为 ogg 格式以发送到服务器。现在它工作正常。

    【讨论】:

      【解决方案3】:

      问题在于音频编码。设置编码数据如下

      捕获设备输入

      ffmpeg -list_devices true -f dshow -i dummy
      

      从设备或其他协议设置输入。 示例:

      ffplay -f dshow -i audio="Microphone (FaceCam 1000X)"
      

      然后串流

      ffmpeg -stats -report -f dshow -i audio="Microphone (FaceCam 1000X)" -c:a flac -compression_level 10 -ar 192000 -legacy_icecast 1 -content_type application/ogg -ice_name "Optional Name" -f ogg icecast://source:password_for_streaming@127.0.0.1:8000/live.ogg
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-10-08
        相关资源
        最近更新 更多