相关疑难解决方法(0)

我想通过PHP从YouTube获得直接URL时出现签名问题

经过研究,我如何从YouTube视频中获得直接URL,就像这样一个问题:如何从YouTube URL中获得视频的直接URL?[关闭]

我终于做了一个简单的脚本,用php从YouTube视频中生成了一个直接URL,它可以正常工作,但不适用于所有视频

它不适用于“签名”视频,

这是我的代码:

if(isset($_GET['url']) && $_GET['url'] != ""){
    parse_str( parse_url( $_GET['url'], PHP_URL_QUERY ), $vars );


    $id=$vars['v'];
    $dt=file_get_contents("https://www.youtube.com/get_video_info?video_id=$id&el=embedded&ps=default&eurl=&gl=US&hl=en");
    //var_dump(explode("&",$dt));
    if (strpos($dt, 'status=fail') !== false) {

        $x=explode("&",$dt);
        $t=array(); $g=array(); $h=array();

        foreach($x as $r){
            $c=explode("=",$r);
            $n=$c[0]; $v=$c[1];
            $y=urldecode($v);
            $t[$n]=$v;
        }

            $x=explode("&",$dt);
            foreach($x as $r){
                $c=explode("=",$r);
                $n=$c[0]; $v=$c[1];
                $h[$n]=urldecode($v);
            }
            $g[]=$h;
            $g[0]['error'] = true;
            $g[0]['instagram'] = "egy.js";
            $g[0]['apiMadeBy'] = 'El-zahaby';
        echo json_encode($g,JSON_PRETTY_PRINT);

    }else{

        $x=explode("&",$dt);
        $t=array(); $g=array(); $h=array();

        foreach($x as $r){
            $c=explode("=",$r);
            $n=$c[0]; $v=$c[1];
            $y=urldecode($v);
            $t[$n]=$v;
        }
        $streams = explode(',',urldecode($t['url_encoded_fmt_stream_map']));
        foreach($streams as …
Run Code Online (Sandbox Code Playgroud)

php youtube youtube-api youtube-data-api

9
推荐指数
1
解决办法
1783
查看次数

在 react-native-video 中播放 youtube 视频

我如何在 react-native-video 上播放 youtube 视频,

我不想在 react-native-youtube 或 webview 中播放视频,

react-native react-native-video

5
推荐指数
4
解决办法
2万
查看次数