Skip to content

v0.9.22

Choose a tag to compare

@jopsis jopsis released this 11 Oct 05:08
· 8 commits to main since this release

ExoPlayer como segundo motor (Android)

  • Preferencias → Reproductor → Motor: MPV (por defecto) o ExoPlayer. No viaja
    con la sincronización: depende de lo que decodifique cada aparato.
  • PlaybackEngine (interfaz común) con MpvPlayer y ExoPlayerEngine
    (Media3 1.11.1). Los dos preparan con el núcleo, así que proxies, Smooth y
    claves son los mismos. La pantalla, el multiview y el traspaso entre ellos
    usan la interfaz.
  • El núcleo da ahora también manifest, headers y clearKeys (KID → clave)
    en playback.prepare. ExoPlayer descifra ClearKey con el de Android; se
    añade la clave para el KID cero, como hace FFmpeg con la clave por defecto.
  • Smooth servido por el núcleo: TimestampAdjuster compartido (los tiempos
    de la emisión empiezan en miles de millones) y SmoothDrmExtractor, que
    pone un pssh común en las pistas (el MP4 del núcleo no lo trae y sin él
    ExoPlayer no abre sesión DRM).
  • Subtítulos: SubtitleView encima del vídeo; los de addons van en el
    MediaItem y se fuerzan al elegirlos. Sin subtítulos al empezar, como mpv.
  • Si un vídeo no abre, el aviso dice con qué motor falló y ofrece «Probar con
    …» el otro solo para ese vídeo (como Stremio). En la tele, el botón toma el
    foco y los mandos no se dibujan encima.
  • En el reproductor, Pistas → «Reproductor»: cambiar de motor sin salir del
    vídeo (solo para ese vídeo). Lo que no es directo sigue por donde iba.
  • Probado en emulador (móvil y Android TV): HLS fMP4/TS/directo/AES-128, HLS
    SAMPLE-AES de Movistar+ por el proxy, DASH VOD/directo, DASH ClearKey
    (Axinom, Shaka, Orange), Smooth VOD corto y largo, Smooth en directo cifrado
    de Movistar, MP4, MKV, addon con MP4/HLS/MKV y subtítulos de OpenSubtitles,
    multiview de 4 canales (unos 171 MB PSS) y la reconexión cortando la red.
    Sin probar en aparato real.

Reconexión del directo (Android, iOS y tvOS)

  • Un directo que ya se veía y se corta (fin del flujo o error) se vuelve a
    preparar a los 1, 2, 4, 8 y 16 s; tras un minuto bien, se cuenta de cero.

Núcleo

  • SmoothLiveFeeder: el 412 es «fragmento aún no publicado» (Unified
    Streaming), como el 404, y no corta el canal. Test añadido.

Multiview (iOS y tvOS)

  • El primer cuadro se quedaba negro y se oía (lo reportó un usuario en
    iPhone): al pasar el reproductor a la vista del cuadro se libera el
    contexto de render de mpv y, con él, la salida de vídeo. Ahora se vuelve a
    poner vo=libmpv al enganchar una vista nueva. Lo mismo al volver a
    pantalla completa con otro cuadro. Compila; sin probar en aparato.

mpv (Android)

  • Con la libmpv de Stremio el fin de archivo solo llega por endFile: un
    canal que no abría se quedaba cargando para siempre. Ahora enseña el error.