没有获得视频的嵌入代码


Not getting a embedded code for video

在我的项目中,用户将通过粘贴另一个网站的URL上传视频。我尝试了嵌入,但没有正常工作,因为它为特定的网站,YouTube等提供了嵌入代码。我想做完全像这个网站http://www.myvidster.com/.我尝试使用cURL代码:-

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $video_url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 
curl_setopt($ch, CURLOPT_VERBOSE, true); // Display communication with server
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$json_reply = curl_exec($ch);
curl_close($ch);

CCD_ 2编码为:

$video_url = $_POST['video_url'];
$html = file_get_contents($video_url,true);

但使用curl,我只得到了一些网站的HTML部分。我试了一个星期,但还是没有结果。有可能从每个网站获得视频的嵌入代码吗?或者我做错了什么?

对于所有视频流网站来说,没有一种单一的通用方法可以做到这一点——每个网站都有点不同,并且不是所有网站都支持嵌入式视图。

您应该查看OEM标准

该协议允许您以标准统一的方式从支持它的多个视频站点接收嵌入代码。点击链接查看实施OEM 的站点列表

http://oembed.com/#section7

对于其他不支持此标准的网站,您通常可以通过开放图协议(meta-og:…)获取嵌入代码,或者为每个网站编写html解析规则来提取嵌入

您可以尝试检索og:video元标记,确保og:video:type元标记是application/x-shockwave-flash

然后你可以很容易地嵌入它。虽然没有完全自动的方法,但有时你需要为特定的网站实施特定的方法,因为并非所有视频网站都共享相同的"标准"。

您需要重新编码视频,以确保它们将在浏览器中查看。一个很好的命令行软件是FFmpeg。最好的是,它是免费的!

我的网站www.youtubetutsite.com也有类似的事情要处理。尽管我只使用YouTube。

从myvidster.com上看,他们并没有播放所有的视频。一个是他们不能玩,他们有一个截图,可以链接到专有网站的游戏页面。

我的方法是有一个单一的嵌入播放器代码,但从选择中动态注入唯一的视频ID。这就是我为我的网站所做的。

您需要做的是创建一个数据库,其中包含(仅作为示例)VIDEO_IDVIDEO_LINKPLAYER_TO_USEOPTIONAL_URL等字段,具体取决于您的需要。根据您的视频,有些选择可能是空白的,因为并非每个视频都使用。

困难的部分是只从你正在处理的网站中获取唯一的视频ID(你可以让用户选择他们正在上传的网站,以便针对你的代码)。有了YouTube,它相当简单(即http://www.youtube.com/watch?v=HtPpaR3H8d8&feature=g-user-lss),但我还没有查看所有其他网站来了解它们是如何索引的。

从那里,您可以加载相应的播放器与选择的视频ID。不确定这是否对你有帮助,但我希望能。