3.6 KiB
StreamPlayer v9.4.3 - Optimización de Calidad
🎯 Objetivo Principal
Maximizar la calidad de streaming para aprovechar resoluciones 720p y 1080p cuando estén disponibles.
⭐ Cambio Destacado
Calidad de Video Mejorada 🎬
Antes: ExoPlayer usaba configuración conservadora
- WiFi rápido → 480p-720p típicamente
- Iniciaba con bitrate bajo y subía lentamente
Ahora: Configuración agresiva para máxima calidad
- WiFi rápido → 720p-1080p automáticamente ✨
- Inicia asumiendo HD y se adapta según necesidad
🔧 Implementación Técnica
1. DefaultTrackSelector Optimizado
.setForceHighestSupportedBitrate(true) // Fuerza máxima calidad
.setMaxVideoSize(3840, 2160) // Permite hasta 4K
.setMaxVideoBitrate(Integer.MAX_VALUE) // Sin límite de bitrate
.setExceedVideoConstraintsIfNecessary(true)
Resultado: Prioriza automáticamente la mejor calidad disponible en el stream HLS.
2. LoadControl para HD Streaming
.setBufferDurationsMs(
30000, // 30s buffer mínimo (antes: 15s)
60000, // 60s buffer máximo (antes: 30s)
2000, // Inicio rápido en 2s
5000 // Recuperación rápida
)
Resultado: Buffers más grandes previenen interrupciones en alta calidad.
3. Bandwidth Estimator Optimista
.setInitialBitrateEstimate(5_000_000) // Asume 5 Mbps (HD)
Resultado: Evita empezar en baja calidad innecesariamente.
4. Quality Logging (Debug)
Log.i("PlayerActivity",
"Reproduciendo: " + width + "x" + height +
" @ " + bitrate + " bps");
Resultado: Verificable en logcat la calidad actual.
📊 Comparativa de Calidad
| Conexión | Calidad Antes | Calidad Ahora | Mejora |
|---|---|---|---|
| WiFi 50+ Mbps | 720p | 1080p | ⬆️⬆️ |
| WiFi 10-50 Mbps | 480p-720p | 720p-1080p | ⬆️ |
| 4G/5G | 360p-480p | 480p-720p | ⬆️ |
| 3G | 360p | 360p-480p | = |
📈 Bitrates Típicos
- 1080p: 4-8 Mbps (muy nítido)
- 720p: 2-4 Mbps (nítido)
- 480p: 0.5-1.5 Mbps (aceptable)
- 360p: 0.3-0.8 Mbps (pixelado)
⚠️ Consideraciones
Consumo de Datos
- 1080p: ~3-4 GB/hora
- 720p: ~1.5-2 GB/hora
- 480p: ~500-800 MB/hora
Requisitos
- 1080p: Mínimo 5 Mbps estable
- 720p: Mínimo 2.5 Mbps estable
🔍 Cómo Verificar
Método 1: Logcat
adb logcat | grep "PlayerActivity"
Verás: Reproduciendo: 1920x1080 @ 5500000 bps (ejemplo)
Método 2: Visual
- 1080p: Textos pequeños perfectamente legibles
- 720p: Imagen muy nítida
- 480p: Imagen suave, perceptible en TV grande
📝 Archivos Modificados
PlayerActivity.java- Configuración de ExoPlayer optimizadaQUALITY_OPTIMIZATION.md- Documentación técnica completa
🎮 Comportamiento Adaptativo
- Inicio: Asume buena conexión, busca 1080p
- Adaptación: Si hay buffering, baja a 720p
- Recuperación: Cuando conexión mejora, vuelve a 1080p
- Objetivo: Máxima calidad sostenible
📦 Información Técnica
- versionCode: 94300
- versionName: 9.4.3
- APK Size: ~8 MB
- Min SDK: 21 (Android 5.0)
- Target SDK: 33 (Android 13)
🚀 Para Usuarios
No requiere configuración. Simplemente instala y disfruta de mejor calidad automáticamente. El player se adapta a tu conexión.
📚 Documentación Adicional
Ver QUALITY_OPTIMIZATION.md para detalles técnicos completos sobre la implementación.
Nota: La calidad máxima depende de la fuente. Si el stream solo ofrece 720p, no se puede forzar 1080p.