Conversation
ryantaylor16
added a commit
to ryantaylor16/nodecast-tv
that referenced
this pull request
Jul 9, 2026
…peg) PR technomancer702#124 added -http_persistent 0 to the probe/remux/transcode ffmpeg commands, but the ffmpeg build in the image rejects it with 'Option http_persistent not found', causing every stream to fail with exit code 8. Drop the flag from all four command builders. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
ryantaylor16
added a commit
to ryantaylor16/nodecast-tv
that referenced
this pull request
Jul 9, 2026
- reconnect_on_http_error: drop 4xx, keep 5xx. Providers return 458 (connection-limit) and other 4xx as terminal conditions; retrying them (from PR technomancer702#124) made the player spin forever instead of surfacing a clear failure. 5xx (transient server errors) still reconnect. - /channels/recent now excludes 'FOR ADULTS' categories from the home dashboard while leaving them browsable in the Movies tab (does not match the 'ADULT SWIM' series categories, which stay). Co-Authored-By: Claude Opus 4.8 <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.
Fixes #123.
Changes
FFmpeg/ffprobe input hardening (
probe.js,remux.js,transcode.js,transcodeSession.js)-http_persistent 0— forces a fresh connection per hop sohttps → httpredirects resolve cleanly. Was reading 302 body as stream content.-reconnect_on_http_error 4xx,5xx— handles intermittent407 Proxy Authentication Requiredfrom the CF edge (FFmpeg only special-cases 400/401/403/404 natively).-reconnect_delay_maxbumped from 3/5 → 10 to cover CF's rate-limit window.Max Resolution now actually caps (
transcodeSession.js—buildScaleFilter)Max = 4Kupscaled 1080p sources to 4K. Now computesMath.min(targetHeight, sourceHeight)in JS and emits a literal integerinto the filter (
scale_cuda=-2:1080:...instead ofscale_cuda=-2:min(2160,ih):...). Testing showed the expression form triggers a degradedscale_cudacode path — literal1080ran at 1.8x realtime vs 0.69xwith the expression, on identical source.
videoHeightplumbed through: probe → POST/api/transcode/session→TranscodeSession.options→ scale filter.Negative-cache probe failures (
probe.js)Frontend:
VideoPlayer.jsandWatchPage.jspassvideoHeight: info.heightfrom the probe result into the transcode session POST body.