如何使用jwplayer获取在线流媒体视频的源网址

时间:2018-05-19 12:07:55

标签: php curl web-scraping video-streaming jwplayer

我一直在努力获取此视频的流媒体来源。

https://vidnode.net/streaming.php?id=MTU3MjM2&title=Hostiles&typesub=SUB&sub_es=true&sub=L2hvc3RpbGVzL2hvc3RpbGVzLnZ0dA==

它正在使用jwplayer,我可以通过chrome开发人员工具查看其来源。

https://video.xx.fbcdn.net/v/t42.9040-2/10000000_187709758618199_5004280148501987328_n.mp4?_nc_cat=0&efg=eyJybHIiOjE1MDAsInJsYSI6NDA5NiwidmVuY29kZV90YWciOiJzdmVfaGQifQ%3D%3D&rl=1500&vabr=571&oh=0bdc32a88a81edb15ea8470c6dc1b9fd&oe=5B00DA98

但有什么方法可以通过php以编程方式获取它吗?任何帮助都将受到高度赞赏。

3 个答案:

答案 0 :(得分:1)

视频源位于页面的HTML中,位于script部分:

    <div id="myVideo"></div>
    <script type="text/JavaScript">
        var playerInstance = jwplayer("myVideo");
        var countplayer = 1;
        var countcheck = 0;
        playerInstance.setup({
            sources:[{file: 'https://video.xx.fbcdn.net/v/t42.9040-2/10000000_187709758618199_5004280148501987328_n.mp4?_nc_cat=0&efg=eyJybHIiOjE1MDAsInJsYSI6NDA5NiwidmVuY29kZV90YWciOiJzdmVfaGQifQ%3D%3D&rl=1500&vabr=571&oh=0bdc32a88a81edb15ea8470c6dc1b9fd&oe=5B00DA98',label: 'auto P','type' : 'mp4'}],

您只需从第一个file数组中获取sources值。

preg_match("/sources:\[{file:\ '(.*?)'/s", $html, $match);
echo($match[1]);

给出了所寻求的结果:

https://video.xx.fbcdn.net/v/t42.9040-2/10000000_187709758618199_5004280148501987328_n.mp4?_nc_cat=0&efg=eyJybHIiOjE1MDAsInJsYSI6NDA5NiwidmVuY29kZV90YWciOiJzdmVfaGQifQ%3D%3D&rl=1500&vabr=571&oh=0bdc32a88a81edb15ea8470c6dc1b9fd&oe=5B00DA98

答案 1 :(得分:0)

不可能。不可能每次都从源头获得它。有时它是隐藏的,在这种情况下,您需要找到用于定义视频网址的变量,通常是这样的:

*var video_url ="...*

因此,您可以打开页面,播放视频直到完成,然后在控制台上运行:

console.log(video_url);

这是功能齐全的,不是伪造的。

答案 2 :(得分:0)