Skip to content

[BUG] Stream is encoded and decoded, but does not show in NVENC with pixelflux #22

@ehfd

Description

@ehfd

Is there an existing issue for this?

  • I have searched the existing issues

Current Behavior

Stream is encoded and decoded (selkies-core.js:92 Processing 1 pending chunks for stripe Y=0), as shown in logs, but does not show in NVENC with pixelflux utilized.

Doesn't happen always, but does happen sometimes.

Image

Image

│─[pcmflux] SUCCESS: Connected to PulseAudio.
│─[pcmflux] SUCCESS: Opus encoder created.
│ [pcmflux] Capture loop started. Device: system_default, Rate: 48000, Channels: 2, Bitrate: 320 kbps, VBR: On, Silenc
│ WARNING:webrtc_input:No clipboard content to send
│ INFO:data_websocket:Received START_VIDEO for encoder: x264enc
│ INFO:data_websocket:Starting x264enc: 2880x1674 @ 60.0fps, CRF: 25, FullFrame: True
│ INFO:data_websocket:New frame backpressure task started (current encoder: 'x264enc').
│ INFO:data_websocket:x264enc capture started successfully.
│ INFO:data_websocket:Received START_AUDIO command from client for server-to-client audio.
│ INFO:data_websocket:START_AUDIO: pcmflux audio pipeline already active.
│ INFO:data_websocket:Frame-based backpressure logic task started.
│ INFO:data_websocket:Client settings received, proceeding with backpressure loop.
│ X Shared Memory Extension available.
│ XShm setup complete for 2880x1674.
│ NVENC Encoder Initialized successfully.
│ CPU cores available: 48
│ Res: 2880x1674 Mode: H264 (NVENC) CS_IN:I420 LR FF Stripes: 1 CRF:25 EncFPS: 2.00 EncStripes/s: 2.00
│ [pcmflux] First non-silent audio chunk detected! Encoding...
 [pcmflux] First non-silent audio chunk detected! Encoding...
│ [pcmflux] Status | Read: 1, Silent: 0 (0.0%), Encoded: 1, Rate: 0.01 kbps
│ Res: 2880x1674 Mode: H264 (NVENC) CS_IN:I420 LR FF Stripes: 1 CRF:25 EncFPS: 0.00 EncStripes/s: 0.00
│ Res: 2880x1674 Mode: H264 (NVENC) CS_IN:I420 LR FF Stripes: 1 CRF:25 EncFPS: 0.00 EncStripes/s: 0.00
│ [pcmflux] Status | Read: 17, Silent: 0 (0.0%), Encoded: 17, Rate: 0.20 kbps
│ Res: 2880x1674 Mode: H264 (NVENC) CS_IN:I420 LR FF Stripes: 1 CRF:25 EncFPS: 0.00 EncStripes/s: 0.00
│ Res: 2880x1674 Mode: H264 (NVENC) CS_IN:I420 LR FF Stripes: 1 CRF:25 EncFPS: 0.00 EncStripes/s: 0.00
│ CPU cores available: 48
│ Res: 2880x1674 Mode: H264 (NVENC) CS_IN:I420 LR FF Stripes: 1 CRF:25 EncFPS: 2.00 EncStripes/s: 2.00
│ [pcmflux] First non-silent audio chunk detected! Encoding...
 [pcmflux] First non-silent audio chunk detected! Encoding...
│ [pcmflux] Status | Read: 1, Silent: 0 (0.0%), Encoded: 1, Rate: 0.01 kbps
│ Res: 2880x1674 Mode: H264 (NVENC) CS_IN:I420 LR FF Stripes: 1 CRF:25 EncFPS: 0.00 EncStripes/s: 0.00
│ Res: 2880x1674 Mode: H264 (NVENC) CS_IN:I420 LR FF Stripes: 1 CRF:25 EncFPS: 0.00 EncStripes/s: 0.00

message.txt

message.txt

message.txt

Expected Behavior

Likely need to ensure that the keyframe was received and request a keyframe to the remote when the decoding is with issues or the screen doesn't show.

Steps To Reproduce

Randomly happens in NVENC w/ pixelflux.

Environment

- OS:
- How docker service was installed:

Docker creation

git clone https://github.com/selkies-project/selkies.git
cd selkies
git checkout -f feature/websockets
docker run --rm -it \
  --shm-size=1gb \
  -e DEV_MODE=selkies-dashboard \
  -e PUID=1000 \
  -e PGID=1000 \
  -v $(pwd):/config/src \
  -p 3001:3001 linuxserver/chromium bash

Container logs

Above.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions