RTSP youtube链接

我已经遍布谷歌,我很难从youtubevideo获取rtsp链接给出VIDEO_ID。

我很困惑如何使用该ID,然后解析谷歌的链接。

感谢您的时间和精力。

我find了这篇博文 ,也许是它的一个起点。 如果您继续使用链接,则会获得另一种格式,您可以在其中findrtsp链接。

编辑:经过WarrenFaith发布的内容。 向他提出的建议

这就是你如何获得rtsp链接。

  1. 发出请求
  2. 解析3gp内容的数据
    • 它还为您提供您可能想要的评级和所有好东西。

希望能帮到你们

 Note:Working only android mobile(Not in Tablate) private class YourAsyncTask extends AsyncTask`enter code here` { ProgressDialog progressDialog; @Override protected void onPreExecute() { super.onPreExecute(); progressDialog = ProgressDialog.show(AlertDetail.this, "", "Loading Video wait...", true); } @Override protected Void doInBackground(Void... params) { try { String url = "http://www.youtube.com/watch?v=1FJHYqE0RDg"; videoUrl = getUrlVideoRTSP(url); Log.e("Video url for playing=========>>>>>", videoUrl); } catch (Exception e) { Log.e("Login Soap Calling in Exception", e.toString()); } return null; } @Override protected void onPostExecute(Void result) { super.onPostExecute(result); progressDialog.dismiss(); /* videoView.setVideoURI(Uri.parse("rtsp://v4.cache1.c.youtube.com/CiILENy73wIaGQk4RDShYkdS1BMYDSANFEgGUgZ2aWRlb3MM/0/0/0/video.3gp")); videoView.setMediaController(new MediaController(AlertDetail.this)); videoView.requestFocus(); videoView.start();*/ videoView.setVideoURI(Uri.parse(videoUrl)); MediaController mc = new MediaController(AlertDetail.this); videoView.setMediaController(mc); videoView.requestFocus(); videoView.start(); mc.show(); } } public static String getUrlVideoRTSP(String urlYoutube) { try { String gdy = "http://gdata.youtube.com/feeds/api/videos/"; DocumentBuilder documentBuilder = DocumentBuilderFactory.newInstance().newDocumentBuilder(); String id = extractYoutubeId(urlYoutube); URL url = new URL(gdy + id); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); Document doc = documentBuilder.parse(connection.getInputStream()); Element el = doc.getDocumentElement(); NodeList list = el.getElementsByTagName("media:content");///media:content String cursor = urlYoutube; for (int i = 0; i < list.getLength(); i++) { Node node = list.item(i); if (node != null) { NamedNodeMap nodeMap = node.getAttributes(); HashMap maps = new HashMap(); for (int j = 0; j < nodeMap.getLength(); j++) { Attr att = (Attr) nodeMap.item(j); maps.put(att.getName(), att.getValue()); } if (maps.containsKey("yt:format")) { String f = maps.get("yt:format"); if (maps.containsKey("url")) { cursor = maps.get("url"); } if (f.equals("1")) return cursor; } } } return cursor; } catch (Exception ex) { Log.e("Get Url Video RTSP Exception======>>", ex.toString()); } return urlYoutube; } protected static String extractYoutubeId(String url) throws MalformedURLException { String id = null; try { String query = new URL(url).getQuery(); if (query != null) { String[] param = query.split("&"); for (String row : param) { String[] param1 = row.split("="); if (param1[0].equals("v")) { id = param1[1]; } } } else { if (url.contains("embed")) { id = url.substring(url.lastIndexOf("/") + 1); } } } catch (Exception ex) { Log.e("Exception", ex.toString()); } return id; } 

获取rtsp链接的简单方法应该可以轻松移植到任何平台。

 String video_id = "1FJHYqE0RDg"; String gdata = "http://gdata.youtube.com/feeds/api/videos/"; String youtube_response = Util.getUrlResponse(gdata+video_id); // just a simple HTTP GET String rtsp_link = "rtsp:"+ StringUtils.split(StringUtils.split(youtube_response, "rtsp:")[1], ".3gp")[0] + ".3gp"; 

没有程序,如果你想获取YOUTUBE RTSP链接那么

  1. 转到www.youtube.com

  2. 选择你想要的rtsp链接的video….

  3. 转到该video的url…..

  4. 从url中获取id,即http://www.youtube.com/watch?v= 6acRHWnfZAE ((从“=”开始的ID,直到最后…在上述情况下6acRHWnfZAE是id示例中的video

  5. 现在打开http://gdata.youtube.com/feeds/api/videos/并在此url粘贴您的video的ID ……

  6. 页面将打开

  7. 现在搜索媒体:该页面中的内容将有至少3个属性,一个将是HTTP n,另外两个将是rtsp格式1 n 格式6 ); 根据我的经验, 格式1仅用于video,,,,格式6用于音频nvideo