首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RTMP流媒体播放

RTMP流媒体播放
EN

Stack Overflow用户
提问于 2013-03-22 22:50:18
回答 4查看 11.6K关注 0票数 1

我在试着让rtmp流媒体正常工作。我有几乎相同的代码建议here

代码语言:javascript
复制
<html>
  <head>
    <script src="me/build/jquery.js"></script>
    <script src="me/build/mediaelement-and-player.js"></script>
    <link rel="stylesheet" href="me/build/mediaelementplayer.min.css" /></code>
  </head>
  <body>

<video>
     <source src="000109f6004b00a6004af03676235daa" type="video/rtmp">
</video>
<script>
$('video').mediaelementplayer({flashStreamer:"rtmp://thinkbuntu:1935/flvplayback/000109f6004b00a6004af03676235daa"});
</script>

  </body>
</html>

rtmp://thinkbuntu:1935/flvplayback是本地video服务器的URL,'000109f6004b00a6004af03676235daa‘是mp4视频。我知道本地服务器正在工作,因为我可以通过rtmpdump转储它,也可以使用jwplayer正确播放视频。使用flv、webm、ogv的媒体也不起作用。

我在Firefox中得到了这个错误(在Chrome中根本没有错误):

Specified "type" attribute of "video/rtmp" is not supported. Load of media resource 000109f6004b00a6004af03676235daa failed.

通过json属性配置也会以同样的方式失败。

我也尝试过这种方法,Replacing media source (http with rtmp) in MediaElementsJS based on browser capabilities,但它也失败了。

我做错了什么吗?

EN

回答 4

Stack Overflow用户

发布于 2013-05-15 23:18:30

我有几乎相同的设置,并且我的也可以工作。不确定是否需要任何属性,但我在视频标签上有一些属性。

(仅供参考,我猜额外的</code>标记只是从你粘贴到SO?)

代码语言:javascript
复制
    <video width="300" height="240" controls="controls" preload="none" id="stream">
         <source src="7901e75800f700d700437a45351f0214" type="video/rtmp">
    </video>

    <script type="text/javascript">
        $('#stream').mediaelementplayer({
            flashStreamer: "rtmp://170.93.143.150/rtplive/000109f6004b00a6004af03676235daa",
            plugins: ['flash', 'silverlight'],
            alwaysShowControls: false,
            success: function (mediaElement, domObject) {
                if (mediaElement.pluginType == 'flash') {
                    mediaElement.play();
                }
            },
        });
     </script>
票数 1
EN

Stack Overflow用户

发布于 2013-08-28 08:18:44

在这种情况下,您必须在视频标记中添加前缀"mp4:“

代码语言:javascript
复制
<video width="360" height="203" id="player1" src="mp4:sample" type="video/rtmp" controls="controls"></video>

<script>$('video').mediaelementplayer({flashStreamer:"rtmp://localhost/vod"});</script>
票数 1
EN

Stack Overflow用户

发布于 2013-08-13 23:31:40

我们必须通过端口嗅探RTMP流量来确定浏览器正在协商的确切内容,因为RTMP URL是唯一解释的: URL的一部分标识流服务端点,其余部分标识流资源,中间的某个部分是文件格式,后跟一个冒号。如果您不知道RTMP服务器的配置,您就无法知道URL中服务端点的结束位置和流的开始位置。这给我们带来了无尽的挫折,因为我们不知道服务器的配置。

在源标签中,我们将完整的RTMP URL作为'src‘属性(协议、服务端点、流和文件格式-一切,全部),而在flashStreamer属性中,我们仅标识服务端点(包括但不包括文件格式)。经过大量实验,这是唯一成功的属性组合。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15573307

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档