如何从youtube视频制作gif图像?

Chi*_*235 1 javascript php youtube gif youtube-api

有人帮我,我想用PHP代码开发一个网站.GIF-KING这是我的网站我已经完成jpeg图像给gif创建者,但如何从YouTube网址创建GIF图像,如yt2gif

我试图搜索谷歌,但没有给出足够的结果来满足我的要求.

我将代码上传视频发送给GIF创建者但无法找到制作YouTube网址的脚本给GIF创建者.

我有一个解决方案是首先使用YouTube API下载YouTube视频.然后将其转换为GIF图像.但这不是正确的方法.我无法在中间部分进行转换.始终从开始转换此外,无法从YouTube下载大量视频.

请参阅我从YouTube网址创建GIF图片的过程.

截图-1:

复制YouTube网址 在此输入图像描述

截图-2:

将其粘贴到网站http://www.gif-king.com/make-your-gif3,见下面的截图. 在此输入图像描述

点击Create Gifs一段时间后会出现视频详情.请参见截图-3.

截图-3:

显示YouTube上的视频详情

点击Make Gif此视频后将转换为GIF.

它正在为一个小视频工作.但不适用于大视频.

我的PHP代码:

ajax.php

if(isset($_REQUEST['vid'])){
    $vidID=$_REQUEST['vid'];
    if($vidID){
        include('curl.php');
        include('youtube.php');
        $tube = new youtube();

        $links = $tube->get("http://www.youtube.com/watch?v=".$vidID);
        $getVideo=$links[3]['url']; //Get the avi video from youtube 
        $cate=mysql_query("select * from category ORDER BY id ");
        while($categoryName=mysql_fetch_array($cate)){
            $getCatRes .= '<option value="'.$categoryName['id'].'">'.$categoryName['name'].'</option>';
        }
        if($getVideo) {
            $url = "http://gdata.youtube.com/feeds/api/videos/". $vidID;
            $doc = new DOMDocument;
            $doc->load($url);
            $title = $doc->getElementsByTagName("title")->item(0)->nodeValue;
            $duration = $doc->getElementsByTagName('duration')->item(0)->getAttribute('seconds');
            if($duration > 1200){
                $array[] = array('result'=>'error','message'=>'ERROR!!! Maximum 20 minutes video allowed');
            }
            else{
            $newVideo = "gifking_".time().".avi";
            $videoUploaded=file_put_contents("myvideo/".$newVideo,file_get_contents($getVideo));
            if($videoUploaded){
                    $video='<iframe width="360" height="240" frameborder="0" allowfullscreen="" src="http://www.youtube.com/embed/'.$vidID.'?enablejsapi=1&amp;playerapiid=ytplayer&amp;version=3&amp;cc_load_policy=0&amp;iv_load_policy=3&amp;modestbranding=1&amp;rel=0&amp;showinfo=0&amp;theme=light"></iframe>';

                    $video_title='<input type="text" class="add-gif-textbox" name="title" id="title" placeholder="Title" value="'.$title.'"  />';
                    $category='<select class="add-gif-dropdown" id="cat_id" name="cat_id">
                                  '.$getCatRes.'
                                  </select>';
                    $tag='<input type="text" class="add-gif-textbox" name="tag" id="tag" placeholder="tiger,book,flower" />';
                    $submitBtn='<input id="button" class="button1" type="submit" value="Make Gif" name="submit">';

                    $array[] = array('result'=>'success','title'=>$video_title,'category'=>$category,'video'=>$video,'duration'=>$duration,'tag'=>$tag,'filename'=>$newVideo,'submit_btn'=>$submitBtn);
                }
                else{
                    $array[] = array('result'=>'error','message'=>'ERROR!!! Uploading image please try again');
                }
            }
        }
        else{
            $array[] = array('result'=>'error','message'=>'ERROR!!! Invalid video id');
        }
        echo json_encode($array);
    }
}
Run Code Online (Sandbox Code Playgroud)

请建议我如何在PHP代码中创建它?

hak*_*kre 12

它很简单,很幸运!这是一个简单的逐步程序:

  1. 您首先从Youtube(或任何其他视频网站下载视频,不要太具体)下载视频.这可以通过下载程序完成.那些存在,有流行的.

  2. 那你需要一个视频转换器程序.那些存在,有流行的.有了它,您可以将每个X帧提取为图像.注意使时间正确,以便了解每个X帧之间的持续时间(以毫秒为单位).

  3. 然后,您将所提取帧的所有图像文件再次与可以创建GIF动画的软件合并.那些存在,有流行的.现在请注意在帧之间设置正确的时间.

  4. 然后将gif图像保存为特定文件名.

好消息:你完成了.

就这个程序而言(编程问题),您可以找到上面列表中列出的步骤.

实施取决于现场偏离主题的工具建议(但这不应该显示给你,因为上面的每一步都在互联网中详细解释,你似乎很聪明地使用互联网,否则你不会没有问过Stackoverflow.

祝好运并玩得开心点.让我们知道它是如何成功的!

  • 从技术上讲,你正在使用该网站程序下载yourtube视频并将其转换为gif.所以,即使这样你下载视频,虽然不是你个人而不是你的任何工具,而是一些远程服务上的带壁工具.但在幕后,这就是发生的事情.因此,如果您想自己动手,请使用该软件或其他软件.正如我在回答中所写:这些程序确实存在. (2认同)