Skip to content

ffmpeg kmsgrab crashes because plane format changes #448

Closed
@Foxboron

Description

@Foxboron

This is above my head sadly so I'm not super sure what the proper solution is :)

If I use kmsgrab on the Steam Deck with

$ ffmpeg -f kmsgrab -i - -vaapi_device /dev/dri/renderD128 -vf hwmap=derive_device=vaapi,scale_vaapi=format=nv12 -c:v h264_vaapi -bf 1 -f flv rtmp://.....

It will crash with [kmsgrab @ 0x561e6ec9d180] Plane 55 framebuffer format changed: now 34325258 whenever I swap between the UI and the game.

This seems to be because gamescope is actively changing the buffer format:
https://github.com/Plagman/gamescope/blob/master/src/drm.cpp#L144

Where as ffmpeg assumes it will be the same for the entire recording session.
https://github.com/FFmpeg/FFmpeg/blob/master/libavdevice/kmsgrab.c#L172

I'm not sure if this is solveable or if this is inherently an issue with ffmpeg. But thought I'd write an issue.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions