This commit is contained in:
Connor Johnstone committed 2026-09-29 16:24:41 -04:00
1 parent e25bb71fb7
commit 0943d99465
21 files changed
+2189 -301

No files matched your search

+11
View File
@@ -0,0 +1,11 @@
#!/usr/bin/env bash
# scrollburst.sh — burst of mouse-wheel scrolling for N seconds
# Usage: scrollburst.sh [seconds] (default: 5)
DUR="${1:-5}"
CLICKS=$(( DUR * 50 )) # 50 wheel clicks/sec
for ((i=0; i<CLICKS; i++)); do
ydotool click 5C # 5 = wheel down, C = click
sleep 0.02
done
+2 -1
View File
@@ -168,6 +168,8 @@ bind = $mainMod SHIFT, Q, exit
bind = $mainMod CTRL, L, exec, hyprlock
bind = $mainMod CTRL, Return, exec, $bin/hypr_workspace "kittySpace" "kitty --title 'kittySpace'"
bind = $mainMod, V, exec, $bin/scrollburst.sh
# Master layout specific binds
bind = $mainMod, Space, layoutmsg, swapwithmaster
bind = $mainMod, Y, layoutmsg, addmaster
@@ -270,7 +272,6 @@ exec-once = [workspace special:juliaSpace silent] $terminal --title "juliaSpace"
exec-once = [workspace special:musicPlayer silent] $terminal --title "musicPlayer" -e ncmpcpp
exec-once = [workspace special:kittySpace silent] $terminal --title "kittySpace"
exec-once = [workspace 1] $terminal -o "window_padding_width=0" --session ~/.local/share/kitty_htop
exec-once = [workspace 1] $terminal -e "$bin/hyprctl_modify_wkspc1"
exec-once = [workspace 1] $browser
exec-once = [workspace 2] $terminal
exec-once = hypridle
+4
View File
@@ -12,6 +12,10 @@
"rev": "b03fb0f20bc1d43daf558cda981a2be22e73ac42",
"src": "https://github.com/mason-org/mason.nvim"
},
"minuet-ai.nvim": {
"rev": "3b0a4c5f97b7124d94302c608fbe01c0270d4fbe",
"src": "https://github.com/milanglacier/minuet-ai.nvim"
},
"nvim-coverage": {
"rev": "a939e425e363319d952a6c35fb3f38b34041ded2",
"src": "https://github.com/andythigpen/nvim-coverage"
+308 -142
View File
@@ -1,6 +1,7 @@
{
"name": "Untitled",
"DesktopAudioDevice1": {
"prev_ver": 536870914,
"prev_ver": 537001984,
"name": "Desktop Audio",
"uuid": "1e5165bb-aa6c-4ef4-8641-186f0d9157c0",
"id": "pulse_output_capture",
@@ -31,7 +32,7 @@
"private_settings": {}
},
"AuxAudioDevice1": {
"prev_ver": 536870914,
"prev_ver": 537001984,
"name": "Mic/Aux",
"uuid": "7bc14d95-f97e-44e8-9a10-da9b28d8eab9",
"id": "pulse_input_capture",
@@ -61,29 +62,194 @@
"monitoring_type": 0,
"private_settings": {}
},
"current_scene": "Scene",
"current_program_scene": "Scene",
"scene_order": [
{
"name": "Scene"
}
],
"name": "Untitled",
"sources": [
{
"prev_ver": 536870914,
"prev_ver": 537001984,
"name": "Video Capture Device (V4L2)",
"uuid": "19e6b7b9-d2c9-40b2-be3c-45dc514d9988",
"id": "v4l2_input",
"versioned_id": "v4l2_input",
"settings": {
"device_id": "/dev/video2",
"Power Line Frequency": 0,
"White Balance Temperature": 5333,
"Sharpness": 34,
"White Balance, Automatic": true,
"Saturation": 58,
"Contrast": 45,
"input": 0,
"pixelformat": 1196444237,
"resolution": 8246337209400,
"framerate": 30
},
"mixers": 0,
"sync": 0,
"flags": 0,
"volume": 1.0,
"balance": 0.5,
"enabled": true,
"muted": false,
"push-to-mute": false,
"push-to-mute-delay": 0,
"push-to-talk": false,
"push-to-talk-delay": 0,
"hotkeys": {},
"deinterlace_mode": 0,
"deinterlace_field_order": 0,
"monitoring_type": 0,
"private_settings": {},
"filters": [
{
"prev_ver": 537001984,
"name": "Kodak DSCS 3151",
"uuid": "47e24031-4864-4371-a440-9c8abf5b1def",
"id": "clut_filter",
"versioned_id": "clut_filter",
"settings": {
"image_path": "/tmp/LUTpack/Film Presets/kodak_dscs_3151.png",
"clut_amount": 0.5292,
"passthrough_alpha": false
},
"mixers": 0,
"sync": 0,
"flags": 0,
"volume": 1.0,
"balance": 0.5,
"enabled": true,
"muted": false,
"push-to-mute": false,
"push-to-mute-delay": 0,
"push-to-talk": false,
"push-to-talk-delay": 0,
"hotkeys": {},
"deinterlace_mode": 0,
"deinterlace_field_order": 0,
"monitoring_type": 0,
"private_settings": {}
},
{
"prev_ver": 537001984,
"name": "Vista",
"uuid": "572153dd-a931-4882-85e8-301f9acee18a",
"id": "clut_filter",
"versioned_id": "clut_filter",
"settings": {
"image_path": "/tmp/LUTpack/Film Presets/agfa_agfacolor_vista_800.png",
"clut_amount": 0.52090000000000003
},
"mixers": 0,
"sync": 0,
"flags": 0,
"volume": 1.0,
"balance": 0.5,
"enabled": false,
"muted": false,
"push-to-mute": false,
"push-to-mute-delay": 0,
"push-to-talk": false,
"push-to-talk-delay": 0,
"hotkeys": {},
"deinterlace_mode": 0,
"deinterlace_field_order": 0,
"monitoring_type": 0,
"private_settings": {}
},
{
"prev_ver": 537001984,
"name": "Webcam 3",
"uuid": "093704e2-1de9-426d-879f-c17227e87b16",
"id": "clut_filter",
"versioned_id": "clut_filter",
"settings": {
"image_path": "/tmp/LUTpack/Webcam Presets/webcam_preset_3.png",
"clut_amount": 0.4123,
"passthrough_alpha": false
},
"mixers": 0,
"sync": 0,
"flags": 0,
"volume": 1.0,
"balance": 0.5,
"enabled": false,
"muted": false,
"push-to-mute": false,
"push-to-mute-delay": 0,
"push-to-talk": false,
"push-to-talk-delay": 0,
"hotkeys": {},
"deinterlace_mode": 0,
"deinterlace_field_order": 0,
"monitoring_type": 0,
"private_settings": {}
}
]
},
{
"prev_ver": 537001984,
"name": "Screen Capture (PipeWire) 2",
"uuid": "7c3de2ad-03b4-453f-8760-000f54ceaa8b",
"id": "pipewire-screen-capture-source",
"versioned_id": "pipewire-screen-capture-source",
"settings": {
"RestoreToken": ""
},
"mixers": 0,
"sync": 0,
"flags": 0,
"volume": 1.0,
"balance": 0.5,
"enabled": true,
"muted": false,
"push-to-mute": false,
"push-to-mute-delay": 0,
"push-to-talk": false,
"push-to-talk-delay": 0,
"hotkeys": {},
"deinterlace_mode": 0,
"deinterlace_field_order": 0,
"monitoring_type": 0,
"private_settings": {}
},
{
"prev_ver": 537001984,
"name": "Screen Capture (PipeWire)",
"uuid": "210b9700-5f85-49bf-9bf4-2df45978f000",
"id": "pipewire-screen-capture-source",
"versioned_id": "pipewire-screen-capture-source",
"settings": {
"RestoreToken": ""
},
"mixers": 0,
"sync": 0,
"flags": 0,
"volume": 1.0,
"balance": 0.5,
"enabled": true,
"muted": false,
"push-to-mute": false,
"push-to-mute-delay": 0,
"push-to-talk": false,
"push-to-talk-delay": 0,
"hotkeys": {},
"deinterlace_mode": 0,
"deinterlace_field_order": 0,
"monitoring_type": 0,
"private_settings": {}
},
{
"prev_ver": 537001984,
"name": "Scene",
"uuid": "571cfff7-75f0-452e-bb93-fc946789807a",
"id": "scene",
"versioned_id": "scene",
"settings": {
"id_counter": 9,
"id_counter": 14,
"custom_size": false,
"items": [
{
"name": "Video Capture Device (V4L2)",
"source_uuid": "19e6b7b9-d2c9-40b2-be3c-45dc514d9988",
"visible": true,
"visible": false,
"locked": false,
"rot": 0.0,
"scale_ref": {
@@ -134,6 +300,116 @@
"duration": 0
},
"private_settings": {}
},
{
"name": "Screen Capture (PipeWire) 2",
"source_uuid": "7c3de2ad-03b4-453f-8760-000f54ceaa8b",
"visible": false,
"locked": false,
"rot": 0.0,
"scale_ref": {
"x": 1920.0,
"y": 1080.0
},
"align": 5,
"bounds_type": 1,
"bounds_align": 0,
"bounds_crop": false,
"crop_left": 0,
"crop_top": 0,
"crop_right": 0,
"crop_bottom": 0,
"id": 13,
"group_item_backup": false,
"pos": {
"x": 0.0,
"y": 0.0
},
"pos_rel": {
"x": -1.7777777910232544,
"y": -1.0
},
"scale": {
"x": 1.0,
"y": 1.0
},
"scale_rel": {
"x": 1.0,
"y": 1.0
},
"bounds": {
"x": 1920.0,
"y": 1080.0
},
"bounds_rel": {
"x": 3.5555555820465088,
"y": 2.0
},
"scale_filter": "disable",
"blend_method": "default",
"blend_type": "normal",
"show_transition": {
"duration": 300
},
"hide_transition": {
"duration": 300
},
"private_settings": {}
},
{
"name": "Screen Capture (PipeWire)",
"source_uuid": "210b9700-5f85-49bf-9bf4-2df45978f000",
"visible": true,
"locked": false,
"rot": 0.0,
"scale_ref": {
"x": 1920.0,
"y": 1080.0
},
"align": 5,
"bounds_type": 1,
"bounds_align": 0,
"bounds_crop": false,
"crop_left": 0,
"crop_top": 0,
"crop_right": 0,
"crop_bottom": 0,
"id": 14,
"group_item_backup": false,
"pos": {
"x": 0.0,
"y": 0.0
},
"pos_rel": {
"x": -1.7777777910232544,
"y": -1.0
},
"scale": {
"x": 1.0,
"y": 1.0
},
"scale_rel": {
"x": 1.0,
"y": 1.0
},
"bounds": {
"x": 1920.0,
"y": 1080.0
},
"bounds_rel": {
"x": 3.5555555820465088,
"y": 2.0
},
"scale_filter": "disable",
"blend_method": "default",
"blend_type": "normal",
"show_transition": {
"duration": 300
},
"hide_transition": {
"duration": 300
},
"private_settings": {}
}
]
},
@@ -151,137 +427,31 @@
"hotkeys": {
"OBSBasic.SelectScene": [],
"libobs.show_scene_item.9": [],
"libobs.hide_scene_item.9": []
"libobs.hide_scene_item.9": [],
"libobs.show_scene_item.13": [],
"libobs.hide_scene_item.13": [],
"libobs.show_scene_item.14": [],
"libobs.hide_scene_item.14": []
},
"deinterlace_mode": 0,
"deinterlace_field_order": 0,
"monitoring_type": 0,
"canvas_uuid": "6c69626f-6273-4c00-9d88-c5136d61696e",
"private_settings": {}
},
{
"prev_ver": 536870914,
"name": "Video Capture Device (V4L2)",
"uuid": "19e6b7b9-d2c9-40b2-be3c-45dc514d9988",
"id": "v4l2_input",
"versioned_id": "v4l2_input",
"settings": {
"device_id": "/dev/video2",
"Power Line Frequency": 0,
"White Balance Temperature": 5333,
"Sharpness": 34,
"White Balance, Automatic": true,
"Saturation": 58,
"Contrast": 45,
"input": 0,
"pixelformat": 1196444237,
"resolution": 8246337209400,
"framerate": 30
},
"mixers": 0,
"sync": 0,
"flags": 0,
"volume": 1.0,
"balance": 0.5,
"enabled": true,
"muted": false,
"push-to-mute": false,
"push-to-mute-delay": 0,
"push-to-talk": false,
"push-to-talk-delay": 0,
"hotkeys": {},
"deinterlace_mode": 0,
"deinterlace_field_order": 0,
"monitoring_type": 0,
"private_settings": {},
"filters": [
{
"prev_ver": 536870914,
"name": "Kodak DSCS 3151",
"uuid": "47e24031-4864-4371-a440-9c8abf5b1def",
"id": "clut_filter",
"versioned_id": "clut_filter",
"settings": {
"image_path": "/tmp/LUTpack/Film Presets/kodak_dscs_3151.png",
"clut_amount": 0.5292,
"passthrough_alpha": false
},
"mixers": 0,
"sync": 0,
"flags": 0,
"volume": 1.0,
"balance": 0.5,
"enabled": true,
"muted": false,
"push-to-mute": false,
"push-to-mute-delay": 0,
"push-to-talk": false,
"push-to-talk-delay": 0,
"hotkeys": {},
"deinterlace_mode": 0,
"deinterlace_field_order": 0,
"monitoring_type": 0,
"private_settings": {}
},
{
"prev_ver": 536870914,
"name": "Vista",
"uuid": "572153dd-a931-4882-85e8-301f9acee18a",
"id": "clut_filter",
"versioned_id": "clut_filter",
"settings": {
"image_path": "/tmp/LUTpack/Film Presets/agfa_agfacolor_vista_800.png",
"clut_amount": 0.5209
},
"mixers": 0,
"sync": 0,
"flags": 0,
"volume": 1.0,
"balance": 0.5,
"enabled": false,
"muted": false,
"push-to-mute": false,
"push-to-mute-delay": 0,
"push-to-talk": false,
"push-to-talk-delay": 0,
"hotkeys": {},
"deinterlace_mode": 0,
"deinterlace_field_order": 0,
"monitoring_type": 0,
"private_settings": {}
},
{
"prev_ver": 536870914,
"name": "Webcam 3",
"uuid": "093704e2-1de9-426d-879f-c17227e87b16",
"id": "clut_filter",
"versioned_id": "clut_filter",
"settings": {
"image_path": "/tmp/LUTpack/Webcam Presets/webcam_preset_3.png",
"clut_amount": 0.4123,
"passthrough_alpha": false
},
"mixers": 0,
"sync": 0,
"flags": 0,
"volume": 1.0,
"balance": 0.5,
"enabled": false,
"muted": false,
"push-to-mute": false,
"push-to-mute-delay": 0,
"push-to-talk": false,
"push-to-talk-delay": 0,
"hotkeys": {},
"deinterlace_mode": 0,
"deinterlace_field_order": 0,
"monitoring_type": 0,
"private_settings": {}
}
]
}
],
"groups": [],
"scene_order": [
{
"name": "Scene"
}
],
"current_scene": "Scene",
"current_program_scene": "Scene",
"canvases": [],
"current_transition": "Fade",
"transition_duration": 300,
"transitions": [],
"quick_transitions": [
{
"name": "Cut",
@@ -305,14 +475,10 @@
"fade_to_black": true
}
],
"transitions": [],
"saved_projectors": [],
"canvases": [],
"current_transition": "Fade",
"transition_duration": 300,
"preview_locked": false,
"scaling_enabled": false,
"scaling_level": -2,
"scaling_level": 9,
"scaling_off_x": 0.0,
"scaling_off_y": 0.0,
"virtual-camera": {
@@ -343,9 +509,9 @@
"x": 1920,
"y": 1080
},
"version": 2,
"migration_resolution": {
"x": 1920,
"y": 1080
}
},
"version": 2
}
+308 -142
View File
@@ -1,6 +1,7 @@
{
"name": "Untitled",
"DesktopAudioDevice1": {
"prev_ver": 536870914,
"prev_ver": 537001984,
"name": "Desktop Audio",
"uuid": "1e5165bb-aa6c-4ef4-8641-186f0d9157c0",
"id": "pulse_output_capture",
@@ -31,7 +32,7 @@
"private_settings": {}
},
"AuxAudioDevice1": {
"prev_ver": 536870914,
"prev_ver": 537001984,
"name": "Mic/Aux",
"uuid": "7bc14d95-f97e-44e8-9a10-da9b28d8eab9",
"id": "pulse_input_capture",
@@ -61,29 +62,194 @@
"monitoring_type": 0,
"private_settings": {}
},
"current_scene": "Scene",
"current_program_scene": "Scene",
"scene_order": [
{
"name": "Scene"
}
],
"name": "Untitled",
"sources": [
{
"prev_ver": 536870914,
"prev_ver": 537001984,
"name": "Video Capture Device (V4L2)",
"uuid": "19e6b7b9-d2c9-40b2-be3c-45dc514d9988",
"id": "v4l2_input",
"versioned_id": "v4l2_input",
"settings": {
"device_id": "/dev/video2",
"Power Line Frequency": 0,
"White Balance Temperature": 5333,
"Sharpness": 34,
"White Balance, Automatic": true,
"Saturation": 58,
"Contrast": 45,
"input": 0,
"pixelformat": 1196444237,
"resolution": 8246337209400,
"framerate": 30
},
"mixers": 0,
"sync": 0,
"flags": 0,
"volume": 1.0,
"balance": 0.5,
"enabled": true,
"muted": false,
"push-to-mute": false,
"push-to-mute-delay": 0,
"push-to-talk": false,
"push-to-talk-delay": 0,
"hotkeys": {},
"deinterlace_mode": 0,
"deinterlace_field_order": 0,
"monitoring_type": 0,
"private_settings": {},
"filters": [
{
"prev_ver": 537001984,
"name": "Kodak DSCS 3151",
"uuid": "47e24031-4864-4371-a440-9c8abf5b1def",
"id": "clut_filter",
"versioned_id": "clut_filter",
"settings": {
"image_path": "/tmp/LUTpack/Film Presets/kodak_dscs_3151.png",
"clut_amount": 0.5292,
"passthrough_alpha": false
},
"mixers": 0,
"sync": 0,
"flags": 0,
"volume": 1.0,
"balance": 0.5,
"enabled": true,
"muted": false,
"push-to-mute": false,
"push-to-mute-delay": 0,
"push-to-talk": false,
"push-to-talk-delay": 0,
"hotkeys": {},
"deinterlace_mode": 0,
"deinterlace_field_order": 0,
"monitoring_type": 0,
"private_settings": {}
},
{
"prev_ver": 537001984,
"name": "Vista",
"uuid": "572153dd-a931-4882-85e8-301f9acee18a",
"id": "clut_filter",
"versioned_id": "clut_filter",
"settings": {
"image_path": "/tmp/LUTpack/Film Presets/agfa_agfacolor_vista_800.png",
"clut_amount": 0.52090000000000003
},
"mixers": 0,
"sync": 0,
"flags": 0,
"volume": 1.0,
"balance": 0.5,
"enabled": false,
"muted": false,
"push-to-mute": false,
"push-to-mute-delay": 0,
"push-to-talk": false,
"push-to-talk-delay": 0,
"hotkeys": {},
"deinterlace_mode": 0,
"deinterlace_field_order": 0,
"monitoring_type": 0,
"private_settings": {}
},
{
"prev_ver": 537001984,
"name": "Webcam 3",
"uuid": "093704e2-1de9-426d-879f-c17227e87b16",
"id": "clut_filter",
"versioned_id": "clut_filter",
"settings": {
"image_path": "/tmp/LUTpack/Webcam Presets/webcam_preset_3.png",
"clut_amount": 0.4123,
"passthrough_alpha": false
},
"mixers": 0,
"sync": 0,
"flags": 0,
"volume": 1.0,
"balance": 0.5,
"enabled": false,
"muted": false,
"push-to-mute": false,
"push-to-mute-delay": 0,
"push-to-talk": false,
"push-to-talk-delay": 0,
"hotkeys": {},
"deinterlace_mode": 0,
"deinterlace_field_order": 0,
"monitoring_type": 0,
"private_settings": {}
}
]
},
{
"prev_ver": 537001984,
"name": "Screen Capture (PipeWire) 2",
"uuid": "7c3de2ad-03b4-453f-8760-000f54ceaa8b",
"id": "pipewire-screen-capture-source",
"versioned_id": "pipewire-screen-capture-source",
"settings": {
"RestoreToken": ""
},
"mixers": 0,
"sync": 0,
"flags": 0,
"volume": 1.0,
"balance": 0.5,
"enabled": true,
"muted": false,
"push-to-mute": false,
"push-to-mute-delay": 0,
"push-to-talk": false,
"push-to-talk-delay": 0,
"hotkeys": {},
"deinterlace_mode": 0,
"deinterlace_field_order": 0,
"monitoring_type": 0,
"private_settings": {}
},
{
"prev_ver": 537001984,
"name": "Screen Capture (PipeWire)",
"uuid": "210b9700-5f85-49bf-9bf4-2df45978f000",
"id": "pipewire-screen-capture-source",
"versioned_id": "pipewire-screen-capture-source",
"settings": {
"RestoreToken": ""
},
"mixers": 0,
"sync": 0,
"flags": 0,
"volume": 1.0,
"balance": 0.5,
"enabled": true,
"muted": false,
"push-to-mute": false,
"push-to-mute-delay": 0,
"push-to-talk": false,
"push-to-talk-delay": 0,
"hotkeys": {},
"deinterlace_mode": 0,
"deinterlace_field_order": 0,
"monitoring_type": 0,
"private_settings": {}
},
{
"prev_ver": 537001984,
"name": "Scene",
"uuid": "571cfff7-75f0-452e-bb93-fc946789807a",
"id": "scene",
"versioned_id": "scene",
"settings": {
"id_counter": 9,
"id_counter": 14,
"custom_size": false,
"items": [
{
"name": "Video Capture Device (V4L2)",
"source_uuid": "19e6b7b9-d2c9-40b2-be3c-45dc514d9988",
"visible": true,
"visible": false,
"locked": false,
"rot": 0.0,
"scale_ref": {
@@ -134,6 +300,116 @@
"duration": 0
},
"private_settings": {}
},
{
"name": "Screen Capture (PipeWire) 2",
"source_uuid": "7c3de2ad-03b4-453f-8760-000f54ceaa8b",
"visible": false,
"locked": false,
"rot": 0.0,
"scale_ref": {
"x": 1920.0,
"y": 1080.0
},
"align": 5,
"bounds_type": 1,
"bounds_align": 0,
"bounds_crop": false,
"crop_left": 0,
"crop_top": 0,
"crop_right": 0,
"crop_bottom": 0,
"id": 13,
"group_item_backup": false,
"pos": {
"x": 0.0,
"y": 0.0
},
"pos_rel": {
"x": -1.7777777910232544,
"y": -1.0
},
"scale": {
"x": 1.0,
"y": 1.0
},
"scale_rel": {
"x": 1.0,
"y": 1.0
},
"bounds": {
"x": 1920.0,
"y": 1080.0
},
"bounds_rel": {
"x": 3.5555555820465088,
"y": 2.0
},
"scale_filter": "disable",
"blend_method": "default",
"blend_type": "normal",
"show_transition": {
"duration": 300
},
"hide_transition": {
"duration": 300
},
"private_settings": {}
},
{
"name": "Screen Capture (PipeWire)",
"source_uuid": "210b9700-5f85-49bf-9bf4-2df45978f000",
"visible": true,
"locked": false,
"rot": 0.0,
"scale_ref": {
"x": 1920.0,
"y": 1080.0
},
"align": 5,
"bounds_type": 1,
"bounds_align": 0,
"bounds_crop": false,
"crop_left": 0,
"crop_top": 0,
"crop_right": 0,
"crop_bottom": 0,
"id": 14,
"group_item_backup": false,
"pos": {
"x": 0.0,
"y": 0.0
},
"pos_rel": {
"x": -1.7777777910232544,
"y": -1.0
},
"scale": {
"x": 1.0,
"y": 1.0
},
"scale_rel": {
"x": 1.0,
"y": 1.0
},
"bounds": {
"x": 1920.0,
"y": 1080.0
},
"bounds_rel": {
"x": 3.5555555820465088,
"y": 2.0
},
"scale_filter": "disable",
"blend_method": "default",
"blend_type": "normal",
"show_transition": {
"duration": 300
},
"hide_transition": {
"duration": 300
},
"private_settings": {}
}
]
},
@@ -151,137 +427,31 @@
"hotkeys": {
"OBSBasic.SelectScene": [],
"libobs.show_scene_item.9": [],
"libobs.hide_scene_item.9": []
"libobs.hide_scene_item.9": [],
"libobs.show_scene_item.13": [],
"libobs.hide_scene_item.13": [],
"libobs.show_scene_item.14": [],
"libobs.hide_scene_item.14": []
},
"deinterlace_mode": 0,
"deinterlace_field_order": 0,
"monitoring_type": 0,
"canvas_uuid": "6c69626f-6273-4c00-9d88-c5136d61696e",
"private_settings": {}
},
{
"prev_ver": 536870914,
"name": "Video Capture Device (V4L2)",
"uuid": "19e6b7b9-d2c9-40b2-be3c-45dc514d9988",
"id": "v4l2_input",
"versioned_id": "v4l2_input",
"settings": {
"device_id": "/dev/video2",
"Power Line Frequency": 0,
"White Balance Temperature": 5333,
"Sharpness": 34,
"White Balance, Automatic": true,
"Saturation": 58,
"Contrast": 45,
"input": 0,
"pixelformat": 1196444237,
"resolution": 8246337209400,
"framerate": 30
},
"mixers": 0,
"sync": 0,
"flags": 0,
"volume": 1.0,
"balance": 0.5,
"enabled": true,
"muted": false,
"push-to-mute": false,
"push-to-mute-delay": 0,
"push-to-talk": false,
"push-to-talk-delay": 0,
"hotkeys": {},
"deinterlace_mode": 0,
"deinterlace_field_order": 0,
"monitoring_type": 0,
"private_settings": {},
"filters": [
{
"prev_ver": 536870914,
"name": "Kodak DSCS 3151",
"uuid": "47e24031-4864-4371-a440-9c8abf5b1def",
"id": "clut_filter",
"versioned_id": "clut_filter",
"settings": {
"image_path": "/tmp/LUTpack/Film Presets/kodak_dscs_3151.png",
"clut_amount": 0.5292,
"passthrough_alpha": false
},
"mixers": 0,
"sync": 0,
"flags": 0,
"volume": 1.0,
"balance": 0.5,
"enabled": true,
"muted": false,
"push-to-mute": false,
"push-to-mute-delay": 0,
"push-to-talk": false,
"push-to-talk-delay": 0,
"hotkeys": {},
"deinterlace_mode": 0,
"deinterlace_field_order": 0,
"monitoring_type": 0,
"private_settings": {}
},
{
"prev_ver": 536870914,
"name": "Vista",
"uuid": "572153dd-a931-4882-85e8-301f9acee18a",
"id": "clut_filter",
"versioned_id": "clut_filter",
"settings": {
"image_path": "/tmp/LUTpack/Film Presets/agfa_agfacolor_vista_800.png",
"clut_amount": 0.5209
},
"mixers": 0,
"sync": 0,
"flags": 0,
"volume": 1.0,
"balance": 0.5,
"enabled": false,
"muted": false,
"push-to-mute": false,
"push-to-mute-delay": 0,
"push-to-talk": false,
"push-to-talk-delay": 0,
"hotkeys": {},
"deinterlace_mode": 0,
"deinterlace_field_order": 0,
"monitoring_type": 0,
"private_settings": {}
},
{
"prev_ver": 536870914,
"name": "Webcam 3",
"uuid": "093704e2-1de9-426d-879f-c17227e87b16",
"id": "clut_filter",
"versioned_id": "clut_filter",
"settings": {
"image_path": "/tmp/LUTpack/Webcam Presets/webcam_preset_3.png",
"clut_amount": 0.4123,
"passthrough_alpha": false
},
"mixers": 0,
"sync": 0,
"flags": 0,
"volume": 1.0,
"balance": 0.5,
"enabled": false,
"muted": false,
"push-to-mute": false,
"push-to-mute-delay": 0,
"push-to-talk": false,
"push-to-talk-delay": 0,
"hotkeys": {},
"deinterlace_mode": 0,
"deinterlace_field_order": 0,
"monitoring_type": 0,
"private_settings": {}
}
]
}
],
"groups": [],
"scene_order": [
{
"name": "Scene"
}
],
"current_scene": "Scene",
"current_program_scene": "Scene",
"canvases": [],
"current_transition": "Fade",
"transition_duration": 300,
"transitions": [],
"quick_transitions": [
{
"name": "Cut",
@@ -305,14 +475,10 @@
"fade_to_black": true
}
],
"transitions": [],
"saved_projectors": [],
"canvases": [],
"current_transition": "Fade",
"transition_duration": 300,
"preview_locked": false,
"scaling_enabled": false,
"scaling_level": -2,
"scaling_level": 9,
"scaling_off_x": 0.0,
"scaling_off_y": 0.0,
"virtual-camera": {
@@ -343,9 +509,9 @@
"x": 1920,
"y": 1080
},
"version": 2,
"migration_resolution": {
"x": 1920,
"y": 1080
}
},
"version": 2
}
+1 -1
View File
@@ -10,7 +10,7 @@ EnableAutoUpdates=true
ConfirmOnExit=true
HotkeyFocusType=NeverDisableHotkeys
FirstRun=true
LastVersion=536870914
LastVersion=537001984
Pre31Migrated=true
BrowserHWAccel=true
@@ -0,0 +1,878 @@
12:51:03.199: Platform: Wayland
12:51:03.199: CPU Name: AMD Ryzen AI 9 HX 370 w/ Radeon 890M
12:51:03.199: CPU Speed: 3578.262MHz
12:51:03.200: Physical Cores: 12, Logical Cores: 24
12:51:03.200: Physical Memory: 63575MB Total, 11685MB Free
12:51:03.200: Kernel Version: Linux 7.0.0-31-generic
12:51:03.200: Distribution: "Ubuntu" "24.04"
12:51:03.200: Desktop Environment: Hyprland (hyprland)
12:51:03.200: Session Type: wayland
12:51:03.208: Current Date/Time: 2026-09-22, 12:51:03 PM
12:51:03.208: Browser Hardware Acceleration: true
12:51:03.208: Qt Version: 6.4.2 (runtime), 6.4.2 (compiled)
12:51:03.208: Portable mode: false
12:51:03.266: OBS 32.2.0 (linux)
12:51:03.266: ---------------------------------
12:51:03.267: ---------------------------------
12:51:03.267: audio settings reset:
12:51:03.267: samples per sec: 48000
12:51:03.267: speakers: 2
12:51:03.267: max buffering: 960 milliseconds
12:51:03.267: buffering type: dynamically increasing
12:51:03.268: ---------------------------------
12:51:03.268: Initializing OpenGL...
12:51:03.268: Using EGL/Wayland
12:51:03.311: Initialized EGL 1.5
12:51:03.329: Loading up OpenGL on adapter AMD AMD Radeon 890M Graphics (radeonsi, gfx1150, LLVM 20.1.2, DRM 3.64, 7.0.0-31-generic)
12:51:03.329: OpenGL loaded successfully, version 4.6 (Core Profile) Mesa 25.2.8-0ubuntu0.24.04.2, shading language 4.60
12:51:03.365: ---------------------------------
12:51:03.365: video settings reset:
12:51:03.365: base resolution: 1920x1080
12:51:03.365: output resolution: 1280x720
12:51:03.365: downscale filter: Bicubic
12:51:03.365: fps: 30/1
12:51:03.365: format: NV12
12:51:03.365: YUV mode: Rec. 709/Partial
12:51:03.365: NV12 texture support enabled
12:51:03.365: P010 texture support not available
12:51:03.370: Audio monitoring device:
12:51:03.370: name: Default
12:51:03.370: id: default
12:51:03.371: ---------------------------------
12:51:03.378: No AJA devices found, skipping loading AJA UI plugin
12:51:03.378: Failed to initialize module 'aja-output-ui.so'
12:51:03.383: No AJA devices found, skipping loading AJA plugin
12:51:03.383: Failed to initialize module 'aja.so'
12:51:03.385: Failed to load 'en-US' text for module: 'decklink-captions.so'
12:51:03.388: Failed to load 'en-US' text for module: 'decklink-output-ui.so'
12:51:03.389: A DeckLink iterator could not be created. The DeckLink drivers may not be installed
12:51:03.389: Failed to initialize module 'decklink.so'
12:51:03.543: [pipewire] Available capture sources:
12:51:03.543: [pipewire] - Monitor source
12:51:03.543: [pipewire] - Window source
12:51:03.553: [obs-browser]: Version 2.26.9
12:51:03.553: [obs-browser]: CEF Version 127.0.6533.120 (runtime), 127.0.0-6533-fix-stutter-and-osr-extra-info.3042+g176b09c+chromium-127.0.6533.120 (compiled)
12:51:03.574: VAAPI: API version 1.20
12:51:03.574: FFmpeg VAAPI H264 encoding supported
12:51:03.577: FFmpeg VAAPI AV1 encoding supported
12:51:03.580: FFmpeg VAAPI HEVC encoding supported
12:51:03.585: os_dlopen(libnvidia-encode.so.1->libnvidia-encode.so.1): libnvidia-encode.so.1: cannot open shared object file: No such file or directory
12:51:03.585:
12:51:03.585: NVENC not supported
12:51:03.585: Failed to initialize module 'obs-nvenc.so'
12:51:03.600: [obs-websocket] [obs_module_load] you can haz websockets (Version: 5.7.4 | RPC Version: 1)
12:51:03.600: [obs-websocket] [obs_module_load] Qt version (compile-time): 6.4.2 | Qt version (run-time): 6.4.2
12:51:03.600: [obs-websocket] [obs_module_load] Linked ASIO Version: 102801
12:51:03.600: [obs-websocket] [Config::Load] Existing configuration not found, using defaults.
12:51:03.600: [obs-websocket] [Config::Load] (FirstLoad) Generating new server password.
12:51:03.605: [obs-websocket] [obs_module_load] Module loaded.
12:51:03.608: os_dlopen(libvlc.so.5->libvlc.so.5): libvlc.so.5: cannot open shared object file: No such file or directory
12:51:03.608:
12:51:03.608: [vlc-video]: Couldn't find VLC installation, VLC video source disabled
12:51:03.608: ---------------------------------
12:51:03.608: Loaded Modules:
12:51:03.608: vlc-video.so
12:51:03.608: text-freetype2.so
12:51:03.608: rtmp-services.so
12:51:03.608: obs-x264.so
12:51:03.608: obs-websocket.so
12:51:03.608: obs-vst.so
12:51:03.608: obs-transitions.so
12:51:03.608: obs-qsv11.so
12:51:03.608: obs-outputs.so
12:51:03.608: obs-libfdk.so
12:51:03.608: obs-filters.so
12:51:03.608: obs-ffmpeg.so
12:51:03.608: obs-browser.so
12:51:03.608: linux-v4l2.so
12:51:03.608: linux-pulseaudio.so
12:51:03.608: linux-pipewire.so
12:51:03.608: linux-jack.so
12:51:03.608: linux-capture.so
12:51:03.608: linux-alsa.so
12:51:03.608: image-source.so
12:51:03.608: frontend-tools.so
12:51:03.608: decklink-output-ui.so
12:51:03.608: decklink-captions.so
12:51:03.608: ---------------------------------
12:51:03.609: ---------------------------------
12:51:03.609: Available Encoders:
12:51:03.609: Video Encoders:
12:51:03.609: - ffmpeg_svt_av1 (SVT-AV1)
12:51:03.609: - ffmpeg_aom_av1 (AOM AV1)
12:51:03.609: - ffmpeg_vaapi_tex (FFmpeg VAAPI H.264)
12:51:03.609: - av1_ffmpeg_vaapi_tex (FFmpeg VAAPI AV1)
12:51:03.609: - hevc_ffmpeg_vaapi_tex (FFmpeg VAAPI HEVC)
12:51:03.609: - obs_x264 (x264)
12:51:03.609: Audio Encoders:
12:51:03.609: - ffmpeg_aac (FFmpeg AAC)
12:51:03.609: - ffmpeg_opus (FFmpeg Opus)
12:51:03.609: - ffmpeg_pcm_s16le (FFmpeg PCM (16-bit))
12:51:03.609: - ffmpeg_pcm_s24le (FFmpeg PCM (24-bit))
12:51:03.609: - ffmpeg_pcm_f32le (FFmpeg PCM (32-bit float))
12:51:03.609: - ffmpeg_alac (FFmpeg ALAC (24-bit))
12:51:03.609: - ffmpeg_flac (FFmpeg FLAC (16-bit))
12:51:03.609: - libfdk_aac (libfdk AAC)
12:51:03.609: ==== Startup complete ===============================================
12:51:03.653: All scene data cleared
12:51:03.653: ------------------------------------------------
12:51:03.659: Device for 'Audio Output Capture' source Desktop Audio is also used for audio monitoring.
12:51:03.659: Deduplication logic is being applied to all monitored sources.
12:51:03.659: pulse-input: Server name: 'PulseAudio (on PipeWire 1.2.4) 15.0.0'
12:51:03.660: pulse-input: Audio format: s32le, 48000 Hz, 2 channels
12:51:03.660: pulse-input: Started recording from 'alsa_output.usb-Generic_USB_Audio-00.analog-stereo.monitor' (default)
12:51:03.660: [Loaded global audio device]: 'Desktop Audio'
12:51:03.660: pulse-input: Server name: 'PulseAudio (on PipeWire 1.2.4) 15.0.0'
12:51:03.660: pulse-input: Audio format: s16le, 48000 Hz, 1 channels
12:51:03.661: pulse-input: Started recording from 'alsa_input.usb-0c76_USB_PnP_Audio_Device-00.mono-fallback' (default)
12:51:03.661: [Loaded global audio device]: 'Mic/Aux'
12:51:03.661: v4l2-input: Start capture from /dev/video2
12:51:03.704: Device for 'Audio Output Capture' source Desktop Audio is also used for audio monitoring.
12:51:03.704: Deduplication logic is being applied to all monitored sources.
12:51:03.717: v4l2-input: Input: 0
12:51:03.722: v4l2-input: Resolution: 1920x1080
12:51:03.722: v4l2-input: Pixelformat: MJPG
12:51:03.722: v4l2-input: Linesize: 0 Bytes
12:51:03.725: v4l2-input: Framerate: 30.00 fps
12:51:03.726: v4l2-input: /dev/video2: select timeout set to 166666 (5x frame periods)
12:51:03.727: Switched to scene 'Scene'
12:51:03.727: ------------------------------------------------
12:51:03.727: Loaded scenes:
12:51:03.727: - scene 'Scene':
12:51:03.727: - source: 'Video Capture Device (V4L2)' (v4l2_input)
12:51:03.727: - filter: 'Kodak DSCS 3151' (clut_filter)
12:51:03.727: - filter: 'Vista' (clut_filter)
12:51:03.727: - filter: 'Webcam 3' (clut_filter)
12:51:03.727: ------------------------------------------------
12:51:03.736: Failed to open file '/tmp/LUTpack/Film Presets/kodak_dscs_3151.png': No such file or directory
12:51:03.736: gs_image_file_init_internal: Failed to load file '/tmp/LUTpack/Film Presets/kodak_dscs_3151.png'
12:51:03.741: Failed to open file '/tmp/LUTpack/Film Presets/agfa_agfacolor_vista_800.png': No such file or directory
12:51:03.742: gs_image_file_init_internal: Failed to load file '/tmp/LUTpack/Film Presets/agfa_agfacolor_vista_800.png'
12:51:03.742: Failed to open file '/tmp/LUTpack/Webcam Presets/webcam_preset_3.png': No such file or directory
12:51:03.742: gs_image_file_init_internal: Failed to load file '/tmp/LUTpack/Webcam Presets/webcam_preset_3.png'
12:51:03.894: v4l2-input: /dev/video2: select timed out
12:51:03.894: v4l2-input: /dev/video2: failed to log status
12:51:04.061: v4l2-input: /dev/video2: select timed out
12:51:04.061: v4l2-input: /dev/video2: failed to log status
12:51:04.145: [rtmp-services plugin] Successfully updated file 'services.json' (version 290)
12:51:04.145: [rtmp-services plugin] Successfully updated package (version 290)
12:51:04.227: adding 21 milliseconds of audio buffering, total audio buffering is now 21 milliseconds (source: Desktop Audio)
12:51:04.227:
12:51:04.228: v4l2-input: /dev/video2: select timed out
12:51:04.228: v4l2-input: /dev/video2: failed to log status
12:51:04.395: v4l2-input: /dev/video2: select timed out
12:51:04.395: v4l2-input: /dev/video2: failed to log status
12:51:04.562: v4l2-input: /dev/video2: select timed out
12:51:04.562: v4l2-input: /dev/video2: failed to log status
12:51:04.729: v4l2-input: /dev/video2: select timed out
12:51:04.729: v4l2-input: /dev/video2: failed to log status
12:51:04.896: v4l2-input: /dev/video2: select timed out
12:51:04.896: v4l2-input: /dev/video2: failed to log status
12:51:05.063: v4l2-input: /dev/video2: select timed out
12:51:05.063: v4l2-input: /dev/video2: failed to log status
12:51:05.230: v4l2-input: /dev/video2: select timed out
12:51:05.230: v4l2-input: /dev/video2: failed to log status
12:51:23.727: PipeWire initialized
12:51:23.730: User added source 'Screen Capture (PipeWire)' (pipewire-screen-capture-source) to scene 'Scene'
12:51:23.739: [pipewire] Screencast session created
12:51:40.255: [pipewire] Asking for monitor and window
12:51:40.295: [pipewire] source selected, setting up screencast
12:51:40.300: [pipewire] Server version: 1.2.4
12:51:40.300: [pipewire] Library version: 1.2.4
12:51:40.300: [pipewire] Header version: 1.0.5
12:51:40.320: [pipewire] Created stream 0x58c6bad94f80
12:51:40.320: [pipewire] Stream 0x58c6bad94f80 state: "connecting" (error: none)
12:51:40.320: [pipewire] Playing stream 0x58c6bad94f80
12:51:40.346: [pipewire] Stream 0x58c6bad94f80 state: "paused" (error: none)
12:51:40.347: [pipewire] Negotiated format:
12:51:40.347: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
12:51:40.347: [pipewire] Modifier: 0x0
12:51:40.347: [pipewire] Size: 3804x1887
12:51:40.347: [pipewire] Framerate: 0/1
12:51:40.350: [pipewire] Negotiated format:
12:51:40.350: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
12:51:40.350: [pipewire] Modifier: 0x200000010437b04
12:51:40.350: [pipewire] Size: 3804x1887
12:51:40.350: [pipewire] Framerate: 0/1
12:51:40.351: [pipewire] Stream 0x58c6bad94f80 state: "streaming" (error: none)
12:51:40.587: Cannot create EGLImage: Arguments are inconsistent (for example, a valid context requires buffers not supplied by a valid surface).
12:51:40.587: [pipewire] Renegotiating stream
12:51:40.587: [pipewire] Negotiated format:
12:51:40.587: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
12:51:40.587: [pipewire] Modifier: 0x200000010437b04
12:51:40.587: [pipewire] Size: 3804x1887
12:51:40.587: [pipewire] Framerate: 0/1
12:51:40.596: [pipewire] Negotiated format:
12:51:40.596: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
12:51:40.596: [pipewire] Modifier: 0x200000010401b04
12:51:40.596: [pipewire] Size: 3804x1887
12:51:40.596: [pipewire] Framerate: 0/1
12:52:07.136: [pipewire] Stream 0x58c6bad94f80 state: "paused" (error: none)
12:52:09.173: [pipewire] Stream 0x58c6bad94f80 state: "streaming" (error: none)
12:52:55.345: setGrabPopup called with a parent, QtWaylandClient::QWaylandXdgSurface(0x58c6b88a5d50) which does not match the current topmost grabbing popup, QtWaylandClient::QWaylandXdgSurface(0x58c6baf64e90) According to the xdg-shell protocol, this is not allowed. The wayland QPA plugin is currently handling it by setting the parent to the topmost grabbing popup. Note, however, that this may cause positioning errors and popups closing unxpectedly because xdg-shell mandate that child popups close before parents
12:53:00.870: setGrabPopup called with a parent, QtWaylandClient::QWaylandXdgSurface(0x58c6b88a5d50) which does not match the current topmost grabbing popup, QtWaylandClient::QWaylandXdgSurface(0x58c6ba76f960) According to the xdg-shell protocol, this is not allowed. The wayland QPA plugin is currently handling it by setting the parent to the topmost grabbing popup. Note, however, that this may cause positioning errors and popups closing unxpectedly because xdg-shell mandate that child popups close before parents
12:53:24.879: [pipewire] Negotiated format:
12:53:24.879: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
12:53:24.879: [pipewire] Modifier: 0x200000010401b04
12:53:24.879: [pipewire] Size: 3834x2010
12:53:24.879: [pipewire] Framerate: 0/1
12:53:24.885: [pipewire] Negotiated format:
12:53:24.885: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
12:53:24.885: [pipewire] Modifier: 0x200000010401b04
12:53:24.885: [pipewire] Size: 3834x2010
12:53:24.885: [pipewire] Framerate: 0/1
12:53:24.957: [pipewire] Stream 0x58c6bad94f80 state: "paused" (error: none)
12:53:24.957: [pipewire] Negotiated format:
12:53:24.957: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
12:53:24.957: [pipewire] Modifier: 0x200000010401b04
12:53:24.957: [pipewire] Size: 3836x2020
12:53:24.957: [pipewire] Framerate: 0/1
12:53:24.963: [pipewire] Negotiated format:
12:53:24.963: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
12:53:24.963: [pipewire] Modifier: 0x200000010401b04
12:53:24.963: [pipewire] Size: 3836x2020
12:53:24.963: [pipewire] Framerate: 0/1
12:53:24.968: [pipewire] Stream 0x58c6bad94f80 state: "streaming" (error: none)
12:53:25.077: [pipewire] Negotiated format:
12:53:25.077: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
12:53:25.077: [pipewire] Modifier: 0x200000010401b04
12:53:25.077: [pipewire] Size: 3837x2023
12:53:25.077: [pipewire] Framerate: 0/1
12:53:25.079: [pipewire] Negotiated format:
12:53:25.079: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
12:53:25.079: [pipewire] Modifier: 0x200000010401b04
12:53:25.079: [pipewire] Size: 3837x2023
12:53:25.079: [pipewire] Framerate: 0/1
12:53:25.204: [pipewire] Stream 0x58c6bad94f80 state: "paused" (error: none)
12:53:25.204: [pipewire] Negotiated format:
12:53:25.204: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
12:53:25.204: [pipewire] Modifier: 0x200000010401b04
12:53:25.204: [pipewire] Size: 3837x2024
12:53:25.204: [pipewire] Framerate: 0/1
12:53:25.208: [pipewire] Negotiated format:
12:53:25.208: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
12:53:25.208: [pipewire] Modifier: 0x200000010401b04
12:53:25.208: [pipewire] Size: 3837x2024
12:53:25.208: [pipewire] Framerate: 0/1
12:53:25.209: [pipewire] Stream 0x58c6bad94f80 state: "streaming" (error: none)
12:53:27.701: [pipewire] Negotiated format:
12:53:27.702: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
12:53:27.702: [pipewire] Modifier: 0x200000010401b04
12:53:27.702: [pipewire] Size: 3830x2019
12:53:27.702: [pipewire] Framerate: 0/1
12:53:27.709: [pipewire] Negotiated format:
12:53:27.709: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
12:53:27.709: [pipewire] Modifier: 0x200000010401b04
12:53:27.709: [pipewire] Size: 3830x2019
12:53:27.709: [pipewire] Framerate: 0/1
12:53:27.796: [pipewire] Stream 0x58c6bad94f80 state: "paused" (error: none)
12:53:27.796: [pipewire] Negotiated format:
12:53:27.796: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
12:53:27.796: [pipewire] Modifier: 0x200000010401b04
12:53:27.796: [pipewire] Size: 3813x2012
12:53:27.796: [pipewire] Framerate: 0/1
12:53:27.801: [pipewire] Negotiated format:
12:53:27.801: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
12:53:27.801: [pipewire] Modifier: 0x200000010401b04
12:53:27.801: [pipewire] Size: 3813x2012
12:53:27.801: [pipewire] Framerate: 0/1
12:53:27.802: [pipewire] Stream 0x58c6bad94f80 state: "streaming" (error: none)
12:53:27.892: [pipewire] Negotiated format:
12:53:27.893: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
12:53:27.893: [pipewire] Modifier: 0x200000010401b04
12:53:27.893: [pipewire] Size: 3801x2010
12:53:27.893: [pipewire] Framerate: 0/1
12:53:27.896: [pipewire] Negotiated format:
12:53:27.896: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
12:53:27.896: [pipewire] Modifier: 0x200000010401b04
12:53:27.896: [pipewire] Size: 3801x2010
12:53:27.896: [pipewire] Framerate: 0/1
12:53:28.016: [pipewire] Stream 0x58c6bad94f80 state: "paused" (error: none)
12:53:28.016: [pipewire] Negotiated format:
12:53:28.016: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
12:53:28.016: [pipewire] Modifier: 0x200000010401b04
12:53:28.016: [pipewire] Size: 3765x2009
12:53:28.016: [pipewire] Framerate: 0/1
12:53:28.021: [pipewire] Negotiated format:
12:53:28.021: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
12:53:28.021: [pipewire] Modifier: 0x200000010401b04
12:53:28.021: [pipewire] Size: 3765x2009
12:53:28.021: [pipewire] Framerate: 0/1
12:53:28.022: [pipewire] Stream 0x58c6bad94f80 state: "streaming" (error: none)
12:53:28.119: [pipewire] Negotiated format:
12:53:28.119: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
12:53:28.119: [pipewire] Modifier: 0x200000010401b04
12:53:28.119: [pipewire] Size: 3740x2009
12:53:28.119: [pipewire] Framerate: 0/1
12:53:28.121: [pipewire] Negotiated format:
12:53:28.121: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
12:53:28.121: [pipewire] Modifier: 0x200000010401b04
12:53:28.121: [pipewire] Size: 3740x2009
12:53:28.121: [pipewire] Framerate: 0/1
12:53:28.284: [pipewire] Stream 0x58c6bad94f80 state: "paused" (error: none)
12:53:28.284: [pipewire] Negotiated format:
12:53:28.284: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
12:53:28.284: [pipewire] Modifier: 0x200000010401b04
12:53:28.284: [pipewire] Size: 3714x2007
12:53:28.284: [pipewire] Framerate: 0/1
12:53:28.288: [pipewire] Negotiated format:
12:53:28.288: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
12:53:28.288: [pipewire] Modifier: 0x200000010401b04
12:53:28.288: [pipewire] Size: 3714x2007
12:53:28.288: [pipewire] Framerate: 0/1
12:53:28.291: [pipewire] Stream 0x58c6bad94f80 state: "streaming" (error: none)
12:53:28.421: [pipewire] Negotiated format:
12:53:28.421: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
12:53:28.421: [pipewire] Modifier: 0x200000010401b04
12:53:28.421: [pipewire] Size: 3683x2007
12:53:28.421: [pipewire] Framerate: 0/1
12:53:28.423: [pipewire] Negotiated format:
12:53:28.423: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
12:53:28.423: [pipewire] Modifier: 0x200000010401b04
12:53:28.423: [pipewire] Size: 3683x2007
12:53:28.423: [pipewire] Framerate: 0/1
12:53:28.563: [pipewire] Stream 0x58c6bad94f80 state: "paused" (error: none)
12:53:28.564: [pipewire] Negotiated format:
12:53:28.564: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
12:53:28.564: [pipewire] Modifier: 0x200000010401b04
12:53:28.564: [pipewire] Size: 3654x2004
12:53:28.564: [pipewire] Framerate: 0/1
12:53:28.570: [pipewire] Negotiated format:
12:53:28.570: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
12:53:28.570: [pipewire] Modifier: 0x200000010401b04
12:53:28.570: [pipewire] Size: 3654x2004
12:53:28.570: [pipewire] Framerate: 0/1
12:53:28.571: [pipewire] Stream 0x58c6bad94f80 state: "streaming" (error: none)
12:53:28.678: [pipewire] Negotiated format:
12:53:28.678: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
12:53:28.678: [pipewire] Modifier: 0x200000010401b04
12:53:28.678: [pipewire] Size: 3639x2004
12:53:28.678: [pipewire] Framerate: 0/1
12:53:28.681: [pipewire] Negotiated format:
12:53:28.681: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
12:53:28.681: [pipewire] Modifier: 0x200000010401b04
12:53:28.681: [pipewire] Size: 3639x2004
12:53:28.681: [pipewire] Framerate: 0/1
12:53:28.749: [pipewire] Stream 0x58c6bad94f80 state: "paused" (error: none)
12:53:28.749: [pipewire] Negotiated format:
12:53:28.749: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
12:53:28.749: [pipewire] Modifier: 0x200000010401b04
12:53:28.749: [pipewire] Size: 3621x2007
12:53:28.749: [pipewire] Framerate: 0/1
12:53:28.754: [pipewire] Negotiated format:
12:53:28.754: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
12:53:28.754: [pipewire] Modifier: 0x200000010401b04
12:53:28.754: [pipewire] Size: 3621x2007
12:53:28.754: [pipewire] Framerate: 0/1
12:53:28.760: [pipewire] Stream 0x58c6bad94f80 state: "streaming" (error: none)
12:53:28.866: [pipewire] Negotiated format:
12:53:28.866: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
12:53:28.866: [pipewire] Modifier: 0x200000010401b04
12:53:28.866: [pipewire] Size: 3615x2007
12:53:28.866: [pipewire] Framerate: 0/1
12:53:28.871: [pipewire] Negotiated format:
12:53:28.871: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
12:53:28.871: [pipewire] Modifier: 0x200000010401b04
12:53:28.871: [pipewire] Size: 3615x2007
12:53:28.871: [pipewire] Framerate: 0/1
12:53:28.934: [pipewire] Stream 0x58c6bad94f80 state: "paused" (error: none)
12:53:28.934: [pipewire] Negotiated format:
12:53:28.934: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
12:53:28.934: [pipewire] Modifier: 0x200000010401b04
12:53:28.934: [pipewire] Size: 3614x2010
12:53:28.934: [pipewire] Framerate: 0/1
12:53:28.941: [pipewire] Negotiated format:
12:53:28.941: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
12:53:28.941: [pipewire] Modifier: 0x200000010401b04
12:53:28.941: [pipewire] Size: 3614x2010
12:53:28.941: [pipewire] Framerate: 0/1
12:53:28.943: [pipewire] Stream 0x58c6bad94f80 state: "streaming" (error: none)
12:53:29.038: [pipewire] Negotiated format:
12:53:29.038: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
12:53:29.038: [pipewire] Modifier: 0x200000010401b04
12:53:29.038: [pipewire] Size: 3614x2012
12:53:29.038: [pipewire] Framerate: 0/1
12:53:29.042: [pipewire] Negotiated format:
12:53:29.042: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
12:53:29.042: [pipewire] Modifier: 0x200000010401b04
12:53:29.042: [pipewire] Size: 3614x2012
12:53:29.042: [pipewire] Framerate: 0/1
12:53:29.129: [pipewire] Stream 0x58c6bad94f80 state: "paused" (error: none)
12:53:29.129: [pipewire] Negotiated format:
12:53:29.129: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
12:53:29.129: [pipewire] Modifier: 0x200000010401b04
12:53:29.129: [pipewire] Size: 3612x2016
12:53:29.129: [pipewire] Framerate: 0/1
12:53:29.134: [pipewire] Negotiated format:
12:53:29.134: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
12:53:29.134: [pipewire] Modifier: 0x200000010401b04
12:53:29.134: [pipewire] Size: 3612x2016
12:53:29.134: [pipewire] Framerate: 0/1
12:53:29.135: [pipewire] Stream 0x58c6bad94f80 state: "streaming" (error: none)
12:53:29.246: [pipewire] Negotiated format:
12:53:29.246: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
12:53:29.246: [pipewire] Modifier: 0x200000010401b04
12:53:29.246: [pipewire] Size: 3612x2022
12:53:29.246: [pipewire] Framerate: 0/1
12:53:29.251: [pipewire] Negotiated format:
12:53:29.251: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
12:53:29.251: [pipewire] Modifier: 0x200000010401b04
12:53:29.251: [pipewire] Size: 3612x2022
12:53:29.251: [pipewire] Framerate: 0/1
12:53:29.341: [pipewire] Stream 0x58c6bad94f80 state: "paused" (error: none)
12:53:29.341: [pipewire] Negotiated format:
12:53:29.341: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
12:53:29.341: [pipewire] Modifier: 0x200000010401b04
12:53:29.341: [pipewire] Size: 3620x2030
12:53:29.341: [pipewire] Framerate: 0/1
12:53:29.345: [pipewire] Negotiated format:
12:53:29.345: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
12:53:29.346: [pipewire] Modifier: 0x200000010401b04
12:53:29.346: [pipewire] Size: 3620x2030
12:53:29.346: [pipewire] Framerate: 0/1
12:53:29.346: [pipewire] Stream 0x58c6bad94f80 state: "streaming" (error: none)
12:53:29.457: [pipewire] Negotiated format:
12:53:29.457: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
12:53:29.457: [pipewire] Modifier: 0x200000010401b04
12:53:29.457: [pipewire] Size: 3626x2033
12:53:29.457: [pipewire] Framerate: 0/1
12:53:29.460: [pipewire] Negotiated format:
12:53:29.460: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
12:53:29.460: [pipewire] Modifier: 0x200000010401b04
12:53:29.460: [pipewire] Size: 3626x2033
12:53:29.460: [pipewire] Framerate: 0/1
12:53:29.574: [pipewire] Stream 0x58c6bad94f80 state: "paused" (error: none)
12:53:29.574: [pipewire] Negotiated format:
12:53:29.574: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
12:53:29.574: [pipewire] Modifier: 0x200000010401b04
12:53:29.574: [pipewire] Size: 3626x2034
12:53:29.574: [pipewire] Framerate: 0/1
12:53:29.576: [pipewire] Negotiated format:
12:53:29.577: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
12:53:29.577: [pipewire] Modifier: 0x200000010401b04
12:53:29.577: [pipewire] Size: 3626x2034
12:53:29.577: [pipewire] Framerate: 0/1
12:53:29.579: [pipewire] Stream 0x58c6bad94f80 state: "streaming" (error: none)
12:53:29.946: [pipewire] Negotiated format:
12:53:29.946: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
12:53:29.946: [pipewire] Modifier: 0x200000010401b04
12:53:29.946: [pipewire] Size: 3629x2034
12:53:29.946: [pipewire] Framerate: 0/1
12:53:29.948: [pipewire] Negotiated format:
12:53:29.948: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
12:53:29.948: [pipewire] Modifier: 0x200000010401b04
12:53:29.948: [pipewire] Size: 3629x2034
12:53:29.948: [pipewire] Framerate: 0/1
12:53:30.281: [pipewire] Stream 0x58c6bad94f80 state: "paused" (error: none)
12:53:30.281: [pipewire] Negotiated format:
12:53:30.281: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
12:53:30.281: [pipewire] Modifier: 0x200000010401b04
12:53:30.281: [pipewire] Size: 3804x2138
12:53:30.281: [pipewire] Framerate: 0/1
12:53:30.286: [pipewire] Negotiated format:
12:53:30.286: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
12:53:30.286: [pipewire] Modifier: 0x200000010401b04
12:53:30.286: [pipewire] Size: 3804x2138
12:53:30.286: [pipewire] Framerate: 0/1
12:53:30.287: [pipewire] Stream 0x58c6bad94f80 state: "streaming" (error: none)
12:53:30.408: [pipewire] Negotiated format:
12:53:30.408: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
12:53:30.408: [pipewire] Modifier: 0x200000010401b04
12:53:30.408: [pipewire] Size: 3838x2159
12:53:30.408: [pipewire] Framerate: 0/1
12:53:30.412: [pipewire] Negotiated format:
12:53:30.412: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
12:53:30.413: [pipewire] Modifier: 0x200000010401b04
12:53:30.413: [pipewire] Size: 3838x2159
12:53:30.413: [pipewire] Framerate: 0/1
12:53:30.533: [pipewire] Stream 0x58c6bad94f80 state: "paused" (error: none)
12:53:30.533: [pipewire] Negotiated format:
12:53:30.533: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
12:53:30.533: [pipewire] Modifier: 0x200000010401b04
12:53:30.533: [pipewire] Size: 3840x2160
12:53:30.533: [pipewire] Framerate: 0/1
12:53:30.535: [pipewire] Negotiated format:
12:53:30.535: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
12:53:30.535: [pipewire] Modifier: 0x200000010401b04
12:53:30.535: [pipewire] Size: 3840x2160
12:53:30.535: [pipewire] Framerate: 0/1
12:53:30.537: [pipewire] Stream 0x58c6bad94f80 state: "streaming" (error: none)
12:54:31.887: ---------------------------------
12:54:31.887: [x264 encoder: 'simple_video_stream'] preset: veryfast
12:54:31.888: [x264 encoder: 'simple_video_stream'] settings:
12:54:31.888: rate_control: CBR
12:54:31.888: bitrate: 6000
12:54:31.888: buffer size: 6000
12:54:31.888: crf: 23
12:54:31.888: fps_num: 30
12:54:31.888: fps_den: 1
12:54:31.888: width: 1280
12:54:31.888: height: 720
12:54:31.888: keyint: 250
12:54:31.888:
12:54:31.892: libfdk_aac encoder created
12:54:31.892: libfdk_aac bitrate: 160, channels: 2
12:54:31.899: ==== Recording Start ===============================================
12:54:31.899: [mp4 output: 'simple_file_output'] Writing Hybrid MP4/MOV file '/home/connorjohnstone/2026-09-22 12-54-31.mp4'...
12:55:07.919: [mp4 muxer: 'simple_file_output'] Flushing final fragment...
12:55:07.919: [mp4 muxer: 'simple_file_output'] Number of fragments: 5
12:55:07.919: [mp4 muxer: 'simple_file_output'] Full moov size: 20 KiB
12:55:07.919: [mp4 muxer: 'simple_file_output'] Final mdat size: 26012 KiB
12:55:07.919: Output 'simple_file_output': stopping
12:55:07.919: Output 'simple_file_output': Total frames output: 1042
12:55:07.919: Output 'simple_file_output': Total drawn frames: 749 (1080 attempted)
12:55:07.919: Output 'simple_file_output': Number of lagged frames due to rendering lag/stalls: 331 (30.6%)
12:55:07.919: [mp4 output: 'simple_file_output'] Waiting for file writer to finish...
12:55:07.920: ==== Recording Stop ================================================
12:55:07.920: [mp4 output: 'simple_file_output'] File output complete. Finalization took 1 ms.
12:55:07.931: libfdk_aac encoder destroyed
12:55:46.917: PipeWire initialized
12:55:46.920: User added source 'Screen Capture (PipeWire) 2' (pipewire-screen-capture-source) to scene 'Scene'
12:55:46.930: [pipewire] Screencast session created
12:56:00.668: [pipewire] Asking for monitor and window
12:56:00.796: [pipewire] source selected, setting up screencast
12:56:00.801: [pipewire] Server version: 1.2.4
12:56:00.801: [pipewire] Library version: 1.2.4
12:56:00.801: [pipewire] Header version: 1.0.5
12:56:00.858: [pipewire] Created stream 0x58c6bac11540
12:56:00.858: [pipewire] Stream 0x58c6bac11540 state: "connecting" (error: none)
12:56:00.858: [pipewire] Playing stream 0x58c6bac11540
12:56:00.859: [pipewire] Stream 0x58c6bac11540 state: "paused" (error: none)
12:56:00.861: [pipewire] Negotiated format:
12:56:00.861: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
12:56:00.861: [pipewire] Modifier: 0x0
12:56:00.861: [pipewire] Size: 1839x1473
12:56:00.861: [pipewire] Framerate: 0/1
12:56:00.864: [pipewire] Negotiated format:
12:56:00.864: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
12:56:00.864: [pipewire] Modifier: 0x2000000104abb04
12:56:00.864: [pipewire] Size: 1839x1473
12:56:00.864: [pipewire] Framerate: 0/1
12:56:00.865: [pipewire] Stream 0x58c6bac11540 state: "streaming" (error: none)
12:56:00.995: Cannot create EGLImage: Arguments are inconsistent (for example, a valid context requires buffers not supplied by a valid surface).
12:56:00.995: [pipewire] Renegotiating stream
12:56:00.995: [pipewire] Negotiated format:
12:56:00.995: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
12:56:00.995: [pipewire] Modifier: 0x2000000104abb04
12:56:00.995: [pipewire] Size: 1839x1473
12:56:00.995: [pipewire] Framerate: 0/1
12:56:00.996: [pipewire] Negotiated format:
12:56:00.996: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
12:56:00.996: [pipewire] Modifier: 0x20000001046bb04
12:56:00.996: [pipewire] Size: 1839x1473
12:56:00.996: [pipewire] Framerate: 0/1
12:56:01.116: Cannot create EGLImage: Arguments are inconsistent (for example, a valid context requires buffers not supplied by a valid surface).
12:56:01.116: [pipewire] Renegotiating stream
12:56:01.116: [pipewire] Stream 0x58c6bac11540 state: "paused" (error: none)
12:56:01.116: [pipewire] Negotiated format:
12:56:01.117: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
12:56:01.117: [pipewire] Modifier: 0x20000001046bb04
12:56:01.117: [pipewire] Size: 1839x1473
12:56:01.117: [pipewire] Framerate: 0/1
12:56:01.117: [pipewire] Negotiated format:
12:56:01.117: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
12:56:01.117: [pipewire] Modifier: 0x200000010467b04
12:56:01.117: [pipewire] Size: 1839x1473
12:56:01.117: [pipewire] Framerate: 0/1
12:56:01.119: [pipewire] Stream 0x58c6bac11540 state: "streaming" (error: none)
12:56:01.264: Cannot create EGLImage: Arguments are inconsistent (for example, a valid context requires buffers not supplied by a valid surface).
12:56:01.264: [pipewire] Renegotiating stream
12:56:01.264: [pipewire] Negotiated format:
12:56:01.264: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
12:56:01.264: [pipewire] Modifier: 0x200000010467b04
12:56:01.264: [pipewire] Size: 1839x1473
12:56:01.264: [pipewire] Framerate: 0/1
12:56:01.265: [pipewire] Negotiated format:
12:56:01.265: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
12:56:01.265: [pipewire] Modifier: 0x200000010437b04
12:56:01.265: [pipewire] Size: 1839x1473
12:56:01.265: [pipewire] Framerate: 0/1
12:56:01.338: Cannot create EGLImage: Arguments are inconsistent (for example, a valid context requires buffers not supplied by a valid surface).
12:56:01.338: [pipewire] Renegotiating stream
12:56:01.338: [pipewire] Stream 0x58c6bac11540 state: "paused" (error: none)
12:56:01.338: [pipewire] Negotiated format:
12:56:01.338: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
12:56:01.338: [pipewire] Modifier: 0x200000010437b04
12:56:01.338: [pipewire] Size: 1839x1473
12:56:01.338: [pipewire] Framerate: 0/1
12:56:01.340: [pipewire] Negotiated format:
12:56:01.340: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
12:56:01.340: [pipewire] Modifier: 0x200000010401b04
12:56:01.340: [pipewire] Size: 1839x1473
12:56:01.340: [pipewire] Framerate: 0/1
12:56:01.340: [pipewire] Stream 0x58c6bac11540 state: "streaming" (error: none)
12:56:06.502: [pipewire] Stream 0x58c6bad94f80 state: "paused" (error: none)
12:56:17.220: setGrabPopup called with a parent, QtWaylandClient::QWaylandXdgSurface(0x58c6b88a5d50) which does not match the current topmost grabbing popup, QtWaylandClient::QWaylandXdgSurface(0x58c6bd81f700) According to the xdg-shell protocol, this is not allowed. The wayland QPA plugin is currently handling it by setting the parent to the topmost grabbing popup. Note, however, that this may cause positioning errors and popups closing unxpectedly because xdg-shell mandate that child popups close before parents
12:56:29.176: ---------------------------------
12:56:29.176: [x264 encoder: 'simple_video_stream'] preset: veryfast
12:56:29.176: [x264 encoder: 'simple_video_stream'] settings:
12:56:29.176: rate_control: CBR
12:56:29.176: bitrate: 6000
12:56:29.176: buffer size: 6000
12:56:29.176: crf: 23
12:56:29.176: fps_num: 30
12:56:29.176: fps_den: 1
12:56:29.176: width: 1280
12:56:29.176: height: 720
12:56:29.176: keyint: 250
12:56:29.176:
12:56:29.179: libfdk_aac encoder created
12:56:29.179: libfdk_aac bitrate: 160, channels: 2
12:56:29.184: ==== Recording Start ===============================================
12:56:29.184: [mp4 output: 'simple_file_output'] Writing Hybrid MP4/MOV file '/home/connorjohnstone/2026-09-22 12-56-29.mp4'...
12:57:12.185: [mp4 muxer: 'simple_file_output'] Flushing final fragment...
12:57:12.185: [mp4 muxer: 'simple_file_output'] Number of fragments: 11
12:57:12.185: [mp4 muxer: 'simple_file_output'] Full moov size: 23 KiB
12:57:12.185: [mp4 muxer: 'simple_file_output'] Final mdat size: 31280 KiB
12:57:12.185: Output 'simple_file_output': stopping
12:57:12.185: Output 'simple_file_output': Total frames output: 1252
12:57:12.185: Output 'simple_file_output': Total drawn frames: 952 (1290 attempted)
12:57:12.185: Output 'simple_file_output': Number of lagged frames due to rendering lag/stalls: 338 (26.2%)
12:57:12.185: [mp4 output: 'simple_file_output'] Waiting for file writer to finish...
12:57:12.186: [mp4 output: 'simple_file_output'] File output complete. Finalization took 0 ms.
12:57:12.190: ==== Recording Stop ================================================
12:57:12.202: libfdk_aac encoder destroyed
12:57:39.168: [pipewire] Stream 0x58c6bac11540 state: "paused" (error: none)
12:57:39.168: [pipewire] Stream 0x58c6bac11540 state: "unconnected" (error: none)
12:57:39.176: PipeWire initialized
12:57:39.178: [pipewire] Screencast session created
12:57:42.983: [pipewire] Failed to select source, denied or cancelled by user
12:57:52.692: PipeWire initialized
12:57:52.695: [pipewire] Screencast session created
12:58:12.297: [pipewire] Asking for monitor and window
12:58:12.426: [pipewire] source selected, setting up screencast
12:58:12.430: [pipewire] Server version: 1.2.4
12:58:12.430: [pipewire] Library version: 1.2.4
12:58:12.430: [pipewire] Header version: 1.0.5
12:58:12.529: [pipewire] Created stream 0x58c6bac97b40
12:58:12.529: [pipewire] Stream 0x58c6bac97b40 state: "connecting" (error: none)
12:58:12.529: [pipewire] Playing stream 0x58c6bac97b40
12:58:12.530: [pipewire] Stream 0x58c6bac97b40 state: "paused" (error: none)
12:58:12.534: [pipewire] Negotiated format:
12:58:12.534: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
12:58:12.534: [pipewire] Modifier: 0x0
12:58:12.534: [pipewire] Size: 1837x1468
12:58:12.534: [pipewire] Framerate: 0/1
12:58:12.535: [pipewire] Negotiated format:
12:58:12.536: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
12:58:12.536: [pipewire] Modifier: 0x2000000104abb04
12:58:12.536: [pipewire] Size: 1837x1468
12:58:12.536: [pipewire] Framerate: 0/1
12:58:12.537: [pipewire] Stream 0x58c6bac97b40 state: "streaming" (error: none)
12:58:28.336: [pipewire] Stream 0x58c6bac97b40 state: "paused" (error: none)
12:58:28.936: [pipewire] Stream 0x58c6bac97b40 state: "streaming" (error: none)
12:58:45.402: [pipewire] Stream 0x58c6bac97b40 state: "paused" (error: none)
12:58:45.403: [pipewire] Stream 0x58c6bac97b40 state: "unconnected" (error: none)
12:58:45.404: PipeWire initialized
12:58:45.406: [pipewire] Screencast session created
12:58:58.102: [pipewire] Asking for monitor and window
12:58:58.269: [pipewire] source selected, setting up screencast
12:58:58.274: [pipewire] Server version: 1.2.4
12:58:58.274: [pipewire] Library version: 1.2.4
12:58:58.274: [pipewire] Header version: 1.0.5
12:58:58.303: [pipewire] Created stream 0x58c6bac97b40
12:58:58.303: [pipewire] Stream 0x58c6bac97b40 state: "connecting" (error: none)
12:58:58.303: [pipewire] Playing stream 0x58c6bac97b40
12:58:58.304: [pipewire] Stream 0x58c6bac97b40 state: "paused" (error: none)
12:58:58.308: [pipewire] Negotiated format:
12:58:58.308: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
12:58:58.308: [pipewire] Modifier: 0x0
12:58:58.308: [pipewire] Size: 1831x1462
12:58:58.308: [pipewire] Framerate: 0/1
12:58:58.312: [pipewire] Negotiated format:
12:58:58.312: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
12:58:58.312: [pipewire] Modifier: 0x2000000104abb04
12:58:58.312: [pipewire] Size: 1831x1462
12:58:58.312: [pipewire] Framerate: 0/1
12:58:58.316: [pipewire] Stream 0x58c6bac97b40 state: "streaming" (error: none)
12:59:31.189: [pipewire] Stream 0x58c6bac97b40 state: "paused" (error: none)
12:59:31.191: [pipewire] Stream 0x58c6bac97b40 state: "unconnected" (error: none)
12:59:31.192: PipeWire initialized
12:59:31.194: [pipewire] Screencast session created
12:59:41.005: [pipewire] Asking for monitor and window
12:59:41.168: [pipewire] source selected, setting up screencast
12:59:41.174: [pipewire] Server version: 1.2.4
12:59:41.174: [pipewire] Library version: 1.2.4
12:59:41.174: [pipewire] Header version: 1.0.5
12:59:41.202: [pipewire] Created stream 0x58c6bb57c160
12:59:41.202: [pipewire] Stream 0x58c6bb57c160 state: "connecting" (error: none)
12:59:41.203: [pipewire] Playing stream 0x58c6bb57c160
12:59:41.203: [pipewire] Stream 0x58c6bb57c160 state: "paused" (error: none)
12:59:41.208: [pipewire] Negotiated format:
12:59:41.208: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
12:59:41.208: [pipewire] Modifier: 0x0
12:59:41.208: [pipewire] Size: 1837x1461
12:59:41.208: [pipewire] Framerate: 0/1
12:59:41.209: [pipewire] Negotiated format:
12:59:41.209: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
12:59:41.209: [pipewire] Modifier: 0x2000000104abb04
12:59:41.209: [pipewire] Size: 1837x1461
12:59:41.209: [pipewire] Framerate: 0/1
12:59:41.210: [pipewire] Stream 0x58c6bb57c160 state: "streaming" (error: none)
12:59:53.943: [pipewire] Stream 0x58c6bb57c160 state: "paused" (error: none)
12:59:55.037: [pipewire] Stream 0x58c6bad94f80 state: "streaming" (error: none)
12:59:57.422: [pipewire] Stream 0x58c6bb57c160 state: "streaming" (error: none)
12:59:58.272: [pipewire] Stream 0x58c6bad94f80 state: "paused" (error: none)
13:00:06.573: [pipewire] Stream 0x58c6bad94f80 state: "streaming" (error: none)
13:00:12.878: [pipewire] Stream 0x58c6bb57c160 state: "paused" (error: none)
13:00:14.827: [pipewire] Stream 0x58c6bad94f80 state: "paused" (error: none)
13:00:15.702: [pipewire] Stream 0x58c6bb57c160 state: "streaming" (error: none)
13:00:19.495: setGrabPopup called with a parent, QtWaylandClient::QWaylandXdgSurface(0x58c6b88a5d50) which does not match the current topmost grabbing popup, QtWaylandClient::QWaylandXdgSurface(0x58c6bb037020) According to the xdg-shell protocol, this is not allowed. The wayland QPA plugin is currently handling it by setting the parent to the topmost grabbing popup. Note, however, that this may cause positioning errors and popups closing unxpectedly because xdg-shell mandate that child popups close before parents
13:00:20.595: setGrabPopup called with a parent, QtWaylandClient::QWaylandXdgSurface(0x58c6b88a5d50) which does not match the current topmost grabbing popup, QtWaylandClient::QWaylandXdgSurface(0x58c6bb037020) According to the xdg-shell protocol, this is not allowed. The wayland QPA plugin is currently handling it by setting the parent to the topmost grabbing popup. Note, however, that this may cause positioning errors and popups closing unxpectedly because xdg-shell mandate that child popups close before parents
13:00:25.857: User Removed source 'Screen Capture (PipeWire) 2' (pipewire-screen-capture-source) from scene 'Scene'
13:00:25.858: QMetaMethod::invoke: Unable to handle unregistered datatype 'std::string'
13:00:25.860: [pipewire] Stream 0x58c6bb57c160 state: "paused" (error: none)
13:00:25.926: [pipewire] Stream 0x58c6bb57c160 state: "unconnected" (error: none)
13:00:34.511: PipeWire initialized
13:00:34.569: User added source 'Screen Capture (PipeWire) 2' (pipewire-screen-capture-source) to scene 'Scene'
13:00:34.581: [pipewire] Screencast session created
13:00:44.111: [pipewire] Asking for monitor and window
13:00:44.247: [pipewire] source selected, setting up screencast
13:00:44.253: [pipewire] Server version: 1.2.4
13:00:44.253: [pipewire] Library version: 1.2.4
13:00:44.253: [pipewire] Header version: 1.0.5
13:00:44.279: [pipewire] Created stream 0x58c6bb6b46c0
13:00:44.279: [pipewire] Stream 0x58c6bb6b46c0 state: "connecting" (error: none)
13:00:44.279: [pipewire] Playing stream 0x58c6bb6b46c0
13:00:44.280: [pipewire] Stream 0x58c6bb6b46c0 state: "paused" (error: none)
13:00:44.283: [pipewire] Negotiated format:
13:00:44.283: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
13:00:44.283: [pipewire] Modifier: 0x0
13:00:44.283: [pipewire] Size: 1834x1455
13:00:44.283: [pipewire] Framerate: 0/1
13:00:44.284: [pipewire] Negotiated format:
13:00:44.284: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
13:00:44.284: [pipewire] Modifier: 0x2000000104abb04
13:00:44.284: [pipewire] Size: 1834x1455
13:00:44.284: [pipewire] Framerate: 0/1
13:00:44.285: [pipewire] Stream 0x58c6bb6b46c0 state: "streaming" (error: none)
13:00:58.122: setGrabPopup called with a parent, QtWaylandClient::QWaylandXdgSurface(0x58c6b88a5d50) which does not match the current topmost grabbing popup, QtWaylandClient::QWaylandXdgSurface(0x58c6bb618d10) According to the xdg-shell protocol, this is not allowed. The wayland QPA plugin is currently handling it by setting the parent to the topmost grabbing popup. Note, however, that this may cause positioning errors and popups closing unxpectedly because xdg-shell mandate that child popups close before parents
13:01:10.646: setGrabPopup called with a parent, QtWaylandClient::QWaylandXdgSurface(0x58c6b88a5d50) which does not match the current topmost grabbing popup, QtWaylandClient::QWaylandXdgSurface(0x58c6bb5931f0) According to the xdg-shell protocol, this is not allowed. The wayland QPA plugin is currently handling it by setting the parent to the topmost grabbing popup. Note, however, that this may cause positioning errors and popups closing unxpectedly because xdg-shell mandate that child popups close before parents
13:01:15.745: setGrabPopup called with a parent, QtWaylandClient::QWaylandXdgSurface(0x58c6b88a5d50) which does not match the current topmost grabbing popup, QtWaylandClient::QWaylandXdgSurface(0x58c6bb628320) According to the xdg-shell protocol, this is not allowed. The wayland QPA plugin is currently handling it by setting the parent to the topmost grabbing popup. Note, however, that this may cause positioning errors and popups closing unxpectedly because xdg-shell mandate that child popups close before parents
13:01:32.252: [pipewire] Stream 0x58c6bb6b46c0 state: "paused" (error: none)
13:01:32.252: [pipewire] Stream 0x58c6bb6b46c0 state: "unconnected" (error: none)
13:01:32.253: PipeWire initialized
13:01:32.257: [pipewire] Screencast session created
13:01:38.947: [pipewire] Asking for monitor and window
13:01:39.062: [pipewire] source selected, setting up screencast
13:01:39.066: [pipewire] Server version: 1.2.4
13:01:39.066: [pipewire] Library version: 1.2.4
13:01:39.066: [pipewire] Header version: 1.0.5
13:01:39.113: [pipewire] Created stream 0x58c6bb0ff740
13:01:39.113: [pipewire] Stream 0x58c6bb0ff740 state: "connecting" (error: none)
13:01:39.113: [pipewire] Playing stream 0x58c6bb0ff740
13:01:39.114: [pipewire] Stream 0x58c6bb0ff740 state: "paused" (error: none)
13:01:39.117: [pipewire] Negotiated format:
13:01:39.117: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
13:01:39.117: [pipewire] Modifier: 0x0
13:01:39.117: [pipewire] Size: 1063x669
13:01:39.117: [pipewire] Framerate: 0/1
13:01:39.119: [pipewire] Negotiated format:
13:01:39.119: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
13:01:39.119: [pipewire] Modifier: 0x2000000104abb04
13:01:39.119: [pipewire] Size: 1063x669
13:01:39.119: [pipewire] Framerate: 0/1
13:01:39.120: [pipewire] Stream 0x58c6bb0ff740 state: "streaming" (error: none)
13:01:44.798: ==== Shutting down ==================================================
13:01:44.802: QMetaMethod::invoke: Unable to handle unregistered datatype 'std::string'
13:01:44.802: pulse-input: Stopped recording from 'alsa_output.usb-Generic_USB_Audio-00.analog-stereo.monitor'
13:01:44.802: pulse-input: Got 25645 packets with 30774000 frames
13:01:44.802: Deduplication logic stopped.
13:01:44.802: QMetaMethod::invoke: Unable to handle unregistered datatype 'std::string'
13:01:44.802: pulse-input: Stopped recording from 'alsa_input.usb-0c76_USB_PnP_Audio_Device-00.mono-fallback'
13:01:44.802: pulse-input: Got 25642 packets with 30770400 frames
13:01:44.802: QMetaMethod::invoke: Unable to handle unregistered datatype 'std::string'
13:01:44.802: QMetaMethod::invoke: Unable to handle unregistered datatype 'std::string'
13:01:44.812: v4l2-input: /dev/video2: Stopped capture after 19168 frames
13:01:44.814: QMetaMethod::invoke: Unable to handle unregistered datatype 'std::string'
13:01:44.816: [pipewire] Stream 0x58c6bad94f80 state: "unconnected" (error: none)
13:01:44.817: QMetaMethod::invoke: Unable to handle unregistered datatype 'std::string'
13:01:44.817: [pipewire] Stream 0x58c6bb0ff740 state: "paused" (error: none)
13:01:44.817: [pipewire] Stream 0x58c6bb0ff740 state: "unconnected" (error: none)
13:01:44.852: All scene data cleared
13:01:44.852: ------------------------------------------------
13:01:44.859: Tried to call obs_frontend_remove_event_callback with no callbacks!
13:01:44.956: [obs-websocket] [obs_module_unload] Shutting down...
13:01:44.956: Tried to call obs_frontend_remove_event_callback with no callbacks!
13:01:44.956: [obs-websocket] [obs_module_unload] Finished shutting down.
13:01:44.964: [Scripting] Total detached callbacks: 0
13:01:44.965: Freeing OBS context data
13:01:44.993: == Profiler Results =============================
13:01:44.993: run_program_init: 816.057 ms
13:01:44.993: ┣OBSApp::AppInit: 24.734 ms
13:01:44.993: ┃ ┗OBSApp::InitLocale: 2.902 ms
13:01:44.994: ┗OBSApp::OBSInit: 681.371 ms
13:01:44.994: ┣obs_startup: 9.067 ms
13:01:44.994: ┗OBSBasic::OBSInit: 614.232 ms
13:01:44.994: ┣OBSBasic::InitBasicConfig: 0.618 ms
13:01:44.994: ┣OBSBasic::ResetAudio: 0.211 ms
13:01:44.994: ┣OBSBasic::ResetVideo: 102.519 ms
13:01:44.994: ┃ ┗obs_init_graphics: 97.804 ms
13:01:44.994: ┃ ┗shader compilation: 35.422 ms
13:01:44.994: ┣OBSBasic::InitOBSCallbacks: 0.008 ms
13:01:44.994: ┣OBSBasic::InitHotkeys: 0.052 ms
13:01:44.994: ┣obs_load_all_modules2: 237.246 ms
13:01:44.994: ┃ ┣obs_init_module(aja-output-ui.so): 0.072 ms
13:01:44.994: ┃ ┣obs_init_module(aja.so): 0.087 ms
13:01:44.994: ┃ ┣obs_init_module(decklink-captions.so): 0 ms
13:01:44.994: ┃ ┣obs_init_module(decklink-output-ui.so): 0 ms
13:01:44.994: ┃ ┣obs_init_module(decklink.so): 0.105 ms
13:01:44.994: ┃ ┣obs_init_module(frontend-tools.so): 96.976 ms
13:01:44.994: ┃ ┣obs_init_module(image-source.so): 0.006 ms
13:01:44.994: ┃ ┣obs_init_module(linux-alsa.so): 0.001 ms
13:01:44.994: ┃ ┣obs_init_module(linux-capture.so): 0 ms
13:01:44.994: ┃ ┣obs_init_module(linux-jack.so): 0.001 ms
13:01:44.994: ┃ ┣obs_init_module(linux-pipewire.so): 12.584 ms
13:01:44.994: ┃ ┣obs_init_module(linux-pulseaudio.so): 0.002 ms
13:01:44.994: ┃ ┣obs_init_module(linux-v4l2.so): 4.605 ms
13:01:44.994: ┃ ┣obs_init_module(obs-browser.so): 0.078 ms
13:01:44.994: ┃ ┣obs_init_module(obs-ffmpeg.so): 9.692 ms
13:01:44.994: ┃ ┣obs_init_module(obs-filters.so): 0.01 ms
13:01:44.994: ┃ ┣obs_init_module(obs-libfdk.so): 0.001 ms
13:01:44.994: ┃ ┣obs_init_module(obs-nvenc.so): 0.077 ms
13:01:44.994: ┃ ┃ ┗nvenc_check: 0.071 ms
13:01:44.994: ┃ ┣obs_init_module(obs-outputs.so): 0.004 ms
13:01:44.994: ┃ ┣obs_init_module(obs-qsv11.so): 6.139 ms
13:01:44.994: ┃ ┣obs_init_module(obs-transitions.so): 0.003 ms
13:01:44.994: ┃ ┣obs_init_module(obs-vst.so): 0.001 ms
13:01:44.994: ┃ ┣obs_init_module(obs-websocket.so): 4.583 ms
13:01:44.994: ┃ ┣obs_init_module(obs-x264.so): 0.002 ms
13:01:44.994: ┃ ┣obs_init_module(rtmp-services.so): 0.112 ms
13:01:44.994: ┃ ┣obs_init_module(text-freetype2.so): 0.014 ms
13:01:44.994: ┃ ┗obs_init_module(vlc-video.so): 0.087 ms
13:01:44.994: ┣OBSBasic::InitService: 0.822 ms
13:01:44.994: ┣OBSBasic::ResetOutputs: 0.134 ms
13:01:44.994: ┣OBSBasic::CreateHotkeys: 0.019 ms
13:01:44.994: ┣OBSBasic::InitPrimitives: 0.088 ms
13:01:44.994: ┗OBSBasic::Load: 117.847 ms
13:01:44.994: obs_hotkey_thread(25 ms): min=0 ms, median=0.001 ms, max=0.032 ms, 99th percentile=0.002 ms, 100% below 25 ms
13:01:44.994: audio_thread(Audio): min=0.006 ms, median=0.034 ms, max=59.208 ms, 99th percentile=0.53 ms
13:01:44.994: ┗receive_audio: min=0.003 ms, median=0.248 ms, max=5.006 ms, 99th percentile=0.6 ms, 0.123176 calls per parent call
13:01:44.994: ┣buffer_audio: min=0 ms, median=0.001 ms, max=0.025 ms, 99th percentile=0.006 ms
13:01:44.994: ┗do_encode: min=0.092 ms, median=0.244 ms, max=4.965 ms, 99th percentile=0.589 ms
13:01:44.994: ┣encode(simple_aac): min=0.085 ms, median=0.224 ms, max=4.666 ms, 99th percentile=0.51 ms
13:01:44.994: ┗send_packet: min=0.001 ms, median=0.011 ms, max=4.196 ms, 99th percentile=0.121 ms
13:01:44.994: obs_graphics_thread(33.3333 ms): min=0.041 ms, median=34.623 ms, max=155.526 ms, 99th percentile=88.226 ms, 49.0976% below 33.333 ms
13:01:44.994: ┣tick_sources: min=0.001 ms, median=0.015 ms, max=35.072 ms, 99th percentile=0.07 ms
13:01:44.994: ┣output_frame: min=0.03 ms, median=0.253 ms, max=68.687 ms, 99th percentile=1.616 ms
13:01:44.994: ┃ ┣gs_context(video->graphics): min=0.03 ms, median=0.251 ms, max=68.685 ms, 99th percentile=1.447 ms
13:01:44.994: ┃ ┃ ┣render_video: min=0.005 ms, median=0.093 ms, max=6.139 ms, 99th percentile=0.849 ms
13:01:44.994: ┃ ┃ ┃ ┣render_main_texture: min=0.004 ms, median=0.083 ms, max=6.135 ms, 99th percentile=0.84 ms
13:01:44.994: ┃ ┃ ┃ ┣render_output_texture: min=0.007 ms, median=0.025 ms, max=1.106 ms, 99th percentile=0.12 ms, 0.114123 calls per parent call
13:01:44.994: ┃ ┃ ┃ ┣render_convert_texture: min=0.012 ms, median=0.031 ms, max=0.662 ms, 99th percentile=0.121 ms, 0.114123 calls per parent call
13:01:44.994: ┃ ┃ ┃ ┗stage_output_texture: min=0.005 ms, median=0.023 ms, max=0.124 ms, 99th percentile=0.082 ms, 0.114123 calls per parent call
13:01:44.994: ┃ ┃ ┣gs_flush: min=0.001 ms, median=0.121 ms, max=4.64 ms, 99th percentile=0.541 ms
13:01:44.994: ┃ ┃ ┗download_frame: min=0 ms, median=0.085 ms, max=2.056 ms, 99th percentile=0.219 ms, 0.114123 calls per parent call
13:01:44.994: ┃ ┗output_video_data: min=0.056 ms, median=0.108 ms, max=2.35 ms, 99th percentile=0.696 ms, 0.113989 calls per parent call
13:01:44.994: ┗render_displays: min=0.002 ms, median=34.041 ms, max=155.203 ms, 99th percentile=87.939 ms
13:01:44.994: video_thread(video): min=0.365 ms, median=1.085 ms, max=7.583 ms, 99th percentile=5.813 ms
13:01:44.994: ┗receive_video: min=0.364 ms, median=0.909 ms, max=6.796 ms, 99th percentile=4.127 ms, 1.39258 calls per parent call
13:01:44.994: ┗do_encode: min=0.364 ms, median=0.908 ms, max=6.795 ms, 99th percentile=4.126 ms
13:01:44.994: ┣encode(simple_video_stream): min=0.358 ms, median=0.874 ms, max=6.788 ms, 99th percentile=4.101 ms
13:01:44.994: ┗send_packet: min=0.002 ms, median=0.02 ms, max=2.726 ms, 99th percentile=0.152 ms
13:01:44.994: =================================================
13:01:44.994: == Profiler Time Between Calls ==================
13:01:44.994: obs_hotkey_thread(25 ms): min=25.011 ms, median=25.076 ms, max=29.581 ms, 99.8632% within ±2% of 25 ms (0% lower, 0.136794% higher)
13:01:44.994: obs_graphics_thread(33.3333 ms): min=0.341 ms, median=34.673 ms, max=155.534 ms, 42.5054% within ±2% of 33.333 ms (7.01154% lower, 50.4831% higher)
13:01:44.994: =================================================
13:01:45.016: Number of memory leaks: 1
@@ -0,0 +1,611 @@
13:01:47.877: Platform: Wayland
13:01:47.877: CPU Name: AMD Ryzen AI 9 HX 370 w/ Radeon 890M
13:01:47.877: CPU Speed: 4107.758MHz
13:01:47.878: Physical Cores: 12, Logical Cores: 24
13:01:47.878: Physical Memory: 63575MB Total, 6956MB Free
13:01:47.878: Kernel Version: Linux 7.0.0-31-generic
13:01:47.878: Distribution: "Ubuntu" "24.04"
13:01:47.878: Desktop Environment: Hyprland (hyprland)
13:01:47.878: Session Type: wayland
13:01:47.900: Current Date/Time: 2026-09-22, 01:01:47 PM
13:01:47.900: Browser Hardware Acceleration: true
13:01:47.900: Qt Version: 6.4.2 (runtime), 6.4.2 (compiled)
13:01:47.900: Portable mode: false
13:01:47.965: OBS 32.2.0 (linux)
13:01:47.965: ---------------------------------
13:01:47.966: ---------------------------------
13:01:47.966: audio settings reset:
13:01:47.966: samples per sec: 48000
13:01:47.966: speakers: 2
13:01:47.966: max buffering: 960 milliseconds
13:01:47.966: buffering type: dynamically increasing
13:01:47.968: ---------------------------------
13:01:47.968: Initializing OpenGL...
13:01:47.968: Using EGL/Wayland
13:01:48.019: Initialized EGL 1.5
13:01:48.034: Loading up OpenGL on adapter AMD AMD Radeon 890M Graphics (radeonsi, gfx1150, LLVM 20.1.2, DRM 3.64, 7.0.0-31-generic)
13:01:48.034: OpenGL loaded successfully, version 4.6 (Core Profile) Mesa 25.2.8-0ubuntu0.24.04.2, shading language 4.60
13:01:48.062: ---------------------------------
13:01:48.062: video settings reset:
13:01:48.062: base resolution: 1920x1080
13:01:48.062: output resolution: 1280x720
13:01:48.062: downscale filter: Bicubic
13:01:48.062: fps: 30/1
13:01:48.062: format: NV12
13:01:48.062: YUV mode: Rec. 709/Partial
13:01:48.063: NV12 texture support enabled
13:01:48.063: P010 texture support not available
13:01:48.066: Audio monitoring device:
13:01:48.066: name: Default
13:01:48.066: id: default
13:01:48.067: ---------------------------------
13:01:48.072: No AJA devices found, skipping loading AJA UI plugin
13:01:48.072: Failed to initialize module 'aja-output-ui.so'
13:01:48.074: No AJA devices found, skipping loading AJA plugin
13:01:48.074: Failed to initialize module 'aja.so'
13:01:48.076: Failed to load 'en-US' text for module: 'decklink-captions.so'
13:01:48.077: Failed to load 'en-US' text for module: 'decklink-output-ui.so'
13:01:48.078: A DeckLink iterator could not be created. The DeckLink drivers may not be installed
13:01:48.078: Failed to initialize module 'decklink.so'
13:01:48.194: [pipewire] Available capture sources:
13:01:48.194: [pipewire] - Monitor source
13:01:48.194: [pipewire] - Window source
13:01:48.201: [obs-browser]: Version 2.26.9
13:01:48.201: [obs-browser]: CEF Version 127.0.6533.120 (runtime), 127.0.0-6533-fix-stutter-and-osr-extra-info.3042+g176b09c+chromium-127.0.6533.120 (compiled)
13:01:48.221: VAAPI: API version 1.20
13:01:48.222: FFmpeg VAAPI H264 encoding supported
13:01:48.225: FFmpeg VAAPI AV1 encoding supported
13:01:48.229: FFmpeg VAAPI HEVC encoding supported
13:01:48.231: os_dlopen(libnvidia-encode.so.1->libnvidia-encode.so.1): libnvidia-encode.so.1: cannot open shared object file: No such file or directory
13:01:48.231:
13:01:48.231: NVENC not supported
13:01:48.231: Failed to initialize module 'obs-nvenc.so'
13:01:48.243: [obs-websocket] [obs_module_load] you can haz websockets (Version: 5.7.4 | RPC Version: 1)
13:01:48.243: [obs-websocket] [obs_module_load] Qt version (compile-time): 6.4.2 | Qt version (run-time): 6.4.2
13:01:48.243: [obs-websocket] [obs_module_load] Linked ASIO Version: 102801
13:01:48.248: [obs-websocket] [obs_module_load] Module loaded.
13:01:48.251: os_dlopen(libvlc.so.5->libvlc.so.5): libvlc.so.5: cannot open shared object file: No such file or directory
13:01:48.251:
13:01:48.252: [vlc-video]: Couldn't find VLC installation, VLC video source disabled
13:01:48.252: ---------------------------------
13:01:48.252: Loaded Modules:
13:01:48.252: vlc-video.so
13:01:48.252: text-freetype2.so
13:01:48.252: rtmp-services.so
13:01:48.252: obs-x264.so
13:01:48.252: obs-websocket.so
13:01:48.252: obs-vst.so
13:01:48.252: obs-transitions.so
13:01:48.252: obs-qsv11.so
13:01:48.252: obs-outputs.so
13:01:48.252: obs-libfdk.so
13:01:48.252: obs-filters.so
13:01:48.252: obs-ffmpeg.so
13:01:48.252: obs-browser.so
13:01:48.252: linux-v4l2.so
13:01:48.252: linux-pulseaudio.so
13:01:48.252: linux-pipewire.so
13:01:48.252: linux-jack.so
13:01:48.252: linux-capture.so
13:01:48.252: linux-alsa.so
13:01:48.252: image-source.so
13:01:48.252: frontend-tools.so
13:01:48.252: decklink-output-ui.so
13:01:48.252: decklink-captions.so
13:01:48.252: ---------------------------------
13:01:48.252: ---------------------------------
13:01:48.252: Available Encoders:
13:01:48.252: Video Encoders:
13:01:48.252: - ffmpeg_svt_av1 (SVT-AV1)
13:01:48.252: - ffmpeg_aom_av1 (AOM AV1)
13:01:48.252: - ffmpeg_vaapi_tex (FFmpeg VAAPI H.264)
13:01:48.252: - av1_ffmpeg_vaapi_tex (FFmpeg VAAPI AV1)
13:01:48.252: - hevc_ffmpeg_vaapi_tex (FFmpeg VAAPI HEVC)
13:01:48.252: - obs_x264 (x264)
13:01:48.252: Audio Encoders:
13:01:48.252: - ffmpeg_aac (FFmpeg AAC)
13:01:48.252: - ffmpeg_opus (FFmpeg Opus)
13:01:48.252: - ffmpeg_pcm_s16le (FFmpeg PCM (16-bit))
13:01:48.252: - ffmpeg_pcm_s24le (FFmpeg PCM (24-bit))
13:01:48.252: - ffmpeg_pcm_f32le (FFmpeg PCM (32-bit float))
13:01:48.252: - ffmpeg_alac (FFmpeg ALAC (24-bit))
13:01:48.252: - ffmpeg_flac (FFmpeg FLAC (16-bit))
13:01:48.252: - libfdk_aac (libfdk AAC)
13:01:48.252: ==== Startup complete ===============================================
13:01:48.287: All scene data cleared
13:01:48.287: ------------------------------------------------
13:01:48.292: Device for 'Audio Output Capture' source Desktop Audio is also used for audio monitoring.
13:01:48.292: Deduplication logic is being applied to all monitored sources.
13:01:48.293: pulse-input: Server name: 'PulseAudio (on PipeWire 1.2.4) 15.0.0'
13:01:48.293: pulse-input: Audio format: s32le, 48000 Hz, 2 channels
13:01:48.293: pulse-input: Started recording from 'alsa_output.usb-Generic_USB_Audio-00.analog-stereo.monitor' (default)
13:01:48.293: [Loaded global audio device]: 'Desktop Audio'
13:01:48.294: pulse-input: Server name: 'PulseAudio (on PipeWire 1.2.4) 15.0.0'
13:01:48.294: pulse-input: Audio format: s16le, 48000 Hz, 1 channels
13:01:48.294: pulse-input: Started recording from 'alsa_input.usb-0c76_USB_PnP_Audio_Device-00.mono-fallback' (default)
13:01:48.294: [Loaded global audio device]: 'Mic/Aux'
13:01:48.294: v4l2-input: Start capture from /dev/video2
13:01:48.305: Device for 'Audio Output Capture' source Desktop Audio is also used for audio monitoring.
13:01:48.305: Deduplication logic is being applied to all monitored sources.
13:01:48.349: v4l2-input: Input: 0
13:01:48.354: v4l2-input: Resolution: 1920x1080
13:01:48.354: v4l2-input: Pixelformat: MJPG
13:01:48.354: v4l2-input: Linesize: 0 Bytes
13:01:48.357: v4l2-input: Framerate: 30.00 fps
13:01:48.357: v4l2-input: /dev/video2: select timeout set to 166666 (5x frame periods)
13:01:48.358: PipeWire initialized
13:01:48.358: PipeWire initialized
13:01:48.359: Switched to scene 'Scene'
13:01:48.359: ------------------------------------------------
13:01:48.359: Loaded scenes:
13:01:48.359: - scene 'Scene':
13:01:48.359: - source: 'Video Capture Device (V4L2)' (v4l2_input)
13:01:48.359: - filter: 'Kodak DSCS 3151' (clut_filter)
13:01:48.359: - filter: 'Vista' (clut_filter)
13:01:48.359: - filter: 'Webcam 3' (clut_filter)
13:01:48.359: - source: 'Screen Capture (PipeWire)' (pipewire-screen-capture-source)
13:01:48.359: - source: 'Screen Capture (PipeWire) 2' (pipewire-screen-capture-source)
13:01:48.359: ------------------------------------------------
13:01:48.366: Failed to open file '/tmp/LUTpack/Film Presets/kodak_dscs_3151.png': No such file or directory
13:01:48.366: gs_image_file_init_internal: Failed to load file '/tmp/LUTpack/Film Presets/kodak_dscs_3151.png'
13:01:48.366: Failed to open file '/tmp/LUTpack/Film Presets/agfa_agfacolor_vista_800.png': No such file or directory
13:01:48.366: gs_image_file_init_internal: Failed to load file '/tmp/LUTpack/Film Presets/agfa_agfacolor_vista_800.png'
13:01:48.367: Failed to open file '/tmp/LUTpack/Webcam Presets/webcam_preset_3.png': No such file or directory
13:01:48.367: gs_image_file_init_internal: Failed to load file '/tmp/LUTpack/Webcam Presets/webcam_preset_3.png'
13:01:48.504: [pipewire] Screencast session created
13:01:48.504: [pipewire] Screencast session created
13:01:48.525: v4l2-input: /dev/video2: select timed out
13:01:48.525: v4l2-input: /dev/video2: failed to log status
13:01:48.692: v4l2-input: /dev/video2: select timed out
13:01:48.693: v4l2-input: /dev/video2: failed to log status
13:01:48.860: v4l2-input: /dev/video2: select timed out
13:01:48.860: v4l2-input: /dev/video2: failed to log status
13:01:48.863: adding 21 milliseconds of audio buffering, total audio buffering is now 21 milliseconds (source: Mic/Aux)
13:01:48.863:
13:01:49.027: v4l2-input: /dev/video2: select timed out
13:01:49.028: v4l2-input: /dev/video2: failed to log status
13:01:49.194: v4l2-input: /dev/video2: select timed out
13:01:49.195: v4l2-input: /dev/video2: failed to log status
13:01:52.302: [pipewire] Failed to select source, denied or cancelled by user
13:01:53.709: [pipewire] Failed to select source, denied or cancelled by user
13:02:00.245: User Removed source 'Screen Capture (PipeWire) 2' (pipewire-screen-capture-source) from scene 'Scene'
13:02:00.246: QMetaMethod::invoke: Unable to handle unregistered datatype 'std::string'
13:02:08.557: PipeWire initialized
13:02:08.615: User added source 'Screen Capture (PipeWire) 2' (pipewire-screen-capture-source) to scene 'Scene'
13:02:08.623: [pipewire] Screencast session created
13:02:20.629: [pipewire] Asking for monitor and window
13:02:20.815: [pipewire] source selected, setting up screencast
13:02:20.822: [pipewire] Server version: 1.2.4
13:02:20.822: [pipewire] Library version: 1.2.4
13:02:20.822: [pipewire] Header version: 1.0.5
13:02:20.851: [pipewire] Created stream 0x61fc688ed600
13:02:20.851: [pipewire] Stream 0x61fc688ed600 state: "connecting" (error: none)
13:02:20.851: [pipewire] Playing stream 0x61fc688ed600
13:02:20.865: [pipewire] Stream 0x61fc688ed600 state: "paused" (error: none)
13:02:20.866: [pipewire] Negotiated format:
13:02:20.866: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
13:02:20.866: [pipewire] Modifier: 0x0
13:02:20.866: [pipewire] Size: 1842x1464
13:02:20.866: [pipewire] Framerate: 0/1
13:02:20.866: [pipewire] Negotiated format:
13:02:20.866: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
13:02:20.866: [pipewire] Modifier: 0x2000000104abb04
13:02:20.866: [pipewire] Size: 1842x1464
13:02:20.866: [pipewire] Framerate: 0/1
13:02:20.867: [pipewire] Stream 0x61fc688ed600 state: "streaming" (error: none)
13:02:21.092: Cannot create EGLImage: Arguments are inconsistent (for example, a valid context requires buffers not supplied by a valid surface).
13:02:21.092: [pipewire] Renegotiating stream
13:02:21.093: [pipewire] Negotiated format:
13:02:21.094: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
13:02:21.094: [pipewire] Modifier: 0x2000000104abb04
13:02:21.094: [pipewire] Size: 1842x1464
13:02:21.094: [pipewire] Framerate: 0/1
13:02:21.095: [pipewire] Negotiated format:
13:02:21.095: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
13:02:21.095: [pipewire] Modifier: 0x20000001046bb04
13:02:21.095: [pipewire] Size: 1842x1464
13:02:21.095: [pipewire] Framerate: 0/1
13:02:21.364: Cannot create EGLImage: Arguments are inconsistent (for example, a valid context requires buffers not supplied by a valid surface).
13:02:21.364: [pipewire] Renegotiating stream
13:02:21.365: [pipewire] Stream 0x61fc688ed600 state: "paused" (error: none)
13:02:21.365: [pipewire] Negotiated format:
13:02:21.365: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
13:02:21.365: [pipewire] Modifier: 0x20000001046bb04
13:02:21.365: [pipewire] Size: 1842x1464
13:02:21.365: [pipewire] Framerate: 0/1
13:02:21.365: [pipewire] Negotiated format:
13:02:21.365: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
13:02:21.365: [pipewire] Modifier: 0x200000010467b04
13:02:21.365: [pipewire] Size: 1842x1464
13:02:21.365: [pipewire] Framerate: 0/1
13:02:21.367: [pipewire] Stream 0x61fc688ed600 state: "streaming" (error: none)
13:02:21.597: Cannot create EGLImage: Arguments are inconsistent (for example, a valid context requires buffers not supplied by a valid surface).
13:02:21.597: [pipewire] Renegotiating stream
13:02:21.597: [pipewire] Negotiated format:
13:02:21.597: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
13:02:21.597: [pipewire] Modifier: 0x200000010467b04
13:02:21.597: [pipewire] Size: 1842x1464
13:02:21.597: [pipewire] Framerate: 0/1
13:02:21.598: [pipewire] Negotiated format:
13:02:21.598: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
13:02:21.598: [pipewire] Modifier: 0x200000010437b04
13:02:21.598: [pipewire] Size: 1842x1464
13:02:21.598: [pipewire] Framerate: 0/1
13:02:21.857: Cannot create EGLImage: Arguments are inconsistent (for example, a valid context requires buffers not supplied by a valid surface).
13:02:21.857: [pipewire] Renegotiating stream
13:02:21.857: [pipewire] Stream 0x61fc688ed600 state: "paused" (error: none)
13:02:21.858: [pipewire] Negotiated format:
13:02:21.858: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
13:02:21.858: [pipewire] Modifier: 0x200000010437b04
13:02:21.858: [pipewire] Size: 1842x1464
13:02:21.858: [pipewire] Framerate: 0/1
13:02:21.859: [pipewire] Negotiated format:
13:02:21.859: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
13:02:21.859: [pipewire] Modifier: 0x200000010401b04
13:02:21.859: [pipewire] Size: 1842x1464
13:02:21.859: [pipewire] Framerate: 0/1
13:02:21.860: [pipewire] Stream 0x61fc688ed600 state: "streaming" (error: none)
13:02:29.246: setGrabPopup called with a parent, QtWaylandClient::QWaylandXdgSurface(0x61fc6621af20) which does not match the current topmost grabbing popup, QtWaylandClient::QWaylandXdgSurface(0x61fc689e1c50) According to the xdg-shell protocol, this is not allowed. The wayland QPA plugin is currently handling it by setting the parent to the topmost grabbing popup. Note, however, that this may cause positioning errors and popups closing unxpectedly because xdg-shell mandate that child popups close before parents
13:02:33.252: ---------------------------------
13:02:33.252: [x264 encoder: 'simple_video_stream'] preset: veryfast
13:02:33.252: [x264 encoder: 'simple_video_stream'] settings:
13:02:33.252: rate_control: CBR
13:02:33.252: bitrate: 6000
13:02:33.252: buffer size: 6000
13:02:33.252: crf: 23
13:02:33.252: fps_num: 30
13:02:33.252: fps_den: 1
13:02:33.252: width: 1280
13:02:33.252: height: 720
13:02:33.252: keyint: 250
13:02:33.252:
13:02:33.255: libfdk_aac encoder created
13:02:33.255: libfdk_aac bitrate: 160, channels: 2
13:02:33.262: ==== Recording Start ===============================================
13:02:33.262: [mp4 output: 'simple_file_output'] Writing Hybrid MP4/MOV file '/home/connorjohnstone/2026-09-22 13-02-33.mp4'...
13:04:06.863: [mp4 muxer: 'simple_file_output'] Flushing final fragment...
13:04:06.864: [mp4 muxer: 'simple_file_output'] Number of fragments: 26
13:04:06.864: [mp4 muxer: 'simple_file_output'] Full moov size: 51 KiB
13:04:06.864: [mp4 muxer: 'simple_file_output'] Final mdat size: 69379 KiB
13:04:06.864: Output 'simple_file_output': stopping
13:04:06.864: Output 'simple_file_output': Total frames output: 2771
13:04:06.864: Output 'simple_file_output': Total drawn frames: 1877 (2809 attempted)
13:04:06.864: Output 'simple_file_output': Number of lagged frames due to rendering lag/stalls: 932 (33.2%)
13:04:06.865: [mp4 output: 'simple_file_output'] Waiting for file writer to finish...
13:04:06.866: [mp4 output: 'simple_file_output'] File output complete. Finalization took 3 ms.
13:04:06.870: ==== Recording Stop ================================================
13:04:06.880: libfdk_aac encoder destroyed
13:04:11.139: [pipewire] Stream 0x61fc688ed600 state: "paused" (error: none)
13:04:20.483: User Removed source 'Screen Capture (PipeWire)' (pipewire-screen-capture-source) from scene 'Scene'
13:04:20.483: QMetaMethod::invoke: Unable to handle unregistered datatype 'std::string'
13:04:29.001: PipeWire initialized
13:04:29.066: User added source 'Screen Capture (PipeWire)' (pipewire-screen-capture-source) to scene 'Scene'
13:04:29.082: [pipewire] Screencast session created
13:04:33.278: [pipewire] Asking for monitor and window
13:04:33.363: [pipewire] source selected, setting up screencast
13:04:33.368: [pipewire] Server version: 1.2.4
13:04:33.368: [pipewire] Library version: 1.2.4
13:04:33.368: [pipewire] Header version: 1.0.5
13:04:33.399: [pipewire] Created stream 0x61fc68fa1da0
13:04:33.399: [pipewire] Stream 0x61fc68fa1da0 state: "connecting" (error: none)
13:04:33.399: [pipewire] Playing stream 0x61fc68fa1da0
13:04:33.400: [pipewire] Stream 0x61fc68fa1da0 state: "paused" (error: none)
13:04:33.405: [pipewire] Negotiated format:
13:04:33.405: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
13:04:33.405: [pipewire] Modifier: 0x0
13:04:33.405: [pipewire] Size: 3840x2160
13:04:33.405: [pipewire] Framerate: 0/1
13:04:33.407: [pipewire] Negotiated format:
13:04:33.407: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
13:04:33.407: [pipewire] Modifier: 0x200000010437b04
13:04:33.407: [pipewire] Size: 3840x2160
13:04:33.407: [pipewire] Framerate: 0/1
13:04:33.410: [pipewire] Stream 0x61fc68fa1da0 state: "streaming" (error: none)
13:04:33.619: Cannot create EGLImage: Arguments are inconsistent (for example, a valid context requires buffers not supplied by a valid surface).
13:04:33.619: [pipewire] Renegotiating stream
13:04:33.619: [pipewire] Negotiated format:
13:04:33.619: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
13:04:33.619: [pipewire] Modifier: 0x200000010437b04
13:04:33.619: [pipewire] Size: 3840x2160
13:04:33.619: [pipewire] Framerate: 0/1
13:04:33.625: [pipewire] Negotiated format:
13:04:33.626: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
13:04:33.626: [pipewire] Modifier: 0x200000010401b04
13:04:33.626: [pipewire] Size: 3840x2160
13:04:33.626: [pipewire] Framerate: 0/1
13:04:42.996: setGrabPopup called with a parent, QtWaylandClient::QWaylandXdgSurface(0x61fc6621af20) which does not match the current topmost grabbing popup, QtWaylandClient::QWaylandXdgSurface(0x61fc68ee59d0) According to the xdg-shell protocol, this is not allowed. The wayland QPA plugin is currently handling it by setting the parent to the topmost grabbing popup. Note, however, that this may cause positioning errors and popups closing unxpectedly because xdg-shell mandate that child popups close before parents
13:04:47.796: setGrabPopup called with a parent, QtWaylandClient::QWaylandXdgSurface(0x61fc6621af20) which does not match the current topmost grabbing popup, QtWaylandClient::QWaylandXdgSurface(0x61fc68ee59d0) According to the xdg-shell protocol, this is not allowed. The wayland QPA plugin is currently handling it by setting the parent to the topmost grabbing popup. Note, however, that this may cause positioning errors and popups closing unxpectedly because xdg-shell mandate that child popups close before parents
13:04:48.375: setGrabPopup called with a parent, QtWaylandClient::QWaylandXdgSurface(0x61fc6621af20) which does not match the current topmost grabbing popup, QtWaylandClient::QWaylandXdgSurface(0x61fc68ee59d0) According to the xdg-shell protocol, this is not allowed. The wayland QPA plugin is currently handling it by setting the parent to the topmost grabbing popup. Note, however, that this may cause positioning errors and popups closing unxpectedly because xdg-shell mandate that child popups close before parents
13:06:26.351: ---------------------------------
13:06:26.351: [x264 encoder: 'simple_video_stream'] preset: veryfast
13:06:26.351: [x264 encoder: 'simple_video_stream'] settings:
13:06:26.351: rate_control: CBR
13:06:26.351: bitrate: 6000
13:06:26.351: buffer size: 6000
13:06:26.351: crf: 23
13:06:26.351: fps_num: 30
13:06:26.351: fps_den: 1
13:06:26.351: width: 1280
13:06:26.351: height: 720
13:06:26.351: keyint: 250
13:06:26.351:
13:06:26.355: libfdk_aac encoder created
13:06:26.355: libfdk_aac bitrate: 160, channels: 2
13:06:26.359: ==== Recording Start ===============================================
13:06:26.359: [mp4 output: 'simple_file_output'] Writing Hybrid MP4/MOV file '/home/connorjohnstone/2026-09-22 13-06-26.mp4'...
13:11:29.386: [mp4 muxer: 'simple_file_output'] Flushing final fragment...
13:11:29.387: [mp4 muxer: 'simple_file_output'] Number of fragments: 66
13:11:29.390: [mp4 muxer: 'simple_file_output'] Full moov size: 164 KiB
13:11:29.390: [mp4 muxer: 'simple_file_output'] Final mdat size: 226954 KiB
13:11:29.390: Output 'simple_file_output': stopping
13:11:29.390: Output 'simple_file_output': Total frames output: 9053
13:11:29.390: Output 'simple_file_output': Total drawn frames: 5741 (9091 attempted)
13:11:29.390: Output 'simple_file_output': Number of lagged frames due to rendering lag/stalls: 3350 (36.8%)
13:11:29.390: [mp4 output: 'simple_file_output'] Waiting for file writer to finish...
13:11:29.390: [mp4 output: 'simple_file_output'] File output complete. Finalization took 4 ms.
13:11:29.393: ==== Recording Stop ================================================
13:11:29.398: libfdk_aac encoder destroyed
13:11:54.126: ---------------------------------
13:11:54.126: [x264 encoder: 'simple_video_stream'] preset: veryfast
13:11:54.126: [x264 encoder: 'simple_video_stream'] settings:
13:11:54.126: rate_control: CBR
13:11:54.126: bitrate: 6000
13:11:54.126: buffer size: 6000
13:11:54.126: crf: 23
13:11:54.126: fps_num: 30
13:11:54.126: fps_den: 1
13:11:54.126: width: 1280
13:11:54.126: height: 720
13:11:54.126: keyint: 250
13:11:54.126:
13:11:54.130: libfdk_aac encoder created
13:11:54.130: libfdk_aac bitrate: 160, channels: 2
13:11:54.137: ==== Recording Start ===============================================
13:11:54.137: [mp4 output: 'simple_file_output'] Writing Hybrid MP4/MOV file '/home/connorjohnstone/2026-09-22 13-11-54.mp4'...
13:13:59.423: [mp4 muxer: 'simple_file_output'] Flushing final fragment...
13:13:59.424: [mp4 muxer: 'simple_file_output'] Number of fragments: 30
13:13:59.424: [mp4 muxer: 'simple_file_output'] Full moov size: 68 KiB
13:13:59.424: [mp4 muxer: 'simple_file_output'] Final mdat size: 93205 KiB
13:13:59.424: Output 'simple_file_output': stopping
13:13:59.424: Output 'simple_file_output': Total frames output: 3721
13:13:59.424: Output 'simple_file_output': Total drawn frames: 2415 (3758 attempted)
13:13:59.424: Output 'simple_file_output': Number of lagged frames due to rendering lag/stalls: 1343 (35.7%)
13:13:59.425: [mp4 output: 'simple_file_output'] Waiting for file writer to finish...
13:13:59.425: [mp4 output: 'simple_file_output'] File output complete. Finalization took 1 ms.
13:13:59.426: ==== Recording Stop ================================================
13:13:59.436: libfdk_aac encoder destroyed
13:14:00.835: [pipewire] Stream 0x61fc68fa1da0 state: "paused" (error: none)
13:14:00.835: [pipewire] Negotiated format:
13:14:00.835: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
13:14:00.835: [pipewire] Modifier: 0x200000010401b04
13:14:00.835: [pipewire] Size: 3734x2097
13:14:00.835: [pipewire] Framerate: 0/1
13:14:00.838: [pipewire] Negotiated format:
13:14:00.838: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
13:14:00.838: [pipewire] Modifier: 0x200000010401b04
13:14:00.838: [pipewire] Size: 3734x2097
13:14:00.838: [pipewire] Framerate: 0/1
13:14:00.839: [pipewire] Stream 0x61fc68fa1da0 state: "streaming" (error: none)
13:14:00.961: [pipewire] Negotiated format:
13:14:00.961: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
13:14:00.961: [pipewire] Modifier: 0x200000010401b04
13:14:00.961: [pipewire] Size: 3640x2041
13:14:00.961: [pipewire] Framerate: 0/1
13:14:00.964: [pipewire] Negotiated format:
13:14:00.964: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
13:14:00.964: [pipewire] Modifier: 0x200000010401b04
13:14:00.964: [pipewire] Size: 3640x2041
13:14:00.964: [pipewire] Framerate: 0/1
13:14:01.055: [pipewire] Stream 0x61fc68fa1da0 state: "paused" (error: none)
13:14:01.055: [pipewire] Negotiated format:
13:14:01.055: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
13:14:01.055: [pipewire] Modifier: 0x200000010401b04
13:14:01.055: [pipewire] Size: 3630x2035
13:14:01.055: [pipewire] Framerate: 0/1
13:14:01.057: [pipewire] Negotiated format:
13:14:01.057: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
13:14:01.057: [pipewire] Modifier: 0x200000010401b04
13:14:01.057: [pipewire] Size: 3630x2035
13:14:01.057: [pipewire] Framerate: 0/1
13:14:01.059: [pipewire] Stream 0x61fc68fa1da0 state: "streaming" (error: none)
13:14:01.151: [pipewire] Negotiated format:
13:14:01.151: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
13:14:01.151: [pipewire] Modifier: 0x200000010401b04
13:14:01.151: [pipewire] Size: 3629x2034
13:14:01.151: [pipewire] Framerate: 0/1
13:14:01.154: [pipewire] Negotiated format:
13:14:01.154: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
13:14:01.154: [pipewire] Modifier: 0x200000010401b04
13:14:01.154: [pipewire] Size: 3629x2034
13:14:01.154: [pipewire] Framerate: 0/1
13:14:10.831: [pipewire] Stream 0x61fc68fa1da0 state: "paused" (error: none)
13:14:10.832: [pipewire] Negotiated format:
13:14:10.832: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
13:14:10.832: [pipewire] Modifier: 0x200000010401b04
13:14:10.832: [pipewire] Size: 3778x413
13:14:10.832: [pipewire] Framerate: 0/1
13:14:10.833: [pipewire] Negotiated format:
13:14:10.833: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
13:14:10.833: [pipewire] Modifier: 0x200000010401b04
13:14:10.833: [pipewire] Size: 3778x413
13:14:10.833: [pipewire] Framerate: 0/1
13:14:10.833: [pipewire] Stream 0x61fc68fa1da0 state: "streaming" (error: none)
13:14:10.959: [pipewire] Negotiated format:
13:14:10.959: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
13:14:10.959: [pipewire] Modifier: 0x200000010401b04
13:14:10.959: [pipewire] Size: 3802x158
13:14:10.959: [pipewire] Framerate: 0/1
13:14:10.960: [pipewire] Negotiated format:
13:14:10.960: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
13:14:10.960: [pipewire] Modifier: 0x200000010401b04
13:14:10.960: [pipewire] Size: 3802x158
13:14:10.960: [pipewire] Framerate: 0/1
13:14:11.062: [pipewire] Stream 0x61fc68fa1da0 state: "paused" (error: none)
13:14:11.062: [pipewire] Negotiated format:
13:14:11.062: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
13:14:11.062: [pipewire] Modifier: 0x200000010401b04
13:14:11.062: [pipewire] Size: 3804x137
13:14:11.062: [pipewire] Framerate: 0/1
13:14:11.063: [pipewire] Negotiated format:
13:14:11.063: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
13:14:11.063: [pipewire] Modifier: 0x200000010401b04
13:14:11.063: [pipewire] Size: 3804x137
13:14:11.063: [pipewire] Framerate: 0/1
13:14:11.064: [pipewire] Stream 0x61fc68fa1da0 state: "streaming" (error: none)
13:14:11.158: [pipewire] Negotiated format:
13:14:11.158: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
13:14:11.158: [pipewire] Modifier: 0x200000010401b04
13:14:11.158: [pipewire] Size: 3804x134
13:14:11.158: [pipewire] Framerate: 0/1
13:14:11.159: [pipewire] Negotiated format:
13:14:11.159: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
13:14:11.159: [pipewire] Modifier: 0x200000010401b04
13:14:11.159: [pipewire] Size: 3804x134
13:14:11.159: [pipewire] Framerate: 0/1
13:14:12.293: [pipewire] Stream 0x61fc68fa1da0 state: "paused" (error: none)
13:14:12.293: [pipewire] Negotiated format:
13:14:12.293: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
13:14:12.293: [pipewire] Modifier: 0x200000010401b04
13:14:12.293: [pipewire] Size: 3804x1750
13:14:12.293: [pipewire] Framerate: 0/1
13:14:12.297: [pipewire] Negotiated format:
13:14:12.297: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
13:14:12.297: [pipewire] Modifier: 0x200000010401b04
13:14:12.297: [pipewire] Size: 3804x1750
13:14:12.297: [pipewire] Framerate: 0/1
13:14:12.298: [pipewire] Stream 0x61fc68fa1da0 state: "streaming" (error: none)
13:14:12.396: [pipewire] Negotiated format:
13:14:12.396: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
13:14:12.396: [pipewire] Modifier: 0x200000010401b04
13:14:12.396: [pipewire] Size: 3804x1862
13:14:12.396: [pipewire] Framerate: 0/1
13:14:12.399: [pipewire] Negotiated format:
13:14:12.399: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
13:14:12.399: [pipewire] Modifier: 0x200000010401b04
13:14:12.399: [pipewire] Size: 3804x1862
13:14:12.399: [pipewire] Framerate: 0/1
13:14:12.519: [pipewire] Stream 0x61fc68fa1da0 state: "paused" (error: none)
13:14:12.519: [pipewire] Negotiated format:
13:14:12.519: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
13:14:12.519: [pipewire] Modifier: 0x200000010401b04
13:14:12.519: [pipewire] Size: 3804x1886
13:14:12.519: [pipewire] Framerate: 0/1
13:14:12.522: [pipewire] Negotiated format:
13:14:12.522: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
13:14:12.522: [pipewire] Modifier: 0x200000010401b04
13:14:12.522: [pipewire] Size: 3804x1886
13:14:12.522: [pipewire] Framerate: 0/1
13:14:12.524: [pipewire] Stream 0x61fc68fa1da0 state: "streaming" (error: none)
13:14:12.644: [pipewire] Negotiated format:
13:14:12.645: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
13:14:12.645: [pipewire] Modifier: 0x200000010401b04
13:14:12.645: [pipewire] Size: 3804x1887
13:14:12.645: [pipewire] Framerate: 0/1
13:14:12.648: [pipewire] Negotiated format:
13:14:12.648: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
13:14:12.648: [pipewire] Modifier: 0x200000010401b04
13:14:12.648: [pipewire] Size: 3804x1887
13:14:12.648: [pipewire] Framerate: 0/1
13:18:45.419: ==== Shutting down ==================================================
13:18:45.422: QMetaMethod::invoke: Unable to handle unregistered datatype 'std::string'
13:18:45.423: pulse-input: Stopped recording from 'alsa_output.usb-Generic_USB_Audio-00.analog-stereo.monitor'
13:18:45.423: pulse-input: Got 40684 packets with 48820800 frames
13:18:45.423: Deduplication logic stopped.
13:18:45.423: QMetaMethod::invoke: Unable to handle unregistered datatype 'std::string'
13:18:45.423: pulse-input: Stopped recording from 'alsa_input.usb-0c76_USB_PnP_Audio_Device-00.mono-fallback'
13:18:45.423: pulse-input: Got 40685 packets with 48822000 frames
13:18:45.424: QMetaMethod::invoke: Unable to handle unregistered datatype 'std::string'
13:18:45.424: QMetaMethod::invoke: Unable to handle unregistered datatype 'std::string'
13:18:45.436: v4l2-input: /dev/video2: Stopped capture after 30456 frames
13:18:45.439: QMetaMethod::invoke: Unable to handle unregistered datatype 'std::string'
13:18:45.440: [pipewire] Stream 0x61fc688ed600 state: "unconnected" (error: none)
13:18:45.447: QMetaMethod::invoke: Unable to handle unregistered datatype 'std::string'
13:18:45.447: [pipewire] Stream 0x61fc68fa1da0 state: "paused" (error: none)
13:18:45.447: [pipewire] Stream 0x61fc68fa1da0 state: "unconnected" (error: none)
13:18:45.482: All scene data cleared
13:18:45.482: ------------------------------------------------
13:18:45.493: Tried to call obs_frontend_remove_event_callback with no callbacks!
13:18:45.569: [obs-websocket] [obs_module_unload] Shutting down...
13:18:45.569: Tried to call obs_frontend_remove_event_callback with no callbacks!
13:18:45.570: [obs-websocket] [obs_module_unload] Finished shutting down.
13:18:45.576: [Scripting] Total detached callbacks: 0
13:18:45.576: Freeing OBS context data
13:18:45.601: == Profiler Results =============================
13:18:45.601: run_program_init: 735.924 ms
13:18:45.601: ┣OBSApp::AppInit: 14.474 ms
13:18:45.601: ┃ ┗OBSApp::InitLocale: 0.59 ms
13:18:45.601: ┗OBSApp::OBSInit: 620.16 ms
13:18:45.601: ┣obs_startup: 22.218 ms
13:18:45.601: ┗OBSBasic::OBSInit: 532.056 ms
13:18:45.601: ┣OBSBasic::InitBasicConfig: 0.78 ms
13:18:45.601: ┣OBSBasic::ResetAudio: 0.378 ms
13:18:45.601: ┣OBSBasic::ResetVideo: 98.919 ms
13:18:45.601: ┃ ┗obs_init_graphics: 95.79 ms
13:18:45.601: ┃ ┗shader compilation: 27.534 ms
13:18:45.601: ┣OBSBasic::InitOBSCallbacks: 0.006 ms
13:18:45.601: ┣OBSBasic::InitHotkeys: 0.041 ms
13:18:45.601: ┣obs_load_all_modules2: 184.14 ms
13:18:45.601: ┃ ┣obs_init_module(aja-output-ui.so): 0.241 ms
13:18:45.601: ┃ ┣obs_init_module(aja.so): 0.073 ms
13:18:45.601: ┃ ┣obs_init_module(decklink-captions.so): 0 ms
13:18:45.601: ┃ ┣obs_init_module(decklink-output-ui.so): 0 ms
13:18:45.601: ┃ ┣obs_init_module(decklink.so): 0.132 ms
13:18:45.601: ┃ ┣obs_init_module(frontend-tools.so): 77.798 ms
13:18:45.601: ┃ ┣obs_init_module(image-source.so): 0.006 ms
13:18:45.601: ┃ ┣obs_init_module(linux-alsa.so): 0.001 ms
13:18:45.601: ┃ ┣obs_init_module(linux-capture.so): 0.003 ms
13:18:45.601: ┃ ┣obs_init_module(linux-jack.so): 0.001 ms
13:18:45.601: ┃ ┣obs_init_module(linux-pipewire.so): 11.15 ms
13:18:45.601: ┃ ┣obs_init_module(linux-pulseaudio.so): 0.001 ms
13:18:45.601: ┃ ┣obs_init_module(linux-v4l2.so): 4.204 ms
13:18:45.601: ┃ ┣obs_init_module(obs-browser.so): 0.043 ms
13:18:45.601: ┃ ┣obs_init_module(obs-ffmpeg.so): 10.973 ms
13:18:45.601: ┃ ┣obs_init_module(obs-filters.so): 0.012 ms
13:18:45.601: ┃ ┣obs_init_module(obs-libfdk.so): 0.001 ms
13:18:45.601: ┃ ┣obs_init_module(obs-nvenc.so): 0.064 ms
13:18:45.601: ┃ ┃ ┗nvenc_check: 0.057 ms
13:18:45.601: ┃ ┣obs_init_module(obs-outputs.so): 0.008 ms
13:18:45.601: ┃ ┣obs_init_module(obs-qsv11.so): 7.309 ms
13:18:45.601: ┃ ┣obs_init_module(obs-transitions.so): 0.005 ms
13:18:45.601: ┃ ┣obs_init_module(obs-vst.so): 0.001 ms
13:18:45.601: ┃ ┣obs_init_module(obs-websocket.so): 5.232 ms
13:18:45.601: ┃ ┣obs_init_module(obs-x264.so): 0.002 ms
13:18:45.601: ┃ ┣obs_init_module(rtmp-services.so): 0.144 ms
13:18:45.601: ┃ ┣obs_init_module(text-freetype2.so): 0.008 ms
13:18:45.601: ┃ ┗obs_init_module(vlc-video.so): 0.307 ms
13:18:45.601: ┣OBSBasic::InitService: 0.788 ms
13:18:45.601: ┣OBSBasic::ResetOutputs: 0.156 ms
13:18:45.601: ┣OBSBasic::CreateHotkeys: 0.024 ms
13:18:45.601: ┣OBSBasic::InitPrimitives: 0.069 ms
13:18:45.601: ┗OBSBasic::Load: 110.898 ms
13:18:45.601: obs_hotkey_thread(25 ms): min=0 ms, median=0 ms, max=0.03 ms, 99th percentile=0.002 ms, 100% below 25 ms
13:18:45.601: audio_thread(Audio): min=0.007 ms, median=0.154 ms, max=7.002 ms, 99th percentile=0.692 ms
13:18:45.601: ┗receive_audio: min=0.002 ms, median=0.234 ms, max=6.083 ms, 99th percentile=0.568 ms, 0.512956 calls per parent call
13:18:45.601: ┣buffer_audio: min=0 ms, median=0.001 ms, max=0.042 ms, 99th percentile=0.007 ms
13:18:45.601: ┗do_encode: min=0.085 ms, median=0.23 ms, max=6.059 ms, 99th percentile=0.552 ms
13:18:45.601: ┣encode(simple_aac): min=0.08 ms, median=0.216 ms, max=5.793 ms, 99th percentile=0.484 ms
13:18:45.601: ┗send_packet: min=0 ms, median=0.011 ms, max=4.351 ms, 99th percentile=0.081 ms
13:18:45.601: obs_graphics_thread(33.3333 ms): min=0.086 ms, median=38.036 ms, max=134.198 ms, 99th percentile=87.82 ms, 46.1476% below 33.333 ms
13:18:45.601: ┣tick_sources: min=0.001 ms, median=0.017 ms, max=16.962 ms, 99th percentile=0.055 ms
13:18:45.601: ┣output_frame: min=0.035 ms, median=0.358 ms, max=5.192 ms, 99th percentile=1.733 ms
13:18:45.601: ┃ ┣gs_context(video->graphics): min=0.035 ms, median=0.316 ms, max=4.961 ms, 99th percentile=1.345 ms
13:18:45.601: ┃ ┃ ┣render_video: min=0.006 ms, median=0.137 ms, max=3.204 ms, 99th percentile=0.497 ms
13:18:45.601: ┃ ┃ ┃ ┣render_main_texture: min=0.005 ms, median=0.095 ms, max=3.192 ms, 99th percentile=0.294 ms
13:18:45.601: ┃ ┃ ┃ ┣render_output_texture: min=0.006 ms, median=0.028 ms, max=0.377 ms, 99th percentile=0.122 ms, 0.45184 calls per parent call
13:18:45.601: ┃ ┃ ┃ ┣render_convert_texture: min=0.008 ms, median=0.033 ms, max=0.753 ms, 99th percentile=0.14 ms, 0.45184 calls per parent call
13:18:45.601: ┃ ┃ ┃ ┗stage_output_texture: min=0.005 ms, median=0.025 ms, max=0.298 ms, 99th percentile=0.095 ms, 0.45184 calls per parent call
13:18:45.601: ┃ ┃ ┣gs_flush: min=0.001 ms, median=0.123 ms, max=4.495 ms, 99th percentile=0.787 ms
13:18:45.601: ┃ ┃ ┗download_frame: min=0 ms, median=0.086 ms, max=2.918 ms, 99th percentile=0.248 ms, 0.45184 calls per parent call
13:18:45.601: ┃ ┗output_video_data: min=0.052 ms, median=0.127 ms, max=2.782 ms, 99th percentile=0.539 ms, 0.451704 calls per parent call
13:18:45.601: ┗render_displays: min=0.002 ms, median=37.516 ms, max=133.752 ms, 99th percentile=87.139 ms
13:18:45.601: video_thread(video): min=0.372 ms, median=1.448 ms, max=16.67 ms, 99th percentile=6.138 ms
13:18:45.601: ┗receive_video: min=0.315 ms, median=0.945 ms, max=11.879 ms, 99th percentile=3.884 ms, 1.56066 calls per parent call
13:18:45.601: ┗do_encode: min=0.315 ms, median=0.943 ms, max=11.876 ms, 99th percentile=3.882 ms
13:18:45.601: ┣encode(simple_video_stream): min=0.313 ms, median=0.915 ms, max=11.767 ms, 99th percentile=3.809 ms
13:18:45.601: ┗send_packet: min=0.001 ms, median=0.019 ms, max=7.408 ms, 99th percentile=0.125 ms
13:18:45.601: =================================================
13:18:45.601: == Profiler Time Between Calls ==================
13:18:45.601: obs_hotkey_thread(25 ms): min=25.009 ms, median=25.073 ms, max=28.434 ms, 99.862% within ±2% of 25 ms (0% lower, 0.137999% higher)
13:18:45.601: obs_graphics_thread(33.3333 ms): min=1.145 ms, median=38.047 ms, max=134.249 ms, 40.8088% within ±2% of 33.333 ms (5.60659% lower, 53.5846% higher)
13:18:45.601: =================================================
13:18:45.638: Number of memory leaks: 0
@@ -0,0 +1,8 @@
{
"alerts_enabled": false,
"auth_required": true,
"first_load": false,
"server_enabled": false,
"server_password": "GtQmWQP3FJQA6k49",
"server_port": 4455
}
@@ -0,0 +1 @@
{"$schema":"schema/package-schema.json","url":"https://obsproject.com/obs2_update/rtmp-services/v5","version":290,"files":[{"name":"services.json","version":290}]}
@@ -0,0 +1 @@
{"$schema":"schema/service-schema-v5.json","format_version":5,"services":[{"name":"Twitch","common":true,"stream_key_link":"https://dashboard.twitch.tv/settings/stream","multitrack_video_configuration_url":"https://ingest.twitch.tv/api/v3/GetClientConfiguration","multitrack_video_name":"Enhanced Broadcasting","multitrack_video_learn_more_link":"https://help.twitch.tv/s/article/multiple-encodes","servers":[{"name":"Asia: Hong Kong","url":"rtmp://live-hkg.twitch.tv/app"},{"name":"Asia: Seoul, South Korea","url":"rtmp://live-sel.twitch.tv/app"},{"name":"Asia: Singapore","url":"rtmp://live-sin.twitch.tv/app"},{"name":"Asia: Taipei, Taiwan","url":"rtmp://live-tpe.twitch.tv/app"},{"name":"Asia: Tokyo, Japan","url":"rtmp://live-tyo.twitch.tv/app"},{"name":"Australia: Sydney","url":"rtmp://live-syd.twitch.tv/app"},{"name":"EU: Amsterdam, NL","url":"rtmp://live-ams.twitch.tv/app"},{"name":"EU: Berlin, DE","url":"rtmp://live-ber.twitch.tv/app"},{"name":"Europe: Copenhagen, DK","url":"rtmp://live-cph.twitch.tv/app"},{"name":"EU: Frankfurt, DE","url":"rtmp://live-fra.twitch.tv/app"},{"name":"EU: Helsinki, FI","url":"rtmp://live-hel.twitch.tv/app"},{"name":"EU: Lisbon, Portugal","url":"rtmp://live-lis.twitch.tv/app"},{"name":"EU: London, UK","url":"rtmp://live-lhr.twitch.tv/app"},{"name":"EU: Madrid, Spain","url":"rtmp://live-mad.twitch.tv/app"},{"name":"EU: Marseille, FR","url":"rtmp://live-mrs.twitch.tv/app"},{"name":"EU: Milan, Italy","url":"rtmp://live-mil.twitch.tv/app"},{"name":"EU: Norway, Oslo","url":"rtmp://live-osl.twitch.tv/app"},{"name":"EU: Paris, FR","url":"rtmp://live-cdg.twitch.tv/app"},{"name":"EU: Prague, CZ","url":"rtmp://live-prg.twitch.tv/app"},{"name":"EU: Stockholm, SE","url":"rtmp://live-arn.twitch.tv/app"},{"name":"EU: Vienna, Austria","url":"rtmp://live-vie.twitch.tv/app"},{"name":"EU: Warsaw, Poland","url":"rtmp://live-waw.twitch.tv/app"},{"name":"NA: Mexico City","url":"rtmp://live-qro.twitch.tv/app"},{"name":"NA: Quebec, Canada","url":"rtmp://live-ymq.twitch.tv/app"},{"name":"NA: Toronto, Canada","url":"rtmp://live-yto.twitch.tv/app"},{"name":"South America: Argentina","url":"rtmp://live-eze.twitch.tv/app"},{"name":"South America: Chile","url":"rtmp://live-scl.twitch.tv/app"},{"name":"South America: Lima, Peru","url":"rtmp://live-lim.twitch.tv/app"},{"name":"South America: Medellin, Colombia","url":"rtmp://live-mde.twitch.tv/app"},{"name":"South America: Rio de Janeiro, Brazil","url":"rtmp://live-rio.twitch.tv/app"},{"name":"South America: Sao Paulo, Brazil","url":"rtmp://live-sao.twitch.tv/app"},{"name":"US Central: Dallas, TX","url":"rtmp://live-dfw.twitch.tv/app"},{"name":"US Central: Denver, CO","url":"rtmp://live-den.twitch.tv/app"},{"name":"US Central: Houston, TX","url":"rtmp://live-hou.twitch.tv/app"},{"name":"US Central: Salt Lake City, UT","url":"rtmp://live-slc.twitch.tv/app"},{"name":"US East: Ashburn, VA","url":"rtmp://live-iad.twitch.tv/app"},{"name":"US East: Atlanta, GA","url":"rtmp://live-atl.twitch.tv/app"},{"name":"US East: Chicago","url":"rtmp://live-ord.twitch.tv/app"},{"name":"US East: Miami, FL","url":"rtmp://live-mia.twitch.tv/app"},{"name":"US East: New York, NY","url":"rtmp://live-jfk.twitch.tv/app"},{"name":"US West: Los Angeles, CA","url":"rtmp://live-lax.twitch.tv/app"},{"name":"US West: Phoenix, AZ","url":"rtmp://live-phx.twitch.tv/app"},{"name":"US West: Portland, Oregon","url":"rtmp://live-pdx.twitch.tv/app"},{"name":"US West: San Francisco, CA","url":"rtmp://live-sfo.twitch.tv/app"},{"name":"US West: San Jose, CA","url":"rtmp://live-sjc.twitch.tv/app"},{"name":"US West: Seattle, WA","url":"rtmp://live-sea.twitch.tv/app"}],"recommended":{"keyint":2,"max video bitrate":6000,"max audio bitrate":320,"x264opts":"scenecut=0"},"supported video codecs":["h264"]},{"name":"YouTube - HLS","common":false,"more_info_link":"https://developers.google.com/youtube/v3/live/guides/ingestion-protocol-comparison","stream_key_link":"https://www.youtube.com/live_dashboard","protocol":"HLS","supported video codecs":["h264","hevc"],"servers":[{"name":"Primary YouTube ingest server","url":"https://a.upload.youtube.com/http_upload_hls?cid={stream_key}&copy=0&file=out.m3u8"},{"name":"Backup YouTube ingest server","url":"https://b.upload.youtube.com/http_upload_hls?cid={stream_key}&copy=1&file=out.m3u8"}],"recommended":{"keyint":2,"output":"ffmpeg_hls_muxer","max video bitrate":51000,"max audio bitrate":160}},{"name":"YouTube - RTMPS","common":true,"stream_key_link":"https://www.youtube.com/live_dashboard","alt_names":["YouTube / YouTube Gaming","YouTube - RTMP","YouTube - RTMPS (Beta)"],"supported video codecs":["h264","hevc","av1"],"servers":[{"name":"Primary YouTube ingest server","url":"rtmps://a.rtmps.youtube.com:443/live2"},{"name":"Backup YouTube ingest server","url":"rtmps://b.rtmps.youtube.com:443/live2?backup=1"},{"name":"Primary YouTube ingest server (legacy RTMP)","url":"rtmp://a.rtmp.youtube.com/live2"},{"name":"Backup YouTube ingest server (legacy RTMP)","url":"rtmp://b.rtLine truncated
@@ -0,0 +1 @@
[]
+7 -2
View File
@@ -42,12 +42,17 @@ MultiviewMouseSwitch=true
MultiviewDrawNames=true
MultiviewDrawAreas=true
MediaControlsCountdownTimer=true
geometry=AdnQywADAAAAAAAAAAAAAAAACasAAAUUAAAAAAAAAAAAAAmrAAAFFAAAAAACAAAACgAAAAAAAAAAAAAACasAAAUU
DockState=AAAA/wAAAAD9AAAAAQAAAAMAAAmsAAAA2PwBAAAABvsAAAAUAHMAYwBlAG4AZQBzAEQAbwBjAGsBAAAAAAAAAd4AAACYAP////sAAAAWAHMAbwB1AHIAYwBlAHMARABvAGMAawEAAAHiAAAB3QAAAJgA////+wAAABIAbQBpAHgAZQByAEQAbwBjAGsBAAADwwAAAfcAAADeAP////sAAAAeAHQAcgBhAG4AcwBpAHQAaQBvAG4AcwBEAG8AYwBrAQAABb4AAAH2AAAArQD////7AAAAGABjAG8AbgB0AHIAbwBsAHMARABvAGMAawEAAAe4AAAB9AAAAM4A////+wAAABIAcwB0AGEAdABzAEQAbwBjAGsCAAADogAAAmwAAAK8AAAAyAAACawAAAP9AAAABAAAAAQAAAAIAAAACPwAAAAA
geometry=AdnQywADAAAAAAoAAAAAAAAAE+cAAAVQAAAKAAAAAAAAABP/AAAFnwAAAAECAAAACgAAAAoAAAAAAAAAE+cAAAVQ
DockState=AAAA/wAAAAD9AAAAAQAAAAMAAAnoAAABA/wBAAAABvsAAAAUAHMAYwBlAG4AZQBzAEQAbwBjAGsBAAAAAAAAAekAAACYAP////sAAAAWAHMAbwB1AHIAYwBlAHMARABvAGMAawEAAAHtAAAB6gAAAJgA////+wAAABIAbQBpAHgAZQByAEQAbwBjAGsBAAAD2wAAAgMAAAECAP////sAAAAeAHQAcgBhAG4AcwBpAHQAaQBvAG4AcwBEAG8AYwBrAQAABeIAAAICAAAAggD////7AAAAGABjAG8AbgB0AHIAbwBsAHMARABvAGMAawEAAAfoAAACAAAAAM4A////+wAAABIAcwB0AGEAdABzAEQAbwBjAGsCAAADogAAAmwAAAK8AAAAyAAACegAAAQOAAAABAAAAAQAAAAIAAAACPwAAAAA
AlwaysOnTop=false
EditPropertiesMode=false
DocksLocked=false
SideDocks=false
VerticalVolumeControl=true
MixerShowInactive=false
MixerKeepInactiveLast=false
MixerShowHidden=false
MixerKeepHiddenLast=false
[Basic]
Profile=Untitled
+16
View File
@@ -369,6 +369,22 @@
"plugin": [
"oh-my-openagent"
],
"permission": {
"read": {
"*": "ask",
"*.env": "ask",
"*.env.*": "ask",
"*.env.example": "ask"
},
"bash": {
"cat *": "ask",
"head *": "ask",
"tail *": "ask",
"rg *": "ask",
"grep *": "ask",
"find *": "ask"
}
},
"agent": {
"dev": {
"model": "litellm/chatgpt/gpt-5.6-terra-low"
+16
View File
@@ -369,6 +369,22 @@
"plugin": [
"oh-my-openagent"
],
"permission": {
"read": {
"*": "ask",
"*.env": "ask",
"*.env.*": "ask",
"*.env.example": "ask"
},
"bash": {
"cat *": "ask",
"head *": "ask",
"tail *": "ask",
"rg *": "ask",
"grep *": "ask",
"find *": "ask"
}
},
"agent": {
"dev": {
"model": "litellm/chatgpt/gpt-5.6-terra-low"
+2 -2
View File
@@ -1,6 +1,6 @@
[FileDialog]
history=file:///home/connorjohnstone/docs/dnd/one_shots/tress/guide/build, file:///home/connorjohnstone/downloads, file:///home/connorjohnstone, file:///home/connorjohnstone/scout/projects/sim_prototype, file:///home/connorjohnstone/scout/projects/sim_prototype/ui/scripts, file:///home/connorjohnstone/scout/projects/sim_prototype/build
lastVisited=file:///home/connorjohnstone/scout/projects/sim_prototype/build
history=file:///home/connorjohnstone/scout/projects/sim_prototype, file:///home/connorjohnstone/scout/projects/sim_prototype/ui/scripts, file:///home/connorjohnstone/scout/projects/sim_prototype/build, file:///tmp, file:///home/connorjohnstone/scout, file:///tmp/jessica
lastVisited=file:///tmp/jessica
qtVersion=6.11.1
shortcuts=file:, file:///home/connorjohnstone, file:///home/connorjohnstone/scout, file:///tmp, file:///mnt
sidebarWidth=110
+1
View File
@@ -132,3 +132,4 @@ anthropic https://platform.claude.com/dashboard
moey_rent https://moeyproperties.managebuilding.com/Resident/portal/
jessica https://meet.google.com/pez-pnzg-nxo
dashboard https://docs.google.com/spreadsheets/d/1vwAxNKKzGNAPbqasXk52l8O0v4WfCXaxZmDd4ZzQYl8/edit?gid=1259809999#gid=1259809999
flexio https://flexio.rcjohnstone.com/
+7 -10
View File
@@ -45,8 +45,8 @@ _oc_launch() {
fi
# ---- where the proxy lives -------------------------------------------
# Default is mainframe talking to itself. Any other machine (the laptop)
# exports LITELLM_BASE=https://llm.rcjohnstone.com before calling these.
# Always https://llm.rcjohnstone.com, on every host including mainframe --
# never 127.0.0.1 (the default is set in zshenv; see the note there).
# That name is NOT public: no A record, internal CA, and Caddy's (internal)
# snippet source-IP gates it to 10.0.0.0/24, 10.0.1.0/24 and the podman
# subnets. The router's DNS override resolves it to 10.0.0.2, so on the LAN
@@ -56,20 +56,17 @@ _oc_launch() {
# exported before opencode starts -- there is no default inside the JSON and
# an unset value interpolates to empty, which fails as a confusing URL error
# rather than a missing-variable one.
: ${LITELLM_BASE:=http://127.0.0.1:4000}
: ${LITELLM_BASE:=https://llm.rcjohnstone.com}
export LITELLM_BASE
# Preflight the proxy. Without this the first request fails somewhere inside
# the TUI and reads like a model problem instead of a dead backend.
if ! curl -fsS -m 3 -o /dev/null "$LITELLM_BASE/health/liveliness" 2>/dev/null; then
print -u2 "oc: LiteLLM proxy is not answering on $LITELLM_BASE."
if [[ "$LITELLM_BASE" == *127.0.0.1* ]]; then
print -u2 " Try: sudo podman restart connor_litellm_1"
else
print -u2 " Check: on the LAN? DNS resolving to 10.0.0.2? Caddy's"
print -u2 " internal CA trusted by this machine? (a TLS failure looks"
print -u2 " identical to a dead backend here)"
fi
print -u2 " Check: on the LAN? DNS resolving to 10.0.0.2? Caddy's"
print -u2 " internal CA trusted by this machine? (a TLS failure looks"
print -u2 " identical to a dead backend here)"
print -u2 " On mainframe, also: sudo podman restart connor_litellm_1"
return 1
fi
+6 -1
View File
@@ -26,7 +26,12 @@ export ANDROID_HOME="$HOME/Android/Sdk"
# opencode's {env:} interpolation has no fallback syntax: an unset value becomes
# an empty string and every request fails with an opaque URL parse error. Set
# here rather than in .zshrc so non-interactive shells resolve it too.
export LITELLM_BASE="${LITELLM_BASE:-http://127.0.0.1:4000}"
#
# The domain on EVERY host, mainframe included -- never 127.0.0.1. The router's
# DNS override resolves it to 10.0.0.2, so it stays on the LAN. A loopback
# default here was shared to the laptop by the one-branch rebuild and broke
# oc-work there; one name that works everywhere can't regress that way.
export LITELLM_BASE="${LITELLM_BASE:-https://llm.rcjohnstone.com}"
# Repo scripts come first; host-specific ones shadow the shared ones.
# typeset -U keeps the array unique, so a nested shell re-reading this file