Skip to content

切换编码器为H264以后视频流失去响应 #227

@Fridayssheep

Description

@Fridayssheep

问题描述:如题,在将视频编码器从MJPEG切换为H264以后视频流卡死,且在一台arm机器(斐讯N1)上无法切换回MJPEG编码方式,整个前端卡死,无法修改视频流设置(修改设置点击保存日志仍是Video config unchanged, skipping reload)。在X86的一台机器上同样存在如此问题,但是可以将编码方式修改回MJPEG后继续使用。

Image 以下是斐讯N1的docker logs:
openkvm    | 2026-02-24T14:29:00.842782Z  INFO one_kvm::video::device: Enumerating video devices...
openkvm    | 2026-02-24T14:29:00.996996Z  INFO one_kvm::video::device: Found capture device: UVC Camera (345f:2109): USB Vid (     uvcvideo) - 2 formats
openkvm    | 2026-02-24T14:29:00.998679Z  INFO one_kvm::video::device: Found 1 video capture devices
openkvm    | 2026-02-24T14:29:01.037733Z  INFO one_kvm::audio::device: Found 1 audio capture devices
openkvm    | 2026-02-24T14:29:01.047164Z  INFO one_kvm::video::encoder::registry: Detecting available video encoders at 1920x1     080
openkvm    | 2026-02-24T14:29:01.047245Z  INFO one_kvm::video::encoder::registry: Encoder detection timeout: 5000ms
openkvm    | 2026-02-24T14:29:06.047658Z  WARN one_kvm::video::encoder::registry: Encoder detection timed out after 5000ms, sk     ipping hardware detection
openkvm    | 2026-02-24T14:29:06.047770Z  INFO one_kvm::video::encoder::registry: Found 0 encoders from hwcodec
openkvm    | 2026-02-24T14:29:06.047805Z  INFO one_kvm::video::encoder::registry: Registering software encoders...
openkvm    | 2026-02-24T14:29:06.047857Z  INFO one_kvm::video::encoder::registry: H.264: 1 encoders (0 hardware, 1 software)
openkvm    | 2026-02-24T14:29:06.047888Z  INFO one_kvm::video::encoder::registry: H.265/HEVC: 1 encoders (0 hardware, 1 softwa     re)
openkvm    | 2026-02-24T14:29:06.047917Z  INFO one_kvm::video::encoder::registry: VP8: 1 encoders (0 hardware, 1 software)
openkvm    | 2026-02-24T14:29:06.047944Z  INFO one_kvm::video::encoder::registry: VP9: 1 encoders (0 hardware, 1 software)
openkvm    | 2026-02-24T14:29:40.062206Z  INFO one_kvm::web::handlers: Extension config after save: ttyd.enabled=false, rustde     sk.enabled=false
openkvm    | 2026-02-24T14:29:40.062316Z  INFO one_kvm::hid: Reloading HID backend: Otg
openkvm    | 2026-02-24T14:29:40.062341Z  INFO one_kvm::hid: Initializing OTG HID backend
openkvm    | 2026-02-24T14:29:40.062358Z  INFO one_kvm::otg::service: Enabling HID functions via OtgService
openkvm    | 2026-02-24T14:29:40.062378Z  INFO one_kvm::otg::service: Recreating gadget with: HID=true, MSD=true
openkvm    | 2026-02-24T14:29:40.062397Z  INFO one_kvm::otg::service: Cleaning up existing gadget before recreate
openkvm    | 2026-02-24T14:29:40.062461Z  INFO one_kvm::otg::manager: Cleaning up OTG USB Gadget: one-kvm
openkvm    | 2026-02-24T14:29:40.064859Z  INFO one_kvm::otg::manager: Unbound gadget from UDC
openkvm    | 2026-02-24T14:29:40.366039Z  INFO one_kvm::otg::msd: LUN 0 disconnected
openkvm    | 2026-02-24T14:29:40.367082Z  WARN one_kvm::otg::manager: Could not remove gadget directory: Internal error: Faile     d to remove directory /sys/kernel/config/usb_gadget/one-kvm: Directory not empty (os error 39)
openkvm    | 2026-02-24T14:29:40.367185Z  INFO one_kvm::otg::manager: OTG USB Gadget cleanup complete
openkvm    | 2026-02-24T14:29:40.367689Z  INFO one_kvm::otg::manager: Setting up OTG USB Gadget: one-kvm
openkvm    | 2026-02-24T14:29:40.368133Z  WARN one_kvm::otg::manager: Gadget exists but not bound, will reconfigure
openkvm    | 2026-02-24T14:29:40.368310Z  INFO one_kvm::otg::manager: Cleaning up OTG USB Gadget: one-kvm
openkvm    | 2026-02-24T14:29:40.372132Z  INFO one_kvm::otg::manager: OTG USB Gadget cleanup complete
openkvm    | 2026-02-24T14:29:40.383192Z  INFO one_kvm::otg::manager: OTG USB Gadget setup complete
openkvm    | 2026-02-24T14:29:40.385646Z  INFO one_kvm::otg::manager: Binding gadget to UDC: c9100000.usb
openkvm    | 2026-02-24T14:29:40.699111Z  INFO one_kvm::otg::service: Gadget created successfully
openkvm    | 2026-02-24T14:29:40.699233Z  INFO one_kvm::hid::otg: Initializing OTG HID backend
openkvm    | 2026-02-24T14:29:40.699452Z  INFO one_kvm::hid::otg: Auto-detected UDC: c9100000.usb
openkvm    | 2026-02-24T14:29:40.699697Z  INFO one_kvm::hid::otg: Keyboard device opened: /dev/hidg0
openkvm    | 2026-02-24T14:29:40.699828Z  INFO one_kvm::hid::otg: Relative mouse device opened: /dev/hidg1
openkvm    | 2026-02-24T14:29:40.699976Z  INFO one_kvm::hid::otg: Absolute mouse device opened: /dev/hidg2
openkvm    | 2026-02-24T14:29:40.700083Z  INFO one_kvm::hid::otg: Consumer control device opened: /dev/hidg3
openkvm    | 2026-02-24T14:29:40.700132Z  INFO one_kvm::hid: OTG backend initialized successfully
openkvm    | 2026-02-24T14:29:40.700172Z  INFO one_kvm::hid: HID backend reloaded successfully: Otg
openkvm    | 2026-02-24T14:29:40.700419Z  INFO one_kvm::web::handlers: HID backend initialized: Otg
openkvm    | 2026-02-24T14:29:40.700506Z  INFO one_kvm::web::handlers: Audio started during setup: device=hw:1,0
openkvm    | 2026-02-24T14:29:40.700554Z  INFO one_kvm::webrtc::webrtc_streamer: WebRTC audio enabled: true
openkvm    | 2026-02-24T14:29:40.700584Z  INFO one_kvm::web::handlers: System initialized successfully
openkvm    | 2026-02-24T14:29:41.008090Z  INFO one_kvm::video::streamer: Starting background tasks (stats, cleanup, monitor)
openkvm    | 2026-02-24T14:29:41.008275Z  INFO one_kvm::video::streamer: Streaming started
openkvm    | 2026-02-24T14:29:41.059354Z  INFO one_kvm::stream::mjpeg: Client 0083b1ec-97e3-4fe6-aa32-83dc23fa98f8 connected (     total: 1)
openkvm    | 2026-02-24T14:29:41.176947Z  INFO one_kvm::video::streamer: Capture format: 1920x1080 Mjpeg stride=0
openkvm    | 2026-02-24T14:29:41.356502Z  INFO one_kvm::web::ws: WebSocket client connected
openkvm    | 2026-02-24T14:29:41.357993Z  INFO one_kvm::web::ws: Client subscribed to topics: ["*"]
openkvm    | 2026-02-24T14:29:41.843006Z  INFO one_kvm::hid::websocket: WebSocket HID connection established (binary protocol)
openkvm    | 2026-02-24T14:29:45.555851Z  INFO one_kvm::video::device: Enumerating video devices...
openkvm    | 2026-02-24T14:29:45.563481Z  INFO one_kvm::video::device: Found capture device: UVC Camera (345f:2109): USB Vid (     uvcvideo) - 2 formats
openkvm    | 2026-02-24T14:29:45.564699Z  INFO one_kvm::video::device: Found 1 video capture devices
openkvm    | 2026-02-24T14:29:45.580695Z  INFO one_kvm::audio::device: Found 1 audio capture devices
openkvm    | 2026-02-24T14:29:49.283942Z  INFO one_kvm::stream::mjpeg: Client 0083b1ec-97e3-4fe6-aa32-83dc23fa98f8 disconnecte     d after 8.2s (224 frames, 27.3 avg FPS)
openkvm    | 2026-02-24T14:29:49.317228Z  INFO one_kvm::web::handlers: Setting WebRTC video codec to H264
openkvm    | 2026-02-24T14:29:49.321101Z  INFO one_kvm::video::stream_manager: Switching video mode: Mjpeg -> WebRTC
openkvm    | 2026-02-24T14:29:49.321264Z  INFO one_kvm::video::stream_manager: Stopping MJPEG streaming
openkvm    | 2026-02-24T14:29:49.355792Z  INFO one_kvm::video::streamer: Streaming stopped
openkvm    | 2026-02-24T14:29:49.355888Z  INFO one_kvm::video::stream_manager: Activating WebRTC mode
openkvm    | 2026-02-24T14:29:49.355926Z  INFO one_kvm::video::stream_manager: Configuring WebRTC capture pipeline: 1920x1080      Mjpeg @ 30fps
openkvm    | 2026-02-24T14:29:49.355965Z  INFO one_kvm::webrtc::webrtc_streamer: Setting direct capture device for WebRTC: "/d     ev/video1"
openkvm    | 2026-02-24T14:29:49.356021Z  INFO one_kvm::video::stream_manager: WebRTC mode activated (sessions created on-dema     nd)
openkvm    | 2026-02-24T14:29:49.379217Z  INFO one_kvm::video::stream_manager: Video mode switched to WebRTC
openkvm    | 2026-02-24T14:29:49.405597Z  INFO one_kvm::webrtc::webrtc_streamer: Creating shared video pipeline for H264
openkvm    | 2026-02-24T14:29:49.405711Z  INFO one_kvm::video::shared_video_pipeline: Creating shared video pipeline: H.264 19     20x1080 @ Balanced (4 Mbps) (input: MJPEG)
openkvm    | 2026-02-24T14:29:50.188427Z  INFO one_kvm::web::handlers::config::apply: Video config unchanged, skipping reload
openkvm    | 2026-02-24T14:30:10.719721Z  INFO one_kvm::web::handlers::config::apply: Video config unchanged, skipping reload
openkvm    | 2026-02-24T14:30:18.060326Z  INFO one_kvm::web::handlers::config::apply: Video config unchanged, skipping reload
openkvm    | 2026-02-24T14:30:18.252975Z  INFO one_kvm::web::handlers::config::apply: Video config unchanged, skipping reload
openkvm    | 2026-02-24T14:30:18.438960Z  INFO one_kvm::web::handlers::config::apply: Video config unchanged, skipping reload
openkvm    | 2026-02-24T14:30:18.607314Z  INFO one_kvm::web::handlers::config::apply: Video config unchanged, skipping reload
openkvm    | 2026-02-24T14:30:18.775472Z  INFO one_kvm::web::handlers::config::apply: Video config unchanged, skipping reload

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions