【问题标题】:HLS Videostreaming in AndroidAndroid 中的 HLS 视频流
【发布时间】:2015-03-11 09:02:08
【问题描述】:

我正在尝试在 android 中播放 .m3u8 HLS 流。它工作正常。要检查自适应比特率流,我在播放视频时切换网络。我正在连接 wifi 和 3G。视频开始在 WIFI 中播放。当我关闭 WIFI 时,播放器会播放视频,直到缓冲数据结束并被关闭。

我的问题是

  • 为什么播放器不使用第二个连接并继续 流媒体?
  • 如何在android端处理这种情况?

我们将不胜感激。

【问题讨论】:

  • 你试过VLC player同样的场景吗?
  • 嘿,我在这里使用加密视频(忘了提这个)。我在 vlc 中给出了我在应用程序中使用的相同视频 url,它甚至没有加载视频。
  • 也许,加密也是切换数据连接时流媒体中断的原因?
  • 玩家被解雇是什么意思?我自己使用的解决方法是注册 OnErrorListener。媒体播放器如果无法加载将调用 onError() 回调,您可以在那里重试,即再次加载媒体并 seekTo 上次播放位置从您停止的位置恢复。

标签: android video-streaming android-mediaplayer android-video-player http-live-streaming


【解决方案1】:

您在这个问题中有多个变量。 HLS 播放是问题还是加密视频是问题,还是切换网络本身是问题。 所以首先, 1. 在 WiFi 中播放 youtube 视频并关闭 wifi 路由器以查看视频在缓冲后继续播放。 (选择更长的视频和足够的播放量,以真正确保缓冲区结束并且仍在播放。或者检查网络日志以确保 100% 确定) 如果一切正常,那么我们知道网络切换不是问题。 2. 如果第 1 步通过,请检查播放器上的未加密视频并进行测试。 (例如“http://edu.infozen.cshls.lldns.net/infozen/edu/edu.m3u8”) 3.如果第2步失败,可能是你的播放器。 4. 如果通过了第 2 步,请检查您是否使用标准 aes 加密或任何可能停止流式传输的 DRM 类型,例如更改。 对于所有这一切,网络捕获工具是一种很好的方法。它可以告诉您是否提出了请求。如果做了不管成功与否。 (Charles Proxy 和 Fiddler 都是简单的工具,你也可以使用 wireshark)

【讨论】:

    猜你喜欢
    • 2017-09-03
    • 2015-11-22
    • 1970-01-01
    • 2022-01-24
    • 2022-08-09
    • 2012-02-29
    • 1970-01-01
    • 2020-10-19
    • 2016-11-08
    相关资源
    最近更新 更多