2012-01-03 3 views
12

Я перешел на google, и у меня возникли проблемы с получением ссылки rtsp с видео с YouTube, чтобы получить VIDEO_ID.RTSP youtube link

Я смущен тем, как использовать этот идентификатор, а затем разобрать Google для ссылки.

Благодарим вас за внимание и время.

ответ

13

Я нашел это blog entry, возможно, его отправной точкой. Если вы следуете за ссылками <id>, вы получите другой формат, в котором вы должны найти ссылку rtsp.

EDIT: после прохождения через то, что опубликовал WarrenFaith. PROPS TO HIM

вот как вы получаете ссылку rtsp.

  1. с просьбой об
  2. разобрать, что данные по содержанию 3gp
    • Она также предоставляет вам с рейтингом и все, что хорошие вещи, которые вы можете захотеть.

надежда, что поможет вам, ребята

+0

спасибо WarrenFaith: D – bluejamesbond

+0

идентификатор «Q-GLuydiMe4» не будет открыт через этот путь –

+0

Идентификатор Q-GLuydiMe4 не откроется этим путем? почему это, знаете ли вы эту проблему? –

6
Note:Working only android mobile(Not in Tablate) 

private class YourAsyncTask extends AsyncTask<Void, Void, Void>`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<String, String> maps = new HashMap<String, String>(); 
        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; 
    } 
2

короткий и простой способ получить ссылку 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"; 
+0

Идентификатор "Q-GLuydiMe4" не открывается таким образом. Зачем ? –

+0

Идентификатор Q-GLuydiMe4 не откроется этим путем? Вы можете объяснить ? –

+0

Возможно, на видео есть другие ограничения. – Ajibola

1

без программы, если и хотят, чтобы принести ссылку YOUTUBE RTSP затем

  1. GO TO www.youtube.com

  2. выберите нужное видео RTSP ссылку и хотите ... .

  3. перейти к URL этого видео .....

  4. извлечь идентификатор из URL т.е. http://www.youtube.com/watch?v=6acRHWnfZAE ((идентификатор начинается с «=» и увеличивается до конца ... в приведенном выше случае 6acRHWnfZAE является идентификатор видео в примере

  5. теперь открыт http://gdata.youtube.com/feeds/api/videos/ и после этого url вставьте идентификатор вашего видео ......

  6. страница откроется

  7. теперь искать для СМИ: содержание в этой странице будет по крайней мере 3 атрибут один будет HTTP п два других будут RTSP (формат 1 n формат 6); согласно моему опыту формат 1 только для видео ,,,, п формат 6 для аудио н видео и

+6

Ответ от youtube: больше недоступен – seoul

Смежные вопросы