Что это такое?
MediaMTX — это готовый к использованию сервер live-медиа и медиа-прокси без каких-либо зависимостей: он публикует, читает, проксирует, записывает и воспроизводит видеопотоки и аудиопотоки в реальном времени.
Это библиотека, которую я импортирую в свой код, или сервер, который я запускаю отдельно?
Это отдельный сервер, а не библиотека — один исполняемый файл без зависимостей и интерпретатора, задуманный как медиа-маршрутизатор, который передаёт потоки с одной стороны на другую.
Как его запустить?
Скачайте готовый одиночный исполняемый файл для своей ОС и запустите его — никаких зависимостей или интерпретатора, ничего не нужно устанавливать заранее.
Какие операционные системы он поддерживает?
Поддерживаются Linux, Windows и macOS — он поставляется в виде одного нативного исполняемого файла, поэтому ни среда выполнения, ни интерпретатор не нужны ни на одной из них.
Зрителям обязательно использовать тот же протокол, что и у того, кто публикует поток?
Нет — потоки автоматически конвертируются из одного протокола в другой, поэтому одна RTSP-камера может одновременно обслуживать браузеры через WebRTC, плееры через HLS и многое другое. Несколько потоков могут работать одновременно в отдельных путях.
Можно ли записывать потоки и потом воспроизводить их?
Да — он записывает потоки на диск в формате fMP4 или MPEG-TS и воспроизводит записанные потоки. Также он может отдавать поток, доступный постоянно, даже когда издатель отключён.
Что он предлагает для управления и мониторинга сервера?
Control API для управления, метрики, совместимые с Prometheus, мониторинг производительности для анализа потребления процессора и оперативной памяти, а также хуки, которые запускают внешние команды, когда клиенты подключаются, отключаются, читают или публикуют.
Могу ли я ограничить, кому разрешено публиковать или смотреть?
Да — пользователи могут проходить аутентификацию через встроенную, HTTP или JWT-аутентификацию, прежде чем публиковать или читать потоки.
What are similar projects?
go2rtc, ZLMediaKit, srs, livego, SmarterStreaming, livekit, FFmpeg, webrtc
Which topics is it in?
rtsp, srt, rtmp, media-server, hls, camera, webrtc, jwt, no-dependencies, prometheus, raspberry-pi, ffmpeg