Skip to content

Releases: mytview/mytview-server

0.4.9: fMP4 copies for every client, offline-ready HLS, creator archives as shows

Choose a tag to compare

@fbartolini fbartolini released this 26 Sep 10:01

Highlights

  • Stream-copy sessions decide on the video alone. An H.264 or HEVC source with audio that
    MPEG-TS cannot carry (DTS, TrueHD, Opus, FLAC) is now a copy session with only the audio
    encoded to AAC, instead of a full video encode. playback.hlsCopy is true for any H.264/HEVC file.
  • copya= audio allowlist on the HLS playlist route: a client whose decoders lack AC-3/E-AC-3
    (most Android phones) asks copya=aac,mp3 and gets AAC audio while the video is still copied.
  • playback.sourceCodecs in the video descriptor: the real probed codec pair, so a client
    keeping the original file offline can check its own decoders instead of trusting catalog fields.
  • Fix: empty init.mp4. The first request of every fMP4 (CMAF) copy session received a
    0-byte init section, because the encoder creates it at header time and fills it at the first
    fragment flush. The route now waits for the real bytes. Apple offline downloads were racing this too.
  • Creator archives presented as TV shows. A show folder whose episodes carry .info.json
    sidecars (Show/Season 2021/s2021.e031701 - Title.mp4, as some download tools write, with or
    without Jellyfin/Kodi .nfo files) is indexed as a creator channel in either library type, with
    the same video ids, so watch state survives switching the library type. NFO-only shows with
    date-coded numbering are shown by date instead of "S2021 E31701".
  • Keep-alive timeouts baked into the image (KEEP_ALIVE_TIMEOUT=65, HEADERS_TIMEOUT=66) so
    idle connections outlive a reverse proxy's upstream keep-alive; fixes first-request 502s on
    thumbnails behind nginx, Caddy or Traefik.
  • Channel tile art fallback: a channel with no poster.* uses its newest video's thumbnail.

Clients

  • iPhone/iPad 1.2 (App Store): offline downloads and Offline mode. Apple TV 1.1.
  • Android (Google Play, open beta): offline downloads are built and in testing; the next release
    carries them and uses the copya and sourceCodecs fields above.

Upgrading

docker compose pull && docker compose up -d. No migration; older clients ignore the new fields.
Reverse proxies in front of /hls/ should allow at least a 60 s read timeout.