我想要访问西班牙电视台 (RTVE) 的 telediario 视频流 URL,您可以在这里的 Flash 播放器中找到它:http://www.rtve.es/alacarta/videos/telediario/
我想用 Linux 脚本来做这件事,没有一个网络浏览器。
使用 Firefox 网络浏览器和Firebug 插件mp4
使用我在视频播放过程中搜索的网络分析选项卡(因为它是 MP4 视频流)。我发现了一个 URL,例如
http://mvod.lvlt.rtve.es/resources/TE_NGVA/mp4/5/9/1377759930795.mp4?aksessionid=1377770543247_372201
这是视频流Telediario - 8 小时 - 29/08/13。
我已经阅读了问题如何查找 Flash 播放器后面的流,但是只有浏览器解决方案(使用wireshark找流需要浏览器播放视频)。
还有问题在视频流媒体网站上,如何保护/隐藏 Flash 文件 URL?看似类似,但没有明确的答案。
所以我想要的是:我如何或在哪里可以在网站源中找到这个 mp4-URL?
更新 1:不需要 AK-session-ID。这意味着视频 URL 是昨天的
http://mvod.lvlt.rtve.es/resources/TE_NGVA/mp4/5/9/1377759930795.mp4
还有今天
http://mvod.lvlt.rtve.es/resources/TE_NGVA/mp4/7/4/1377846494447.mp4
同时,唯一相似的名称/数字是视频预览快照的 URL(昨天)
http://img.irtve.es/imagenes/telediario-8-horas-29-08-13/1377760554521.JPG
还有今天
http://img.irtve.es/imagenes/telediario-8-horas-30-08-13/1377847608923.JPG
更新 2:我现在已经提取了播放 Flash 视频的媒体盒。它看起来像
<html><body>
<div>
<object type="application/x-shockwave-flash" height="100%" width="100%" data="http://www.rtve.es//swf/4.2.8/RTVEPlayerVideo.swf">
<param name="movie" value="/swf/4.2.8/RTVEPlayerVideo.swf"/>
<param name="allowScriptAccess" value="always">
<param name="allowFullScreen" value="true">
<param name="flashvars" value="assetID=2007594_es_videos&location=alacarta_videos">
<!-- solo video-->
<param name="wmode" value="opaque">
<param name="quality" value="high">
</object>
</div>
</body></html>
每天唯一的区别似乎就是assetID
。
当我加载这个简单的网页时,一个文件
http://www.rtve.es/api/videos/2008358/config/alacarta_videos.json
已加载,其中数字为。我仍然找不到视频流 URL 和json 文件assetID
之间的联系。assetID
更新 3:天哪!URL 上的奇怪数字是自 1970-01-01 00:00:00 UTC 以来的秒数。因为 GNU 命令
date +%s
结果是 1377856336,与 URL 号码非常相似。但缺少最后三位数字。
更新 4:我已经反编译了播放器的源代码(flash 文件)http://www.rtve.es//swf/4.2.8/RTVEPlayerVideo.swf
。没有出现视频流域http://mvod.lvlt.rtve.es
,这意味着播放器必须从其他来源获取此信息。也许是更新 2 中提到的 json 文件。
答案1
我是 Descargavideos.tv 的网站管理员,我已经实现了一个脚本来做你需要的事情,但是是用 php 编写的。我无法帮助你用 bash 编写脚本,但你可以在这里查看 php 脚本并使用它来编写 bash 脚本https://github.com/forestrf/Descargavideos/blob/master/secundario/rtve.php 有很多遗留代码,是我在知道干净代码是什么之前编写的代码和补丁,但它可以工作并且有很多注释,所以它可能对你所需要的有用。