transcoding adjustments

This commit is contained in:
legop3
2026-07-11 12:26:13 -04:00
parent e02b7a2eb7
commit 2bd6215be2
2 changed files with 24 additions and 1 deletions
+3
View File
@@ -144,3 +144,6 @@ Input/control implementation:
- all movement controls should send stop commands on key/button release, blur, disconnect, controller close, or turn loss
## NEW UI STUFF
- desktop:
- sidebar like there is now
-
+21 -1
View File
@@ -275,6 +275,12 @@ function startPublisher() {
that is useful for compression quality but harmful when the camera is being
driven live. Sliced threads allow x264 to keep some parallelism without
waiting on future frames the way normal frame-threading can.
The RTSP and muxer flags below bias the whole pipeline toward "latest frame
wins". If the server falls behind, ffmpeg should discard stale video frames
instead of spending CPU to render a delayed backlog. That matters more for
PTZ control than perfect frame delivery because delayed motion feedback makes
the camera hard to aim.
*/
const proc = spawn('ffmpeg', [
'-hide_banner',
@@ -283,12 +289,26 @@ function startPublisher() {
'-nostdin',
'-fflags',
'nobuffer',
'-avioflags',
'direct',
'-flags',
'low_delay',
'-use_wallclock_as_timestamps',
'1',
'-max_delay',
'0',
'-probesize',
'32768',
'-analyzeduration',
'0',
'-rtsp_transport',
'tcp',
'-i',
input,
'-frame_drop_threshold',
'1',
'-fps_mode',
'drop',
'-map',
'0:v:0',
'-map',
@@ -300,7 +320,7 @@ function startPublisher() {
'-tune',
'zerolatency',
'-threads',
'1',
'2',
'-x264-params',
'sliced-threads=1:sync-lookahead=0:rc-lookahead=0:keyint=20:min-keyint=20:scenecut=0',
'-bf',