【问题标题】:How to get RTMP URL如何获取 RTMP 网址
【发布时间】:2016-05-01 14:43:39
【问题描述】:

我知道这个问题被问了很多,其中很多都是通过查看源代码来回答的,在我的情况下它不起作用,使用 Internet 下载管理器,我得到了以下链接:

rtmp://178.162.202.6/live/fsdlfmlll2?id=247301&pk=a9930efdccdd78b9c127ef17a4150224b859aa6d3ec13c11129a10fd54edf7dd

此链接仅在 IDM 上有效,但在播放器上无效,我正在尝试从 HERE 获取 rtmp(按任何流媒体项目,以获得更新的链接)。

源代码不包含任何与 rtmp 相关的内容,“检查元素/网络”正在添加这些内容:

http://www3.javabin.xyz/swf/57163b78560f4-7246945710.swf
http://www3.javabin.xyz/swf/833.m3u8?sf=NTcxNjNiNzg1NjBmNA==&token=M3mEC-3m9nJVB1WzLxTN4Q

【问题讨论】:

  • 或者一种获取该链接并将其嵌入播放器的方法。
  • 你用什么编程语言制作播放器?示例:您想嵌入 HTML5 视频标签???或者你需要C++代码来提取RTMP数据???
  • 其实我正在准备一个用 HTML5 编写的代码
  • IDM 捕获播放视频页面的 cookie,如果您想使用该链接,请附加 cookie

标签: streaming rtmp


【解决方案1】:

你有两个选择。显示的代码可以通过测试here预览。

(1) 直接从 DailyMotion 嵌入视频(使用 i-frame):

<html>
<body>

<iframe width="720" height="480"
src="http://www.dailymotion.com/embed/video/x482s3s?autoplay=0">
</iframe>

</body>
</html>

如果您希望它自动播放,请使用autoplay=1

(2) 从中间人(链接下载器)获取 URL:

您想要的视频受服务器保护。这意味着服务器在这里为每个连接制作一个临时访问令牌。今天的一个链接明天并不总是有效,因为该令牌已过期。所以每次你必须知道如何创建一个新的访问令牌。由于这很困难,我们使用一个已经可以为我们完成的下一个系统(中间人)....

例如,使用这个下载器站点作为中间人,GetVideo.at,您可以通过提供 URL http://getvideo.at/search?q=VIDEO_URL 来获取 JSON 链接数组,其中 VIDEO_URL 是指向视频页面的链接(Dailymotion 、Youtube、Vimeo 等)。

(2.1)
因此,关于您的 Dailymotion 视频,该链接如下所示:
http://getvideo.at/search?q=http://www.dailymotion.com/embed/video/x482s3s

当您访问上述链接时,您会得到一个 JSON 对象(文本),如下所示:

{"video_formats": [{"quality": "240", "filename": "skipback_20160501_1600 (06).mp4", "url": "/download?id=064398ee-1d20-11e6-865b-06c0b400153d", "format": "mp4"}, {"quality": "384", "filename": "skipback_20160501_1600 (06).mp4", "url": "/download?id=064405a4-1d20-11e6-865b-06c0b400153d", "format": "mp4"}, {"quality": "480", "filename": "skipback_20160501_1600 (06).mp4", "url": "/download?id=06442dd6-1d20-11e6-865b-06c0b400153d", "format": "mp4"}, {"quality": "720", "filename": "skipback_20160501_1600 (06).mp4", "url": "/download?id=064462a6-1d20-11e6-865b-06c0b400153d", "format": "mp4"}], "thumbnail": "https://s1-ssl.dmcdn.net/Wp3_C.jpg", "audio_formats": [], "duration": "02:42", "title": "skipback_20160501_1600 (06)"}

(2.2)
如您所见,对于质量:240p 视频,URL 为:
/download?id=064398ee-1d20-11e6-865b-06c0b400153d

所以要播放 MP4,我们将 http://getvideo.at 与从 JSON 中显示的 URL 中提取的文本结合起来。所以 HTML5 视频标签 (src=) 中可播放的最终链接是这样的:
http://getvideo.at/download?id=064398ee-1d20-11e6-865b-06c0b400153d

(2.3)
设置视频标签时使用&lt;source src="http://rest of link"

<html> 
<body> 

<video id="myVideo" width="400" controls>
  <source src="http://getvideo.at/download?id=471c4a8a-1b24-11e6-9917-06c0b400153d" type="video/mp4">
  Your browser does not support HTML5 video.
</video>

<p> Original Source : DailyMotion. </p>

<script>
var vid = document.getElementById("myVideo");
vid.volume = 0.2;
</script>

</body> 
</html>

注意:我不使用 Ruby,要使用第二种方法,您的应用必须始终检查 Getvideo.at 链接是否正确链接的 JSON。 JSON 只是文本......所以要么使用 Ruby 的 JSON 解析器,要么只使用字符串函数来提取链接文本。如果您将该链接放入一个字符串变量,您可以在视频标签中执行如下操作:
&lt;source src=$myLinkString type="video/mp4"&gt;

【讨论】:

  • 感谢回答,希望在赏金到期前回答,对于第二种方法,什么是“中间人”?我没找到,我找到的是 Ruby 框架,不是链接下载软件。
  • 我进行了编辑以展示如何使用“中间人”服务来获取链接。我不使用 Ruby,所以我不能告诉你如何提取信息,我已经详细解释了,所以也许你可以用它做点什么。重要的是获取链接文本作为响应(也许您的 Ruby 应用程序必须看起来像对其服务器的浏览器请求?)
  • PS:不用担心赏金。也许你接受它仍然可以奖励,否则我认为系统实际上已经吞下了它。我只是回答,因为这是一个有趣的问题,我学到了有一天我可能需要的东西..
  • 我希望我能给你无限的支持,很棒的赏金系统拿了赏金并没有持有它,我只需要 2 小时的流链接,所以过期限制不是问题为了我。非常感谢您的详细,真棒帮助! .
【解决方案2】:

我假设你做了这样的事情(查看 HTML)来查找 rtmp 地址: https://msankhala.wordpress.com/2014/10/01/save-flash-player-video-rtmp-streaming-with-vlc-player/

我在 iframe 中深入了四层,但没有找到那个地址。你试过 VLC 播放器吗?

祝你好运。

【讨论】:

  • 我需要将它嵌入到 iframe 中,而不是在 VLC 播放器上播放。我试图在 VLC 播放器上启动它,它确实有效,但在 iframe 中它没有。现在链接也失效了,我要更新它们。
猜你喜欢
  • 2015-10-26
  • 2010-10-28
  • 2011-01-26
  • 2018-09-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-21
  • 1970-01-01
相关资源
最近更新 更多