Commit Graph
100 Commits
Author SHA1 Message Date
Alessandro RosandGitHub ce45498769 move hooks into dedicated package (#2746) 2023-11-26 22:06:07 +01:00
Alessandro RosandGitHub d640dcf14d fix missing comment in conf (#2745) 2023-11-26 20:24:52 +01:00
Alessandro RosandGitHub e4f86be005 rename github workflow (#2744) 2023-11-26 20:24:39 +01:00
Alessandro RosandGitHub 81c803ba64 webrtc: fix bad quality when converting Opus from WebRTC to LL-HLS (#2499) (#2740) 2023-11-24 22:07:33 +01:00
Alessandro RosandGitHub dc453620fe record: fix invalid segment duration in case of offsets between video/audio (#2477) (#2715) 2023-11-23 13:36:07 +01:00
Alessandro RosandGitHub e6f861ee95 rename 'binaries' workflow into 'nightly_binaries' (#2714) 2023-11-23 13:35:27 +01:00
Alessandro RosandGitHub c3d9be322d allow using 'fallback' with static sources (#2606) (#2706) 2023-11-16 23:37:43 +01:00
Alessandro RosandGitHub 3277765851 apidocs: add missing recording settings to PathConf (#2705) 2023-11-16 22:47:01 +01:00
Alessandro RosandGitHub 42150c7ae5 update readme (#2695) 2023-11-13 18:05:07 +01:00
Alessandro RosandGitHub a760a98bcc webrtc: fix crash when reading from path 'publish' (#2688) (#2692) 2023-11-13 14:36:18 +01:00
Alessandro RosandGitHub e8f57153d5 after a release, post to issues once (#2691) 2023-11-13 11:51:32 +01:00
Alessandro RosandGitHub 7a1e155531 update dependencies (#2687) 2023-11-13 00:09:42 +01:00
Alessandro RosandGitHub 687d8685ef webrtc: improve connectivity mechanism (#2686) 2023-11-12 23:55:28 +01:00
Alessandro RosandGitHub 4cf8948fe6 automatically inform authors of GitHub issues about new releases (#2685) 2023-11-12 21:57:55 +01:00
Alessandro RosandGitHub 83a3086de7 webrtc: prevent pion/webrtc from writing log lines (#2681) 2023-11-12 13:46:25 +01:00
Alessandro RosandGitHub 2fe31a2421 record: allow using special characters in recording path (#2674) 2023-11-10 16:07:21 +01:00
Alessandro RosandGitHub d51baa04f7 record: fix deleting segments in case of relative paths (#2526) (#2673) 2023-11-10 16:03:04 +01:00
Alessandro RosandGitHub ef19552632 fix setting 'recordDeleteAfter' to zero (#2670) (#2671) 2023-11-10 13:51:52 +01:00
Alessandro RosandGitHub cb04d28f6e metrics: expose state of WebRTC sessions (#2662) 2023-11-08 12:01:39 +01:00
Alessandro RosandGitHub f82c6e3654 tests: fix race condition in TestPathRunOnDemand (#2663) 2023-11-08 11:21:08 +01:00
Alessandro RosandGitHub 5dae270900 srt: fix race condition when disposing late packets (#2648) 2023-11-05 18:39:37 +01:00
Alessandro RosandGitHub 621a10a8e9 update gortsplib (#2646) 2023-11-04 18:47:39 +01:00
Alessandro RosandGitHub 813611057d add runOnUnDemand hook (#2645) 2023-11-04 13:07:51 +01:00
Alessandro RosandGitHub 1d1d64cb89 rename sourceProtocol into rtspTransport, sourceAnyPortEnable into rtspAnyPort (#2644) 2023-11-04 11:12:22 +01:00
Alessandro RosandGitHub faf7218fda webrtc: restore compatibility when running behind a proxy, in a subpath (#2638) 2023-11-03 17:36:51 +01:00
Alessandro RosandGitHub 4f876ed207 fix crash when publishing to a path with 'runOnDemand' from outside 'runOnDemand' (#2636) (#2637) 2023-11-03 16:54:25 +01:00
Alessandro RosandGitHub d41e4025de hls: format code (#2634) 2023-11-03 09:42:37 +01:00
Alessandro RosandGitHub 870238607c update docs (#2630) 2023-11-02 13:55:01 +01:00
Alessandro RosandGitHub 15f1c73314 hls: apply readTimeout to HLS sources (#2627) 2023-11-02 12:45:46 +01:00
Alessandro RosandGitHub 68b862c7f6 webrtc: allow using sourceFingerprint with WebRTC sources (#2618) (#2626) 2023-11-02 12:38:20 +01:00
Alessandro RosandGitHub 43d41c070b move static sources into dedicated package (#2616) 2023-10-31 14:19:04 +01:00
Alessandro RosandGitHub e9528c0917 api: return empty list when page is empty (#2604) (#2614) 2023-10-30 19:53:16 +01:00
Alessandro RosandGitHub ecee2af05c webrtc: fix crash in case of errors during PATCH (#2609) (#2613) 2023-10-30 19:53:03 +01:00
Alessandro RosandGitHub a2c092ea44 formatprocessor: add fuzz tests (#2612) 2023-10-30 19:52:45 +01:00
Alessandro RosandGitHub 7fb3b749d5 rtmp: fix publishing screen with iOS StreamLabs (#2352) (#2611) 2023-10-30 11:45:05 +01:00
Alessandro RosandGitHub 4c25529369 move rpicamera into internal/protocols (#2607) 2023-10-30 11:40:55 +01:00
Alessandro RosandGitHub 4b4d57f18e api: add path name to config/paths/list and config/paths/get (#2535) (#2596) 2023-10-28 15:06:06 +02:00
Alessandro RosandGitHub 6e7a6fe71a update dependencies (#2597) 2023-10-28 15:04:40 +02:00
Alessandro RosandGitHub bbb989ee87 api: return full configuration in config/paths/list and config/paths/get (#2535) (#2595) 2023-10-28 14:53:23 +02:00
Alessandro RosandGitHub 64eb90738a webrtc: return detailed errors in responses (#2594) 2023-10-28 14:08:34 +02:00
Alessandro RosandGitHub c42fa76afd rpi: switch default autofocus mode to 'continuous' (#2591) 2023-10-28 12:32:39 +02:00
Alessandro RosandGitHub f11f39f023 confwatcher: remove redundant code (#2592) 2023-10-28 12:16:57 +02:00
Alessandro RosandGitHub 6d27d690dc update docs (#2590) 2023-10-28 11:52:31 +02:00
Alessandro RosandGitHub cde19097bd api: send error messages in response body (#2518) (#2583) 2023-10-27 20:43:34 +02:00
Alessandro RosandGitHub 07ff79f553 api: return 500 instead of 404 in case of non-existing items (#2582)
This is needed to differentiate between calls to non-existent andpoints
and calls to valid endpoints, but with an ID pointing to a non-existing
item, and to return JSON in the latter case.
2023-10-27 20:23:46 +02:00
Alessandro RosandGitHub 6af27fdcf8 improve feature request template (#2580) 2023-10-27 18:47:58 +02:00
Alessandro RosandGitHub 99bc327d67 move protocol-related code into internal/protocols (#2572) 2023-10-26 21:46:18 +02:00
Alessandro RosandGitHub 3ebc585539 restart recordings in case of errors (#2439) (#2571) 2023-10-26 21:40:44 +02:00
Alessandro RosandGitHub 38f228c739 webrtc: improve stability by reordering incoming packets (#2570) 2023-10-26 21:31:14 +02:00
Alessandro RosandGitHub 6d616f130e bump golangci-lint (#2560) 2023-10-25 12:08:33 +02:00
Alessandro RosandGitHub 28452acf56 move webrtc utilities into internal/webrtc (#2559) 2023-10-25 11:48:57 +02:00
Alessandro RosandGitHub 4dc6e338dd fix crash when setting deprecated settings with environment (#2529) (#2550) 2023-10-23 20:07:28 +02:00
Alessandro RosandGitHub 141ee331c6 rpi camera: fix Raspberry Pi Camera 3 auto focus (#2326) (#2552) 2023-10-23 19:46:13 +02:00
Alessandro RosandGitHub 55b8985c8d bump Go to 1.21 (#2546) 2023-10-23 14:02:53 +02:00
Alessandro RosandGitHub 4828736124 webrtc: fix compatibility with Alexa offers (#2544) 2023-10-22 20:42:21 +02:00
Alessandro RosandGitHub 3a5bb06e26 add environment variable MTX_QUERY to some hooks (#2483) (#2522) 2023-10-18 11:50:26 +02:00
Alessandro RosandGitHub 91f83a8c45 rtmp: fix compatibility with nginx-rtmp-module (#2383) (#2520) 2023-10-17 21:14:18 +02:00
Alessandro RosandGitHub c25b51cc7e update dependencies (#2506) 2023-10-14 22:56:07 +02:00
Alessandro RosandGitHub 95ab9375c7 support recording to MPEG-TS (#2505) 2023-10-14 22:52:10 +02:00
Alessandro RosandGitHub 4ec12a6c8b add runOnRecordSegmentCreate hook (#2451) (#2503) 2023-10-14 16:48:02 +02:00
Alessandro RosandGitHub 6c727b4472 rename 'all' path configuration into 'all_others' (#2443) 2023-10-09 18:13:44 +02:00
Alessandro RosandGitHub 8a633d2b79 allow setting different recording parameters for each path (#2410) (#2457) 2023-10-07 23:48:37 +02:00
Alessandro RosandGitHub 9a01ab7fd5 allow changing default path settings; bump API in order to allow so (#2455) 2023-10-07 23:32:15 +02:00
Alessandro RosandGitHub bb8c02b9f0 fix 'fragment sequence discontinuity' warning when reading record segments with VLC (#2476) 2023-10-07 17:36:57 +02:00
Alessandro RosandGitHub ca2a4873a6 support recording LPCM tracks (#2475) 2023-10-07 15:50:13 +02:00
Alessandro RosandGitHub 64f4185537 webrtc: optimize publish page for mobile devices (#2066) (#2472) 2023-10-06 23:31:36 +02:00
Alessandro RosandGitHub 3b4cac5af7 webrtc: disallow publishing screen on devices that don't support it (#2066) (#2471) 2023-10-06 23:00:15 +02:00
Alessandro RosandGitHub 412a48ac74 webrtc: fix reading Opus stereo tracks with Chrome (#2043) (#2470) 2023-10-06 22:09:08 +02:00
Alessandro RosandGitHub c37fd38f5c webrtc: print lost packets (#2468) 2023-10-06 21:06:29 +02:00
Alessandro RosandGitHub 4ba2dc1b34 apidocs: remove invalid value from PathSourceOrReader (#2450) 2023-10-03 13:00:46 +02:00
Alessandro RosandGitHub 84b2293c9c fix typo in README (#2446) 2023-10-02 20:11:12 +02:00
Alessandro RosandGitHub 9c6168e7e3 print path of configuration file (#2441) 2023-10-01 22:56:51 +02:00
Alessandro RosandGitHub d38061b704 add discussions template (#2444) 2023-10-01 22:54:39 +02:00
Alessandro RosandGitHub eb975027b2 add runOnRecordSegmentComplete and rclone integration (#2404) (#2428) 2023-09-29 18:24:10 +02:00
Alessandro RosandGitHub 2d929e1132 move 'srtReadPassphrase' into the right section (#2435) 2023-09-28 19:40:24 +02:00
Alessandro RosandGitHub 442a48363c allow to start/stop recording without disconnecting clients (#2395) (#2434) 2023-09-28 19:39:56 +02:00
Alessandro RosandGitHub 42aa979309 api: save errors in logs (#2426) 2023-09-27 15:18:02 +02:00
Alessandro RosandGitHub 61b77a3ff9 api: return 400 in case of non-existent config fields (#2425) 2023-09-27 14:56:31 +02:00
Alessandro RosandGitHub d7d96230ff rtmp: fix compatibility issue with some DJI drones (#2375) (#2409) 2023-09-27 14:38:07 +02:00
Alessandro RosandGitHub b1f74c30c0 bump dependencies (#2405) 2023-09-24 18:03:33 +02:00
Alessandro RosandGitHub f1e28d053f webrtc: fix ETag header name according to specification (#2396) (#2401) 2023-09-23 14:21:53 +02:00
Alessandro RosandGitHub cadc6b3ea7 rename 'external commands' into 'hooks' (#2400) 2023-09-23 12:49:08 +02:00
Alessandro RosandGitHub 3a7d86ec03 normalize configuration (#2399) 2023-09-23 12:48:34 +02:00
Alessandro RosandGitHub 1f11d95059 support recording M-JPEG tracks (#2391) 2023-09-22 12:35:35 +02:00
Alessandro RosandGitHub d07ba5983e update gortsplib (#2390) 2023-09-21 17:21:18 +02:00
Alessandro RosandGitHub e4df14a447 fix timestamp of outgoing RTSP/RTP packets in case of aggregated access units (#2389) 2023-09-21 16:13:40 +02:00
Alessandro RosandGitHub 89cf3bb2fa fix crash when processing H265 (#2378) (#2381) 2023-09-20 12:32:01 +02:00
Alessandro RosandGitHub fadfda936d support AC-3 tracks in SRT and UDP; support recording AC-3 tracks (#2376) 2023-09-19 22:33:00 +02:00
Alessandro RosandGitHub 8fd7019f2a rpi camera: add additional checks on configuration (#2368) 2023-09-19 11:49:44 +02:00
Alessandro RosandGitHub b86dc979ca fix default value of some settings (#2367)
rtmpServerKey, rtmpServerCert, recordPath, rpiCameraExposure,
rpiCameraAWB, rpiCameraDenoise, rpiCameraMetering, rpiCameraAfMode,
rpiCameraAfRange, rpiCameraAfSpeed were not set correctly when missing
in the configuration file.
2023-09-19 11:49:11 +02:00
Alessandro RosandGitHub 7ca2571dc3 fix race condition wen record agent is closing (#2369) 2023-09-19 11:43:26 +02:00
Alessandro RosandGitHub ac10102329 automatically set 'record: yes' when not specified (#2366) 2023-09-18 22:34:38 +02:00
Alessandro RosandGitHub 338456423e update recordDeleteAfter documentation (#2361) (#2362) 2023-09-17 12:59:11 +02:00
Alessandro RosandGitHub bedfa9651a fix windows build (#2360) 2023-09-16 23:21:10 +02:00
Alessandro RosandGitHub 1f840a1bea update dependencies (#2359) 2023-09-16 23:05:03 +02:00
Alessandro RosandGitHub f2f417e451 search for configuration file in various paths, print paths if configuration is not found (#1993) (#2276) (#2357) 2023-09-16 22:14:13 +02:00
Alessandro RosandGitHub 64d9060560 add additional environment variables to custom commands (#1414) (#2356)
new variables: MTX_CONN_TYPE, MTX_CONN_ID, MTX_SOURCE_TYPE, MTX_SOURCE_ID, MTX_READER_TYPE, MTX_READ_ID
2023-09-16 21:41:49 +02:00
Alessandro RosandGitHub ed77560811 add runOnDisconnect, runOnNotReady, runOnUnread (#1464) (#2355) 2023-09-16 19:21:48 +02:00
Alessandro RosandGitHub 73ddb21e63 implement native recording (#1399) (#2255)
* implement native recording (#1399)

* support saving VP9 tracks

* support saving MPEG-1 audio tracks

* switch segment when codec parameters change

* allow to disable recording on a path basis

* allow disabling recording cleaner

* support recording MPEG-1/2/4 video tracks

* add microseconds to file names

* add tests
2023-09-16 17:27:07 +02:00
Alessandro RosandGitHub b7e7758293 srt, udp: support publishing and reading MPEG-1/2/4 video with SRT and UDP/MPEG-TS (#2277) 2023-09-16 17:23:40 +02:00