Cómo obtener RTSP Enlaces Android
Tengo enlaces de tubo como http://www.youtube.com/v/YR71GnQ4CU4?f=videos&app=youtube_gdata , y luego cómo convertirlo a formato RTSP para reproducir en VideoView.
Estoy buscando gdata api con esto: http://gdata.youtube.com/feeds/api/videos?&max-results=20&v=2&format=1&q= "+ URLEncoder.encode (activity.criteria) pero no puedo encontrar cómo llegar URL de RTSP relacionada.
- Ejecución de una aplicación de Android en la parte superior de la pantalla de bloqueo
- Android youtube en la vista web
- Cargando video de Youtube a través de i-frame en android webview
- Los videos de incrustación de YouTube no funcionan en la vista web. ¿Qué tiene de malo este código?
- Html5 mediaplayer para reproducir video de youtube
- ¿Qué diferencia hay entre el uso de WebView y el navegador para la api de vídeo de YouTube?
- ¿Cómo puedo reproducir vídeos de Youtube en un diseño personalizado de Android?
- ¿Es posible lanzar la aplicación de YouTube en Android con el parámetro de búsqueda?
- No se puede transmitir YouTube Url en VLC android
- Permiso de la API de Youtube 403 Error prohibido
- Youtube Video no se muestra en RecyclerView
- iniciar sesión en youtube desde android
- Cómo utilizar Youtube Player con UI moderna en Android usando YoutubePlayerSupportFragment
Recibí mi respuesta.
Element rsp = (Element)entry.getElementsByTagName("media:content").item(1); String anotherurl=rsp.getAttribute("url");
En gdata api sólo estamos recibiendo este tipo de enlaces: rtsp://v3.cache7.c.youtube.com/CiILENy73wIaGQlOCTh0GvUeYRMYDSANFEgGUgZ2aWRlb3MM/0/0/0/video.3gp
Estos se reproducen en VideoView.
Esto puede ser un poco tarde. Aquí hay algunos códigos de trabajo para las personas que tienen problemas.
try{ DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.newDocumentBuilder(); Document doc = db.parse(new URL(url).openStream()); doc.getDocumentElement ().normalize (); NodeList content = doc.getElementsByTagName("media:content"); for(int i=0; i<content.getLength(); i++){ Element rsp = (Element)content.item(i); result.add(rsp.getAttribute("url")); } }catch(Exception e){ Log.e("log_tag", "Error in http connection "+e.toString()); }
A continuación se muestra la función que puede obtener el enlace RTSP para el video de youtube
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); Log.i(MyActivity.class.getSimpleName(), url.toString()); 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; } private 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; }
- Resultados del mercado de aplicaciones para Android de Android
- Java.security.UnrecoverableKeyException: sin coincidencia