Streaming de vídeos de Youtube
Estoy escribiendo una aplicación para reproducir videos de youtube mediante streaming.
Primer método:
- YouTubePlayerSupportFragment en una aplicación de una sola actividad con cambio de orientación
- Transmisión en directo desde la aplicación de Android a Youtube
- ¿Por qué Android WebView no está cargando youtube HTML5 iframe video?
- El video IFRAME incorporado sigue reproduciéndose en segundo plano después de salir de la pantalla completa en Android
- Aplicación para Android de YouTube
Estoy recibiendo la URL de RTSP para el video usando las API de GData. Aquí está el código para reproducir la url RTSP.
VideoView mVideoView = new VideoView(this); setContentView(mVideoView); mVideoView.setVideoURI(Uri.parse("rtsp://rtsp2.youtube.com/CiILENy73wIaGQkDwpjrUxOWQBMYESARFEgGUgZ2aWRlb3MM/0/0/0/video.3gp")); mVideoView.start();
Pero lanza el error en el dispositivo y el emulador G1 (el emulador tiene un cierto problema del cortafuego según la lista que envía) aquí está el mensaje de error
ERROR / PlayerDriver (35): Comando PLAYER_INIT completado con un error o información PVMFFailure
Segundo método:
Una manera de hackear para obtener la ruta del archivo 3gp de http://www.youtube.com/get_video?v= & t = <> & <> .. Después de obtener la ruta del archivo y puedo llamar a setVideoURI y se reproduce bien. Pero es una forma de hack para lograr el requisito. He comprobado la aplicación de Youtube también, también hace la manera de hack para jugar la url de youtube. (Comprobado con logcat)
He intentado cambiar de VideoView a MediaPlayer pero ningún cambio en el error.
¿Hay una manera "limpia" de hacer esto?
Por favor, hágame saber sus pensamientos.
- Ejecución de una aplicación de Android en la parte superior de la pantalla de bloqueo
- Vídeo de HTML5 de Youtube detenido trabajando en Android
- Cómo jugar video de youtube en ExoPlayer en Android?
- API de Youtube: busca videos reproducibles en dispositivos móviles
- Android WebView con incrustaciones iframe no se muestra en 4.2.2 ni en la parte inferior
- Pantalla blanca tras cerrar el video de pantalla completa abierto desde WebView
- RTSP enlace de youtube
- Cómo jugar auto iframe youtube en webview android
Si está dispuesto a realizar el trabajo en una nueva actividad, lo siguiente funcionará en un dispositivo pero no en el emulador:
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.youtube.com/watch?v=cxLG2wtE7TM")));
A veces Uri.parse devuelve "null" porque no puede analizar un protocolo rtsp en lugar del protocolo http.
Míralo con un Uri.parse(rtspURL).toString()
logcat Uri.parse(rtspURL).toString()
y no verá nada escrito. O sólo hacer Log.d("tag", Uri.parse);
Y el mismo será el retorno.
Trate de encontrar otra forma de analizar (crear) un Uri.
Me gustaría probar con eso y ejecutar:
String urlVideo = <your rtspURL> VideoView video = (VideoView)findViewById(R.id.VideoView01); Log.d(tag , urlVideo); video.setVideoURI(Uri.parse(urlVideo)); MediaController mc = new MediaController(this); video.setMediaController(mc); video.requestFocus(); video.start(); mc.show();
Estoy impresionado de que la manera sucia funciona en absoluto! Si usted tiene una solución de trabajo, vaya con ella. No creo que haya una manera limpia de obtener streaming RTSP trabajando en el SDK todavía.
Nos enfrentamos a un problema muy similar.
Por el momento estoy en el primer paso de mi proyecto y estoy tratando de hacer que el videoview simplemente funciona. Estoy tomando datos de aquí: http://gdata.youtube.com/demo/ y estoy probando todos los enlaces de videos.
RTSP 3GP videos son realmente muy baja calidad de vídeo …. y no hay manera de acceder a mp4 (buena calidad) videos. Realmente no sé cómo hacerlo funciona porque creo que los flujos MP4 están disponibles sólo para los desarrolladores premium ….
Conozca la API de Youtube
Creo que esto también utiliza la aplicación de youtube (que no desea)
Pero sólo refiérase puede ser que usted encontrará alguna clave para resolverlo
He mostrado videos de YouTube con el siguiente código. Espero que sea útil, pero háganme saber cómo se podría mejorar.
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.youtube.com/watch?v=..."))); } public void onPrepared(MediaPlayer mp) { // TODO Auto-generated method stub }
El encabezado del video indica que funciona para Android. Por lo tanto, pruebe un buen enlace de vídeo para experimentar con. Aquí hay uno que uso:
Rtsp: //184.72.239.149/vod/mp4: BigBuckBunny_115k.mov
Me funciona muy bien en las tabletas Nexus y Samsung.
¿Tienes acceso a Internet? Si no es así, agregue el permiso de Internet al archivo de manifiesto
<uses-permission android:name="android.permission.INTERNET" />
Y también intente por favor estos URIs:
rtsp://184.72.239.149/vod/mp4:BigBuckBunny_175k.mov http://www.wowza.com/_h264/BigBuckBunny_175k.mov
- ¿Cómo conectar la fuente de Android a Eclipse?
- Cómo enviar un correo electrónico con un archivo adjunto en Android