我如何使用 jwplayer 获取在线流媒体视频的来源 url

How can i get source url of online streaming video using 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 以编程方式抓取和获取它吗?任何帮助将不胜感激。

视频源就在页面 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'}],

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

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

没办法。不可能每次都从源头获取它。有时它是隐藏的,在这种情况下,您需要找到定义视频的变量 url,通常类似于:

*var video_url ="...*

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

console.log(video_url);

这个是全功能的,不是假的。