【问题标题】:Is it possible to display rtmp live stream video in Cesium?是否可以在 Cesium 中显示 rtmp 直播视频?
【发布时间】:2019-12-19 18:18:02
【问题描述】:

我想在 Cesium 中显示一个 rtmp 流视频。我创建了一个实体并使用<video> 元素作为它的材质。当我使用本地存储的视频(.mp4 格式)时效果很好,但是当我切换到 rtmp 源并通过 videojs 播放时,它可以在<video> 元素中播放,但不能在实体上播放。 rtmp使用flash播放,而普通视频不需要flash,不知是不是这个原因。

这是<video> 元素

<video id="rtmpStream" class="video-js" controls preload="auto" width="640" height="300" data-setup="{}" autoplay>
        <source src="rtmp://202.69.69.180:443/webcast/bshdlive-pc" type="rtmp/flv">
    </video>

【问题讨论】:

  • 是的。使用 HLS 而不是 RTMP。找到与该 RTMP 链接相同的广播的 HLS (m3u8) 版本。对于您的链接,您可以尝试http://202.69.67.66:443/webcast/bshdlive-pc/playlist.m3u8 甚至也可以尝试http://202.69.67.66:443/webcast/bshdlive-mobile/playlist.m3u8,但它不起作用,因为您选择了一个不受外部 http 请求保护的链接。我认为你必须分享或使用自己的播放器。

标签: javascript flash video.js cesium


【解决方案1】:

我有一个解决方案:

使用VLC等视频服务器接收流并作为http链接重新发送流,然后使用nginx代理或其他方式确保新发送的流与cesium应用程序在同一源下,之后只需在 cesium 中加载视频元素(使用 http 链接作为源),就像在官方沙盒演示中一样。似乎不适用于 rtmp,但适用于其他格式。

它可以工作,但似乎VLC在性能方面不是很好。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-07-03
    • 2022-10-20
    • 2015-03-09
    • 2010-09-25
    • 2015-11-27
    • 1970-01-01
    • 2010-11-23
    相关资源
    最近更新 更多