MediaMTX, a versatile media server designed for real-time streaming, continues to evolve with new features and enhancements while grappling with user-reported issues, particularly concerning WebRTC and codec compatibility.
The project, which supports multiple streaming protocols and offers a zero-dependency architecture, has seen significant activity over the past month. Notable developments include the introduction of KLV metadata handling (#3688) and performance improvements for playback segments (#3663). However, recurring issues with WebRTC stream initiation delays (#3691) and codec-related challenges (#3686) highlight areas needing attention. The development team, led by Alessandro Ros, is actively addressing these concerns through ongoing commits and collaboration.
Recent issues and pull requests reveal a focus on improving streaming protocol functionalities and addressing user-reported bugs. Issues such as slow WebRTC start times (#3691) and fallback mechanism failures (#3689) indicate persistent challenges in real-world applications. Meanwhile, pull requests like the one for KLV metadata handling (#3688) suggest ongoing efforts to expand MediaMTX's capabilities.
Alessandro Ros (aler9)
Roy Veshovda (royveshovda)
Yang-Sang-Ho (San9H0)
Dan Bason (dbason)
Dependabot[bot]
GitHub Actions Bot
Timespan | Opened | Closed | Comments | Labeled | Milestones |
---|---|---|---|---|---|
7 Days | 12 | 7 | 9 | 10 | 1 |
30 Days | 34 | 19 | 34 | 29 | 1 |
90 Days | 85 | 61 | 107 | 68 | 1 |
1 Year | 303 | 200 | 585 | 197 | 1 |
All Time | 1495 | 1345 | - | - | - |
Like all software activity quantification, these numbers are imperfect but sometimes useful. Comments, Labels, and Milestones refer to those issues opened in the timespan in question.
Developer | Avatar | Branches | PRs | Commits | Files | Changes |
---|---|---|---|---|---|---|
Alessandro Ros | 2 | 25/25/0 | 26 | 104 | 3894 | |
Dan Bason | 1 | 1/1/0 | 1 | 6 | 247 | |
dependabot[bot] | 2 | 8/5/3 | 6 | 2 | 58 | |
github-actions[bot] | 1 | 2/2/0 | 2 | 2 | 8 | |
Yang-Sang-Ho | 1 | 1/1/0 | 1 | 1 | 6 | |
Roy Veshovda | 1 | 0/1/0 | 1 | 1 | 4 | |
None (mrlt8) | 0 | 0/0/1 | 0 | 0 | 0 | |
rmcnew (rmcnew) | 0 | 1/0/0 | 0 | 0 | 0 | |
None (harik13) | 0 | 1/0/1 | 0 | 0 | 0 | |
None (boenshao) | 0 | 1/0/0 | 0 | 0 | 0 | |
Idar Lund (idarlund) | 0 | 1/0/0 | 0 | 0 | 0 | |
Gordy Wills (izanbard) | 0 | 0/0/1 | 0 | 0 | 0 | |
Joshua B. (therysin) | 0 | 1/0/1 | 0 | 0 | 0 | |
Magnus Gule (yelodevopsi) | 0 | 1/0/1 | 0 | 0 | 0 |
PRs: created by that dev and opened/merged/closed-unmerged during the period
The MediaMTX GitHub repository currently has 150 open issues, indicating ongoing engagement and potential areas of concern within the community. Recent activity shows a mix of bug reports, feature requests, and enhancements, with particular attention on WebRTC and RTSP functionalities. Notably, several issues highlight problems with specific codec support and stream handling, suggesting that users are encountering challenges in real-world applications.
There are recurring themes, such as difficulties with WebRTC connections, codec compatibility (especially H.264), and the need for improved error handling in streaming scenarios. The presence of multiple issues related to video playback quality and synchronization indicates a critical area for improvement. Furthermore, the variety of operating systems mentioned in the issues suggests a diverse user base, which may complicate troubleshooting efforts.
Issue #3691: WebRTC started very slow, about 8 ~ 10 seconds
Issue #3690: SRT restream from MPEG-TS RTSP
Issue #3689: fallback not working
Issue #3686: [BUG] Re-encoding a video stream using runOnReady and ffmpeg is not publishing to my path
Issue #3685: Support Enhanced RTMP v2
Issue #3677: Segfault with invalid RTP
Issue #3675: undefined symbol: _ZN9libcamera8controls7AfRangeE on RPI 1 armv6
Issue #3668: invalid SDP: media 2 is invalid: config is missing , why?
Issue #3657: Allow retrieving JWKS over TLS
Issue #3614: RTSP stream failing to record due to missing IDR or non-IDR NALU
These issues collectively point towards a need for enhanced error handling, better codec support, and improved documentation on configuration settings to optimize performance across various use cases.
The analysis of the pull requests (PRs) for the MediaMTX project reveals a total of 7 open PRs and 959 closed PRs. The recent activity indicates ongoing enhancements, bug fixes, and dependency updates, reflecting a robust development cycle.
PR #3688: KLV metadata handling
Created 2 days ago. This PR introduces changes to support KLV metadata handling in MediaMTX, addressing Issue #2693. It depends on related changes in mediacommon and gortsplib. The implementation includes significant additions to various files, totaling approximately 312 lines of code.
PR #3673: selinux
Created 5 days ago. This PR enhances documentation regarding SELinux security contexts necessary for executing the binary on SELinux-based distributions. It adds a few lines to the README file to guide users on setting the correct security context.
PR #3663: perf: chunk and process playback segments concurrently
Created 10 days ago. This performance improvement aims to speed up the /list
API by processing playback segments concurrently. The author notes a significant performance boost on their machine, suggesting further optimizations could be explored.
PR #3634: build(deps): bump github.com/pion/rtp from 1.8.8 to 1.8.9
Created 19 days ago. This PR updates the Pion RTP library to fix a rare SRTP loss decode failure, ensuring better stability in media streaming.
PR #3489: Add start filter for list endpoint
Created 68 days ago. This feature allows users to filter recordings based on a specified start time but has received criticism for incorrect implementation logic that doesn't align with segment abstraction principles.
PR #3431: Exclude actions when using JWT authentication
Created 80 days ago. This PR introduces an authJWTExclude
parameter to allow certain actions to bypass JWT authentication, enhancing flexibility in user management.
PR #3409: set server version when compiling from source too
Created 88 days ago. This PR ensures that the server version is set correctly during compilation from source, contributing to better version tracking.
PR #3693: update Enhanced RTMP link
Closed today after merging. This minor update improves documentation by correcting a link related to Enhanced RTMP specifications.
PR #3692: allow to set the JWT claim key that contains permissions
Closed today after merging. This PR enhances JWT functionality by allowing customization of the claim key used for permissions, addressing specific user needs with Azure B2C integration.
PR #3681: bump hls-js to v1.5.15
Closed 3 days ago after merging, updating the hls.js library for improved functionality.
PR #3679: webrtc: fix 'duplicate payload type' error in read page
Closed yesterday after merging, this PR addresses a specific bug affecting WebRTC functionality.
PR #3674: rpi: fix compatibility with latest mediamtx-rpicamera
Closed yesterday after merging, ensuring compatibility with recent changes in the Raspberry Pi camera integration.
The current state of pull requests in the MediaMTX project reflects an active and engaged development community focused on enhancing functionality and fixing bugs while also managing dependencies effectively.
The open pull requests indicate a strong focus on improving performance (as seen in PR #3663) and addressing specific user needs related to security (PR #3673) and protocol handling (PR #3688). The dependency updates (e.g., PR #3634) demonstrate a commitment to maintaining up-to-date libraries, which is crucial for security and performance.
Several pull requests are centered around enhancing usability and flexibility, particularly regarding authentication methods (e.g., PR #3431) and metadata handling (e.g., PR #3688). The emphasis on documentation improvements (e.g., PR #3673) suggests that user experience is a priority for the maintainers, aiming to reduce barriers for new users or those unfamiliar with specific configurations like SELinux.
One notable anomaly is the open PR (#3489) that has faced criticism due to its implementation logic not aligning with expected behavior regarding segment filtering. Such feedback highlights potential gaps in understanding or communication between contributors about design principles within the project.
Moreover, while there are numerous closed pull requests indicating active maintenance, there are also several not merged or closed without action (e.g., PRs like #3671 and #3618), which may indicate areas where contributors need more guidance or where discussions have stalled.
Overall, MediaMTX's pull request activity showcases a vibrant development environment with ongoing enhancements aimed at improving performance, usability, and security features. However, attention should be given to addressing feedback on certain implementations and ensuring that discussions around unresolved issues are actively managed to maintain momentum within the community.
Alessandro Ros (aler9)
Roy Veshovda (royveshovda)
Yang-Sang-Ho (San9H0)
Dan Bason (dbason)
Dependabot[bot]
GitHub Actions Bot
Overall, the development team appears to be effectively addressing both new feature implementation and maintenance tasks, fostering an environment conducive to continuous improvement of the MediaMTX project.