Skip to content

Releases: Mo3he/Axis_Cam_MediaMTX

MediaMTX 1.21.1

Choose a tag to compare

@github-actions github-actions released this 21 Sep 10:30

MediaMTX 1.21.1

Packages MediaMTX 1.21.1.

Upstream changes

https://github.com/bluenviron/mediamtx/releases/tag/v1.21.1

Changes

  • Update to upstream 1.21.1.

Packages

Install the signed_*.eap matching your device architecture.

Full changelog: v1.21.0...v1.21.1

MediaMTX 1.21.0

Choose a tag to compare

@github-actions github-actions released this 07 Sep 06:42

MediaMTX 1.21.0

Packages MediaMTX 1.21.0.

Upstream changes

https://github.com/bluenviron/mediamtx/releases/tag/v1.21.0

Changes

  • Update to upstream 1.21.0.

Packages

Install the signed_*.eap matching your device architecture.

Full changelog: v1.20.1...v1.21.0

MediaMTX 1.20.1

Choose a tag to compare

@github-actions github-actions released this 26 Aug 07:56

MediaMTX 1.20.1

Packages MediaMTX 1.20.1.

Upstream changes

https://github.com/bluenviron/mediamtx/releases/tag/v1.20.1

Changes

  • Update to upstream 1.20.1.
  • Strip the bundled mediamtx binary, which upstream ships unstripped. The
    package is 16.7 MB instead of 29.0 MB.
  • Fixed: the shipped recordPath pointed at
    /var/spool/storage/areas/SD_DISK/MediaMTX/recordings, which is not the SD
    card. Only .../SD_DISK/root is the mounted card; the level above it belongs
    to /var/spool, a RAM filesystem. Recordings were written to RAM, lost on
    every reboot, and consumed device memory, while the storage figure reported
    the size of the RAM disk so nothing looked wrong. The area is also named
    HDD_DISK rather than SD_DISK on recorder products, so no single default is
    correct. recordPath now ships unset, with both variants present as comments
    to uncomment, and the Recordings page says so instead of reporting a
    fabricated location. Existing installations keep their own configuration and
    are not modified: check the line against the new
    Recording storage section.
  • Fixed: with recordFormat: mpegts, the Recordings page showed an empty
    archive. Only .mp4 segments were listed, so .ts recordings could not be
    browsed, downloaded or deleted even though they were being written correctly.
    .ts segments are now listed and served as video/mp2t. The timeline, clip
    export and inline playback remain unavailable for them, because MediaMTX's
    playback server does not support MPEG-TS; the page now says so rather than
    showing nothing. fmp4 is still the default and the recommended format.
  • The bundled default configuration is regenerated from upstream 1.20.1. It had
    been carried forward from an older release, so it still used runOnReady,
    runOnNotReady and runOnReadyRestart, which MediaMTX renamed and now warns
    about on every start, and it was missing settings added since. It also
    predated the MoQ server, which meant MediaMTX enabled MoQ from its own default
    with no line in the configuration to turn it off.
  • RTMP (1935), SRT (8890/udp) and MoQ (8892, 8893/udp) are now disabled
    in the default configuration, so a fresh install no longer opens those ports.
    Set rtmp, srt or moq to yes to bring them back. Existing installations
    keep their own configuration and are unaffected.
  • Removed the Raspberry Pi camera settings from the default configuration; that
    source type cannot exist on an Axis device.
  • The paths section of the default configuration now carries worked examples:
    the device's own sensor, the same with an explicit codec and resolution, and a
    camera elsewhere on the network. It previously held only upstream's
    source: rtsp://my_camera placeholder.
  • The README port table now matches what the package actually opens. It listed
    the metrics and pprof servers, which are disabled, and omitted SRT, MoQ and
    the WebRTC ICE port.
  • Fixed: the commented-out examples in the default configuration could not be
    switched on the way they invited. They were written as # recordPath: ...,
    so deleting the # left one space too many, the file no longer parsed, and
    MediaMTX crash-looped with value is not allowed in this context and no
    indication of what was wrong. Every example is now written so that deleting
    the # alone produces correctly indented YAML. webrtcICEServers2,
    alwaysAvailableTracks and forward reject an empty value, so they keep
    their [] and their examples now say to replace that line instead. A test
    uncomments every example and parses the result, so the trap cannot come back.
  • Fixed: pulled RTSP sources now use rtspTransport: tcp instead of upstream's
    automatic, which prefers UDP. A camera pulling its own sensor over
    127.0.0.1 lost RTP packets, which corrupted the H.264 stream, logged
    invalid FU-A packet and too many reordered frames, and restarted the
    recorder every few seconds so recordings were split into fragments a few
    seconds long. UDP never failed outright, so the fallback to TCP never
    triggered.

Packages

Install the signed_*.eap matching your device architecture.

Full changelog: v1.20.0...v1.20.1

v1.20.0

Choose a tag to compare

@github-actions github-actions released this 06 Aug 08:28

Automated build packaging MediaMTX v1.20.0 for Axis cameras (aarch64 and armv7hf).

Upstream changes: https://github.com/bluenviron/mediamtx/releases/tag/v1.20.0

v1.19.3

Choose a tag to compare

@github-actions github-actions released this 24 Jul 08:20

Automated build packaging MediaMTX v1.19.3 for Axis cameras (aarch64 and armv7hf).

Upstream changes: https://github.com/bluenviron/mediamtx/releases/tag/v1.19.3

MediaMTX 1.19.2 (Signed)

Choose a tag to compare

@Mo3he Mo3he released this 21 Jul 17:37

These .eap packages are signed with the Axis ACAP signing service and install
normally on AXIS OS 12.10 and later.

Upgrading from an earlier version

Because the signing vendor changed, installing over a previously installed
unsigned version can fail with "Couldn't install: app". The device log
shows:

Vendor ID in manifest does not match the vendor ID of the previous version

To upgrade: back up your app configuration, uninstall the existing app,
then install this signed version.

v1.19.2-5

Choose a tag to compare

@Mo3he Mo3he released this 07 Jul 08:38

MediaMTX v1.19.2 for AXIS ACAP (aarch64 + armv7hf).

What's new

  • AXIS OS 13 readiness. Rebuilt against ACAP Native SDK 12.10.0 (64-bit time_t / Y2038).
  • Manifest migrated to schema 2.0.0 with vendorId and compatibleOsVersions (max 13). The build auto-injects min 12.10.68; devices below 12.10 ignore the field, so installs still reach older firmware.
  • config.cgi linked with a non-executable stack (-Wl,-z,noexecstack), required by OS 13.

Compatibility

  • Still installs and runs on older AXIS OS (validated live on OS 11.11 and OS 12.10, aarch64).
  • Web UI uses relative-path requests only, so it is HTTPS-only compatible with no mixed content.

Note: the package is not yet Axis ACAP Portal-signed. Unsigned packages still install below OS 13; portal signing will follow.

v1.19.2-4

Choose a tag to compare

@Mo3he Mo3he released this 03 Jul 06:27

MediaMTX v1.19.2 for AXIS ACAP (aarch64 + armv7hf).

What's new

  • VMS-style playback timeline on the Recordings page: per-stream, per-day 24h timeline. Click a moment to play from that exact time (stitched seamlessly across segment files and over gaps), drag to select a range, and export it as a standard MP4.
  • New config.cgi endpoints (timeline, clip, streams) proxy the MediaMTX playback server on localhost, reusing admin auth and avoiding CORS/mixed-content. Raw query params are validated against request-line injection.
  • config.cgi is now a multi-threaded FastCGI worker (4 workers), so a slow proxied stream no longer wedges other requests.
  • Default config enables the playback server on 127.0.0.1:9996 (localhost only). Existing configs: add playback: yes and playbackAddress: 127.0.0.1:9996, then Save & Restart.

Validated live on an AXIS device (aarch64): timeline, fmp4 playback, MP4 export, injection guards, and concurrent requests all pass.

v1.19.2-3

Choose a tag to compare

@Mo3he Mo3he released this 02 Jul 12:55

Repackaging of MediaMTX v1.19.2 for Axis cameras (aarch64 and armv7hf).

Highlights since v1.19.2-2:

  • Unified single-Dockerfile build (ARCH build-arg) replacing the per-arch trees.
  • New Live page with HLS/WebRTC/RTSP links for configured paths.
  • Config backup on every save with Load backup in the editor.
  • Delete individual recordings and view recording-storage usage.
  • Crash-loop protection: the supervisor backs off on repeated fast exits and the editor warns after a restart if the config crash-loops.
  • Same-origin CSRF guard on state-changing requests; tightened socket permissions.
  • Host unit tests and a CI workflow (tests + Docker build of both arches).

Upstream: https://github.com/bluenviron/mediamtx/releases/tag/v1.19.2

v1.19.2-2

Choose a tag to compare

@Mo3he Mo3he released this 01 Jul 06:30

Follow-up build of MediaMTX v1.19.2 (same MediaMTX version, ACAP wrapper fixes).

  • Fix recordings/config pages hanging on Loading: the recordings list no longer scans every file for its duration (it was blocking the single-threaded backend for ~a minute with many recordings). The list is now instant.
  • Ignore SIGPIPE and stop streaming when the client disconnects, so an aborted playback range request can no longer wedge the backend.
  • Recordings table now shows Start and End time (with date) instead of Duration.