mediamtx

Ready-to-use SRT / WebRTC / RTSP / RTMP / LL-HLS media server and media proxy that allows to read, publish, proxy, record and playback video and audio streams.

MIT License

Downloads
79
Stars
11K
Committers
70

Bot releases are visible (Hide)

mediamtx - v0.16.0

Published by github-actions[bot] over 3 years ago

New major features

  • Support reading streams with HLS; a web server is provided to serve HLS, conversion is automatic
  • Support RTSP sessions; this allows a RTSP client to connect and disconnect to the server without stopping the stream (#149)
  • allow to set a different listen IP for each listener (#343)

Fixes and improvements

  • RTSP reader/publisher: fix crash that happened in case of invalid TCP frames (#348)
  • RTMP source: apply read and write timeouts to connection initialization
  • RTSP reader/publisher: support RTSP requests with empty header values (#368)
  • RTMP reader/publisher: avoid errors when there are no NALUs in the queue
  • General: fix default pprof address
mediamtx - v0.15.5

Published by github-actions[bot] over 3 years ago

Fixes and improvements

  • RTSP source: fix inversion of track data that happened randomly in case of multiple tracks (#353)
  • RTSP client: fix race condition during computation of RTP-Info that prevented clients from reading frames (#353)
  • RTSP source: add mandatory parameter sourceFingerprint to validate server certificates and prevent man-in-the-middle attacks (#350)
  • RTMP client: speed up initialization
  • RTMP client: add and use DTS instead of clock time
mediamtx - v0.15.4

Published by github-actions[bot] over 3 years ago

Fixes and improvements

  • RTSP/RTMP source: fix error 'no one is publishing to path' that happens after some seconds, when sourceOnDemand is enabled (#334)
  • RTSP source: apply TCP timeout correctly and reconnect after a timeout (#335)
  • RTSP source: build track URLs by using Content-Base when provided by server, fixing many timeouts
  • RTSP source: ignore non-standard keys in headers (#336)
  • RTMP client: speed up video reading by 1 frame
  • RTMP client: speed up acceptance of clients by moving handshake inside client routine
  • RTMP client: filter out SPS, PPS and AU NALUs when reading
  • RTMP client: avoid "duplicate DTS" error when reading
  • RTMP client: do not print errors in case of fragmented AAC frames
mediamtx - v0.15.3

Published by github-actions[bot] over 3 years ago

Fixes and improvements

  • RTSP client: do not return a timeout error in case UDP packets are being received from a single track
  • RTSP client: fix channel of RTCP packets, avoiding client timeouts
  • RTSP source: support RTP-Info headers with paths instead of URLs (#250)
  • RTSP source: support RTP-Infos with spaces (#333)
  • RTMP client: fix client removal after an error
mediamtx - v0.15.2

Published by github-actions[bot] over 3 years ago

New minor features

  • add parameter pprofPort to configure the port of the pprof listener

Fixes and improvements

  • RTSP source: switch to TCP if no UDP packets have been received within a timeout (#173)
  • RTSP source: do not exit in case UDP packets are being received from a single track, improving UDP robustness
  • RTMP client: allow inserting path in the "Stream key" field of OBS
  • RTMP client/source: support reading AAC frames bigger than 1460 bytes with RTMP (#206)
  • RTMP client/source: support sampling rates different than 48khz when reading with RTMP
  • RTMP client/source: aggregate together H264 NALUs that come from RTMP sources/clients, saving bandwidth
  • try to raise the maximum number of number of open files on Linux, allowing more than a 1000 clients to connect to the server (#193)
mediamtx - v0.15.1

Published by github-actions[bot] over 3 years ago

New minor features

  • add ability to configure metrics port (#235)
  • add parameter disablePublisherOverride to disable publisher override (#230)

Fixes and improvements

  • add RTP-Info to PLAY response, allowing VLC to display the right elapsed time (#233)
  • prevent crash that happens in case of server socket errors, instead print errors (#193)
mediamtx - v0.15.0

Published by github-actions[bot] over 3 years ago

New major features

  • Support reading with RTMP (#218)
  • enable rtmp by default; add parameters to disable rtsp and rtmp

Fixes and improvements

  • improve performance and eliminate idle load (#184)
  • fix removal of RTMP clients
  • fix reading mpegts-muxed streams with ffmpeg (#222)
  • support OBS <= 25 and a lot more RTMP clients
  • support some additional hikvision cameras (#227)
  • fix error "frame length greater than maximum allowed" (#229)
mediamtx - v0.14.2

Published by github-actions[bot] over 3 years ago

Fixes and improvements

  • drop existing publisher when a new publisher connects (#187)
  • add parameter readBufferCount to support non-compliant servers or publishers (#211)
mediamtx - v0.14.1

Published by github-actions[bot] over 3 years ago

Fixes and improvements

  • split configuration into sections
  • send status 461 instead of error when multicast is used (#198)
  • forbid usage of sourceOnDemand when source is not 'record'
  • support relative fallback paths (#201)
mediamtx - v0.14.0

Published by github-actions[bot] over 3 years ago

New major features

  • add a RTMP listener that allows to publish RTMP streams (#132)

Fixes and improvements

  • increase path and headers maximum length (#192)
  • speed up RTMP sources
  • start runOnDemand even with clients that don't send DESCRIBE (#155)
mediamtx - v0.13.3

Published by github-actions[bot] over 3 years ago

New minor features

  • add parameter listenIP to listen on a specific IP/interface (#166)
  • support encrypting the configuration file

Fixes and improvements

  • improve config file watcher to support Kubernetes configmap reloads; fix configuration reloading after deleting and recreating the configuration file (#130)
  • support clients that don't specify track ID, like tvheadend (#155)
mediamtx - v0.13.2

Published by github-actions[bot] almost 4 years ago

New minor features

  • support hashing credentials with sha256

Fixes and improvements

  • perform frame readings and writings in separate routines, in order to increase UDP throughput and avoid freezes caused by a single laggy reader (#125) (#162)
  • forbid usage of publishUser, publishPass, publishIps when source is not 'record'

WARNING: this version is not compatible with Larix <= 1.0.71 for iOS / Android (on Android, the server wasn't compatible even before this) - the next Larix version should be compatible.

mediamtx - v0.13.1

Published by github-actions[bot] almost 4 years ago

Fixes and improvements

  • fix PAUSE with UDP (#157)
  • fix crash when configuration is invalid (#160)
  • support 'false' and 'true' values of 'encryption' parameter (#160)
mediamtx - v0.13.0

Published by github-actions[bot] almost 4 years ago

New major features

  • implement log levels; print requests and responses when log level is "debug" (#116)
  • Support encryption with TLS (RTSPS) (#77)
  • Support proxing RTSPS streams

Fixes and improvements

  • switch to GitHub actions to test, lint and release
  • add anti-brute force mechanism
  • forbid runOnPublish when source is not record (#143)
  • print a warn message when the configuration file is not found
  • support transport headers with a single port (#136)
  • fix crash when using publishIp or readIp (#142)
  • support SDPs with spaces in origin (#127)
  • add jitter and delay to RTCP receiver reports
  • support SDPs with RS bandwidth (#136)
  • increase maximum length of content of RTSP requests/responses to 128k (#136)
  • fix shutdown of udp sockets during hot reloading
  • fix hot reloading of configuration on macOS and with text editors that deletes and recreates the configuration file

Note: this release was published 24 hours ago and retired shortly after due to a freeze that occurred with a high number of clients - the issue has been solved and the fix has been included in this release.

mediamtx - v0.12.2

Published by aler9 almost 4 years ago

New minor features

  • support automatic protocol selection when proxying rtsp

Fixes and improvements

  • allow repeated PAUSE requests (#107)
  • support SDPs with empty unicast address in origin (#121)
  • drastically improve the performance of the server when reading streams with both TCP and UDP
  • add PAUSE to supported methods in OPTIONS response
  • fix generation of RTCP receiver reports; add number of lost packets to RTCP receiver reports
  • make RTMP sources emit RTCP packets
  • allow calling PLAY twice (#128)
  • increase udp kernel read buffer size to minimize packet losses (#127)
mediamtx - v0.12.1

Published by aler9 almost 4 years ago

Fixes and improvements

  • fix creation and deletion of paths during hot reloading
  • use a new, more versatile, SDP unmarshaler
  • support more SDPs including: SDPs with global attributes in random positions, VLC SDPs (#115), SDPs with MP2T in protocol (#120)
  • support proxying streams with control paths that start with '?'
  • support PAUSE method (#107)
  • fix execution of external commands with quotes on Windows (#113)
  • fix timeout when proxying streams from vlc rtsp server (#115)
  • increase rtmp analyze timeout
mediamtx - v0.12.0

Published by aler9 almost 4 years ago

New major features

  • (breaking change) rename RTSP_SERVER_PATH environment variable into RTSP_PATH
  • new environment variable RTSP_PORT
  • add a "restart" parameter to all external commands, to restart commands if they exit before time
  • add new parameters to better control the "on demand" feature: sourceOnDemandStartTimeout, sourceOnDemandCloseAfter, runOnDemandStartTimeout, runOnDemandCloseAfter (#62)
  • add a "fallback" parameter to redirect readers to another url in case no one is publishing to the requested path (#104)

Fixes and improvements

  • fix error when using environment variables with equal signs
  • fix memory leak when receiving streams with tcp
  • fix error when using vlc, authentication and slashes in paths
  • fix memory leak caused by time.Timer
  • fix error when using vlc, authentication and urls with query parameters
  • switch to go 1.15
  • require sourceRedirect if source is redirect
  • support special characters in usernames and passwords
  • change default write timeout to 10 seconds
  • add configuration file to docker images
  • support proxing servers that redirect to other urls
mediamtx - v0.11.0

Published by aler9 almost 4 years ago

New major features

  • support hot reloading of configuration (#64)
  • support redirecting to another server (#92)

Fixes and improvements

  • if UDP or TCP is disabled, allow most clients to switch protocol automatically (tested with ffmpeg, vlc, gstreamer)
  • fix crash when using environment variables and config file is missing (#103)
  • support unencoded symbols in urls (#100)
  • fix client removal from path in case of errors during setup
mediamtx - v0.10.1

Published by aler9 about 4 years ago

New minor features

  • allow overriding configuration with environment variables (#98) (#101)

Fixes and improvements

  • fix killing of external commands on Windows (#97)
  • support SDPs without timing and session attributes (#95)
  • make sure all clients are closed before closing server
  • fix timeout when pulling some cameras (aler9/gortsplib#8)
mediamtx - v0.10.0

Published by aler9 about 4 years ago

New major features

  • support paths with regular expressions (#54) (#59)
  • rename metrics, add metrics documentation, add rtsp_sources metrics (#61)
  • support RTMP sources (#88)