Add encoding subcommand for video compression settings#395
Open
lorek123 wants to merge 1 commit intoQuantumEntangledAndy:masterfrom
Open
Add encoding subcommand for video compression settings#395lorek123 wants to merge 1 commit intoQuantumEntangledAndy:masterfrom
lorek123 wants to merge 1 commit intoQuantumEntangledAndy:masterfrom
Conversation
Implements MSG 56 (GET) and MSG 57 (SET) for the Compression XML, gated behind the "compress" ability. Adds `neolink encoding` CLI with get/set actions to view and modify per-stream encoding parameters (bitrate, fps, rate control, encoder profile). Tested against Reolink E1 camera.
janost
added a commit
to MutuallyAssuredDeployment/neolink
that referenced
this pull request
Mar 18, 2026
Upstream PR QuantumEntangledAndy#395. Adds 'neolink encoding' subcommand to view and modify per-stream (main/sub/third) video encoding settings via BC protocol messages 56 (GET) and 57 (SET). Supports bitrate, fps, rate control (cbr/vbr), and encoder profile. Gated behind the 'compress' ability. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
janost
added a commit
to MutuallyAssuredDeployment/neolink
that referenced
this pull request
Mar 19, 2026
Add a section crediting @wafgo, @Maaggs, @fromagge, @lorek123, and @joshkautz for their unmerged upstream PRs (QuantumEntangledAndy#373, QuantumEntangledAndy#389, QuantumEntangledAndy#394, QuantumEntangledAndy#395, QuantumEntangledAndy#396, QuantumEntangledAndy#398, QuantumEntangledAndy#399, QuantumEntangledAndy#400) that were ported into this fork. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
neolink encodingsubcommand to view and modify per-stream video encoding settings via BC protocol messages 56 (GET) and 57 (SET)compressability (compress_rw/compress_ro)Usage
Example output
Changes
crates/core/src/bc/model.rs— MSG_ID_GET_COMPRESSION (56), MSG_ID_SET_COMPRESSION (57)crates/core/src/bc/xml.rs— Compression, StreamCompression, GopSettings structscrates/core/src/bc_protocol/compression.rs— get_compression(), set_compression()src/encoding/— CLI subcommand (get/set with --stream, --bitrate, --fps, --rate-control, --profile)Test plan
neolink encoding <camera> getreads and prints settings from E1 cameraneolink encoding <camera> set --stream sub --fps 15modifies setting