<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Project on go-rtmp</title><link>https://alxayo.github.io/rtmp-go/docs/project/</link><description>Recent content in Project on go-rtmp</description><generator>Hugo</generator><language>en</language><atom:link href="https://alxayo.github.io/rtmp-go/docs/project/index.xml" rel="self" type="application/rss+xml"/><item><title>Changelog</title><link>https://alxayo.github.io/rtmp-go/docs/project/changelog/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alxayo.github.io/rtmp-go/docs/project/changelog/</guid><description>&lt;h1 id="changelog"&gt;Changelog&lt;a class="anchor" href="#changelog"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;All notable changes to go-rtmp are documented here.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="unreleased"&gt;Unreleased&lt;a class="anchor" href="#unreleased"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="added"&gt;Added&lt;a class="anchor" href="#added"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;SRT Encryption&lt;/strong&gt; — Full AES-CTR encryption with passphrase-based key exchange (KMREQ/KMRSP), supporting AES-128/192/256 with PBKDF2 key derivation&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;SRT Key Rotation&lt;/strong&gt; — Hitless even/odd key rekeying via post-handshake KMREQ control packets for long-running encrypted streams&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;SRT Reconnection Fix&lt;/strong&gt; — Second SRT connection with same stream key no longer fails after first disconnects&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="security"&gt;Security&lt;a class="anchor" href="#security"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Passphrase validation (10-79 characters per SRT specification)&lt;/li&gt;
&lt;li&gt;Plaintext packets dropped on encrypted connections&lt;/li&gt;
&lt;li&gt;Strict crypto profile validation (rejects unsupported cipher types)&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="v020-2026-04-12"&gt;v0.2.0 (2026-04-12)&lt;a class="anchor" href="#v020-2026-04-12"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="added-1"&gt;Added&lt;a class="anchor" href="#added-1"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;SRT (Secure Reliable Transport) Ingest&lt;/strong&gt;: Accept SRT streams over UDP alongside RTMP
&lt;ul&gt;
&lt;li&gt;SRT v5 handshake with SYN cookie exchange and extension negotiation&lt;/li&gt;
&lt;li&gt;Stream ID parsing: simple, prefixed, and structured formats&lt;/li&gt;
&lt;li&gt;TSBPD jitter buffer with configurable latency&lt;/li&gt;
&lt;li&gt;ACK/NAK reliability with RTT measurement and retransmission&lt;/li&gt;
&lt;li&gt;Optional AES encryption (128/192/256-bit) with PBKDF2 key derivation&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;MPEG-TS Demuxer&lt;/strong&gt;: Full transport stream parser with PAT/PMT table decoding, PES reassembly&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Codec Converters&lt;/strong&gt;: H.264/H.265 Annex B→AVCC and AAC ADTS→raw converters for SRT-to-RTMP bridge&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;SRT-to-RTMP Bridge&lt;/strong&gt;: End-to-end pipeline converting SRT data packets through TS demuxing and codec conversion&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Codec-Aware Recording&lt;/strong&gt;: Automatic container selection — FLV for H.264, MP4 for H.265/HEVC&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;FLV &lt;code&gt;onMetaData&lt;/code&gt; Script Tag&lt;/strong&gt;: FLV recordings include &lt;code&gt;onMetaData&lt;/code&gt; with video dimensions, codec IDs, audio properties, and patched duration/filesize on close
&lt;ul&gt;
&lt;li&gt;MP4 recorder streams to disk in real-time (zero memory buffering)&lt;/li&gt;
&lt;li&gt;Lazy recorder initialization for correct codec detection&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ingress Abstraction&lt;/strong&gt;: Protocol-agnostic publish lifecycle manager shared by RTMP and SRT&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Comprehensive E2E Test Suite&lt;/strong&gt;: 25+ tests in &lt;code&gt;e2e-tests/&lt;/code&gt; covering all major features&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;SRT CLI Flags&lt;/strong&gt;: &lt;code&gt;-srt-listen&lt;/code&gt;, &lt;code&gt;-srt-latency&lt;/code&gt;, &lt;code&gt;-srt-passphrase&lt;/code&gt;, &lt;code&gt;-srt-pbkeylen&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;SRT Metrics&lt;/strong&gt;: 6 new expvar counters for SRT connections, bytes, packets, retransmits, drops&lt;/li&gt;
&lt;li&gt;Comprehensive package documentation and developer guide&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="changed"&gt;Changed&lt;a class="anchor" href="#changed"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;MP4 recorder streams to disk instead of buffering in memory&lt;/li&gt;
&lt;li&gt;Allocation optimizations across media handling hot paths&lt;/li&gt;
&lt;li&gt;Lazy recorder initialization for codec-aware container selection&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="fixed"&gt;Fixed&lt;a class="anchor" href="#fixed"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;H.265 HEVCDecoderConfigurationRecord corrected per ISO/IEC 14496-15&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-record-all&lt;/code&gt; explicit bool flag parsing&lt;/li&gt;
&lt;li&gt;&lt;code&gt;slog.SetDefault()&lt;/code&gt; now called for consistent log levels across subsystems&lt;/li&gt;
&lt;li&gt;Three broken E2E tests (hooks and reconnect)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="new-packages"&gt;New Packages&lt;a class="anchor" href="#new-packages"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;internal/srt/&lt;/code&gt; — Full SRT protocol implementation (packet, circular, crypto, handshake, conn)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;internal/ts/&lt;/code&gt; — MPEG-TS demuxer&lt;/li&gt;
&lt;li&gt;&lt;code&gt;internal/codec/&lt;/code&gt; — Video/audio codec converters (H.264, H.265, AAC)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;internal/ingress/&lt;/code&gt; — Publish lifecycle abstraction&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="v014-2026-04-10"&gt;v0.1.4 (2026-04-10)&lt;a class="anchor" href="#v014-2026-04-10"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="added-2"&gt;Added&lt;a class="anchor" href="#added-2"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Enhanced RTMP (E-RTMP v2)&lt;/strong&gt;: H.265/HEVC, AV1, VP9 codec support via FourCC signaling
&lt;ul&gt;
&lt;li&gt;Compatible with FFmpeg 6.1+, OBS 29.1+, SRS 6.0+&lt;/li&gt;
&lt;li&gt;Automatic codec detection — no configuration needed&lt;/li&gt;
&lt;li&gt;&lt;code&gt;connect&lt;/code&gt; command negotiation with &lt;code&gt;fourCcList&lt;/code&gt; echo&lt;/li&gt;
&lt;li&gt;Sequence header caching for all enhanced codecs (late-join support)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Enhanced audio signaling: Opus, FLAC, AC-3, E-AC-3 via E-RTMP FourCC&lt;/li&gt;
&lt;li&gt;27 new unit tests for enhanced video/audio parsing&lt;/li&gt;
&lt;li&gt;E2E test scripts: &lt;code&gt;scripts/test-enhanced-rtmp.sh&lt;/code&gt; and &lt;code&gt;.ps1&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="changed-1"&gt;Changed&lt;a class="anchor" href="#changed-1"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Extracted shared &lt;code&gt;fourCC()&lt;/code&gt; helper to &lt;code&gt;media/codec.go&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Simplified video diagnostic logging in registry&lt;/li&gt;
&lt;li&gt;Fixed doc comment in &lt;code&gt;connect_response.go&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="v013-2026-04-09"&gt;v0.1.3 (2026-04-09)&lt;a class="anchor" href="#v013-2026-04-09"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="added-3"&gt;Added&lt;a class="anchor" href="#added-3"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;RTMPS (TLS) support&lt;/strong&gt; — encrypted RTMP connections via TLS termination at the transport layer
&lt;ul&gt;
&lt;li&gt;New CLI flags: &lt;code&gt;-tls-listen&lt;/code&gt;, &lt;code&gt;-tls-cert&lt;/code&gt;, &lt;code&gt;-tls-key&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Dual-listener architecture: plain RTMP and RTMPS simultaneously&lt;/li&gt;
&lt;li&gt;&lt;code&gt;rtmps://&lt;/code&gt; URL support in the Go client and relay destinations&lt;/li&gt;
&lt;li&gt;Minimum TLS 1.2 enforced; TLS startup failure is fatal (no silent fallback)&lt;/li&gt;
&lt;li&gt;4 TLS integration tests with self-signed certificate helper&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cross-platform E2E testing scripts&lt;/strong&gt; — comprehensive test suite in &lt;code&gt;scripts/&lt;/code&gt;
&lt;ul&gt;
&lt;li&gt;12 scripts (6 Bash + 6 PowerShell pairs) for Linux/macOS/Windows&lt;/li&gt;
&lt;li&gt;7 E2E test cases: RTMP, RTMPS, HLS hooks, authentication (allowed + rejected), combined TLS + auth&lt;/li&gt;
&lt;li&gt;Helper scripts: dependency checker, TLS cert generator, parameterized server launcher, HLS hook&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cross-platform build scripts&lt;/strong&gt; — &lt;code&gt;scripts/build.sh&lt;/code&gt; and &lt;code&gt;scripts/build.ps1&lt;/code&gt; for local compilation&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Hugo documentation site&lt;/strong&gt; — full docs with GitHub Pages deployment, Hugo-book theme&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="fixed-1"&gt;Fixed&lt;a class="anchor" href="#fixed-1"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Shell hook Windows compatibility (&lt;code&gt;powershell.exe&lt;/code&gt; detection instead of hardcoded &lt;code&gt;/bin/bash&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Docs workflow Hugo version bump for theme compatibility&lt;/li&gt;
&lt;li&gt;GitHub Pages deployment configuration&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="v012-2026-03-04"&gt;v0.1.2 (2026-03-04)&lt;a class="anchor" href="#v012-2026-03-04"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="added-4"&gt;Added&lt;a class="anchor" href="#added-4"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Expvar metrics&lt;/strong&gt; — live counters exposed via HTTP &lt;code&gt;/debug/vars&lt;/code&gt; endpoint (&lt;code&gt;-metrics-addr&lt;/code&gt; flag)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Disconnect handlers&lt;/strong&gt; — proper cleanup of publisher/subscriber registrations on connection close&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;TCP deadline enforcement&lt;/strong&gt; — read 90s / write 30s deadlines for zombie detection, reset on each I/O operation&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Lifecycle hook events&lt;/strong&gt; — new events: &lt;code&gt;connection_close&lt;/code&gt;, &lt;code&gt;publish_stop&lt;/code&gt;, &lt;code&gt;play_stop&lt;/code&gt;, &lt;code&gt;subscriber_count&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="improved"&gt;Improved&lt;a class="anchor" href="#improved"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Performance optimizations&lt;/strong&gt;:
&lt;ul&gt;
&lt;li&gt;AMF0 decode: reduced allocations in object/array parsing&lt;/li&gt;
&lt;li&gt;Chunk writer: buffer reuse to avoid repeated allocation&lt;/li&gt;
&lt;li&gt;RPC: lazy initialization of command dispatcher&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Dead code removal&lt;/strong&gt;: removed unused &lt;code&gt;bufpool&lt;/code&gt; package, &lt;code&gt;ErrForbidden&lt;/code&gt; sentinel, and unused &lt;code&gt;Session&lt;/code&gt; type&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="v011-2026-03-03"&gt;v0.1.1 (2026-03-03)&lt;a class="anchor" href="#v011-2026-03-03"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="added-5"&gt;Added&lt;a class="anchor" href="#added-5"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Token-based authentication&lt;/strong&gt; with 4 backends:
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;token&lt;/code&gt; — static stream key/token pairs via CLI flags&lt;/li&gt;
&lt;li&gt;&lt;code&gt;file&lt;/code&gt; — JSON file with stream key/token mappings&lt;/li&gt;
&lt;li&gt;&lt;code&gt;callback&lt;/code&gt; — webhook URL for external auth validation&lt;/li&gt;
&lt;li&gt;&lt;code&gt;none&lt;/code&gt; — open access (default)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;URL query parameter parsing&lt;/strong&gt; — tokens extracted from &lt;code&gt;?token=value&lt;/code&gt; in stream URLs&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;EventAuthFailed&lt;/code&gt;&lt;/strong&gt; hook event — fires when authentication fails&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="v010-2025-10-18"&gt;v0.1.0 (2025-10-18)&lt;a class="anchor" href="#v010-2025-10-18"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="added-6"&gt;Added&lt;a class="anchor" href="#added-6"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;First feature-complete release of go-rtmp.&lt;/p&gt;</description></item><item><title>Roadmap</title><link>https://alxayo.github.io/rtmp-go/docs/project/roadmap/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alxayo.github.io/rtmp-go/docs/project/roadmap/</guid><description>&lt;h1 id="roadmap"&gt;Roadmap&lt;a class="anchor" href="#roadmap"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="completed"&gt;Completed&lt;a class="anchor" href="#completed"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;✅ &lt;strong&gt;Core RTMP protocol&lt;/strong&gt; — handshake, chunks, AMF0, commands, media relay &lt;em&gt;(v0.1.0)&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;FLV recording&lt;/strong&gt; — automatic recording with timestamped filenames &lt;em&gt;(v0.1.0)&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;Multi-destination relay&lt;/strong&gt; — forward to YouTube, Twitch, and custom servers &lt;em&gt;(v0.1.0)&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;Event hooks&lt;/strong&gt; — webhooks, shell scripts, stdio &lt;em&gt;(v0.1.0)&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;Authentication&lt;/strong&gt; — token, file, callback, and open backends &lt;em&gt;(v0.1.1)&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;Expvar metrics&lt;/strong&gt; — live counters via HTTP endpoint &lt;em&gt;(v0.1.2)&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;TCP deadline enforcement&lt;/strong&gt; — zombie detection and cleanup &lt;em&gt;(v0.1.2)&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;Performance optimizations&lt;/strong&gt; — AMF0 decode, chunk writer, RPC lazy-init &lt;em&gt;(v0.1.2)&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;RTMPS (TLS)&lt;/strong&gt; — encrypted RTMP connections via TLS termination &lt;em&gt;(v0.1.3)&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;E2E testing scripts&lt;/strong&gt; — cross-platform Bash + PowerShell test suite for RTMP/RTMPS/HLS/auth &lt;em&gt;(v0.1.3)&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;Enhanced RTMP (E-RTMP v2)&lt;/strong&gt; — H.265, AV1, VP9 codec support via FourCC signaling &lt;em&gt;(v0.1.4)&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;SRT ingest&lt;/strong&gt; — accept SRT streams over UDP with transparent RTMP conversion &lt;em&gt;(v0.2.0)&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;MPEG-TS demuxer&lt;/strong&gt; — full transport stream parser for SRT-to-RTMP bridge &lt;em&gt;(v0.2.0)&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;Codec converters&lt;/strong&gt; — H.264/H.265/AAC format converters for protocol bridging &lt;em&gt;(v0.2.0)&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;Codec-aware recording&lt;/strong&gt; — automatic FLV/MP4 container selection based on codec &lt;em&gt;(v0.2.0)&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;Comprehensive E2E test suite&lt;/strong&gt; — 25+ tests covering all features with cross-platform runners &lt;em&gt;(v0.2.0)&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;SRT Encryption&lt;/strong&gt; — AES-CTR encryption with passphrase, key rotation &lt;em&gt;(v0.4.0)&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="in-progress"&gt;In Progress&lt;a class="anchor" href="#in-progress"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;🔄 &lt;strong&gt;Fuzz testing&lt;/strong&gt; — fuzz testing for AMF0 and chunk parsing to find edge cases and crashes&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="planned"&gt;Planned&lt;a class="anchor" href="#planned"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;📋 &lt;strong&gt;Configurable backpressure&lt;/strong&gt; — tunable queue sizes, drop policies, and subscriber eviction strategies&lt;/li&gt;
&lt;li&gt;📋 &lt;strong&gt;Clustering &amp;amp; HA&lt;/strong&gt; — multi-node stream distribution with failover&lt;/li&gt;
&lt;li&gt;📋 &lt;strong&gt;DVR / Time-shift&lt;/strong&gt; — seek-back into recorded streams for live rewind&lt;/li&gt;
&lt;li&gt;📋 &lt;strong&gt;Transcoding&lt;/strong&gt; — on-the-fly quality adaptation (ABR) for multi-bitrate delivery &lt;em&gt;(note: H.265/HEVC is now natively supported for passthrough via E-RTMP v2 and SRT ingest)&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="how-to-contribute"&gt;How to Contribute&lt;a class="anchor" href="#how-to-contribute"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;If you&amp;rsquo;re interested in working on any planned feature, open an issue to discuss the approach before starting. See the &lt;a href="https://alxayo.github.io/rtmp-go/docs/developer/contributing/"&gt;Contributing Guide&lt;/a&gt; for workflow details.&lt;/p&gt;</description></item></channel></rss>