ninbura
ninbura
Explore posts from servers
AAE📼 Addie’s Analog Emporium 🌐
Created by ninbura on 7/27/2024 in #tech-help
Elgato 4K Pro 4K120 HDR VRR Passthrough
Question Am I mistaken in believing that the 4K Pro is supposed to be capable of passing 4K120 HDR VRR to a TV/display? Problem Trying to configure a friends capture setup. When I send 4K120 HDR VRR to a 4K Pro / through to his TV, the card's internal HDR tone-mapping doesn't work (washed out), and the signal is washed out on the TV. - HDR is enabled in Windows, when disabled it looks "fine" but TV is much less bright due to no HDR. - If I use an HDMI 2.1 splitter to bypass passthrough on the 4K Pro, HDR is sent proper to the TV, but auto tone-mapping still doesn't work on the capture card. I have to manually configure it in OBS to get proper tone-mapping. Additionally VRR doesn't work when using a splitter, it seems the capture needs to be directly connected to the display to read the VRR. - When outputting 4K60 HDR VRR to the 4K Pro with passthrough to the TV everything works. Auto tone-mapping, and colors look correct on the TV. Relevant Hardware - Elgato 4K Pro - Display - LG OLED-C1 - RTX 4090 - Certified Anker HDMI 2.1 cables on everything
6 replies
AAE📼 Addie’s Analog Emporium 🌐
Created by ninbura on 7/6/2024 in #tech-help
Video Player w/ Hardware Accelerated AV1 Decoding on Linux (Nvidia GPU)
Question As the title suggests, I'm looking for a video player that can playback AV1 encoded video files with hardware acceleration via an Nvidia GPU on Linux (Ubuntu 24.04 LTS). Personally I've used VLC Player on Windows for like 2 decades, and since v3.0.18 it's had Hardware Accelerated AV1 Decoding support on Windows. I install it with winget install VLC.VLC and it just works, no additional configuration needed. On Linux however... when selecting any of the "Hardware-accelerated decoding" options I get either poor performance or a black screen. - VA-API video decoder - Poor playback performance (anything over 1080p freezes). - VDPAU video decoder - Black screen on all codecs. - Disabled - Poor playback performance (anything over 1080p freezes). I installed an open source VAAPI driver for Nvidia on Linux. But I can't find anyone using it for anything outside of web browsers. I'm looking for a Video Player Desktop application that'll playback AV1 smoothly, at this point I'm open to switching of VLC Player if anything else can get the job done. Relevant System Info - OS - Ubuntu 24.04 LTS (X11) - Motherboard - ASRock Taichi X399M - CPU - AMD Threadripper 2970WX - GPU - Nvidia RTX 4070 Ti
8 replies
AAE📼 Addie’s Analog Emporium 🌐
Created by ninbura on 5/28/2024 in #tech-help
Curious as to what options others are using in FFmpeg for av1_nvenc encoding.
testing Been playing some Nier Automata; saved off some of my gameplay using FFmpeg and noticed the foliage looked insanely bad. Here's the base command, usually I'm doing segmentation, but I've removed anything unnecessary for the sake of example:
ffmpeg -y -guess_layout_max 0 -thread_queue_size 9999 -indexmem 9999 `
-f dshow -rtbufsize 2147.48M -video_size 3440x1440 -framerate 100 -pixel_format nv12 `
-i video="AVerMedia HD Capture GC573 1":audio="MADI (65+66) (RME HDSPe MADI FX)" `
-map 0 -c:v av1_nvenc -gpu 1 -preset p2 -pix_fmt nv12 -r 100 -rc-lookahead 50 `
-rc:v vbr -cq 18 -color_range 1 -colorspace 1 -color_primaries 1 -color_trc 1 `
-c:a mp3 -ac 2 -ar 48000 -b:a 320k -max_muxing_queue_size 9999 `
"//192.168.2.4/a-sexy-q-drive/ffmpeg/a_q-18.mp4"
ffmpeg -y -guess_layout_max 0 -thread_queue_size 9999 -indexmem 9999 `
-f dshow -rtbufsize 2147.48M -video_size 3440x1440 -framerate 100 -pixel_format nv12 `
-i video="AVerMedia HD Capture GC573 1":audio="MADI (65+66) (RME HDSPe MADI FX)" `
-map 0 -c:v av1_nvenc -gpu 1 -preset p2 -pix_fmt nv12 -r 100 -rc-lookahead 50 `
-rc:v vbr -cq 18 -color_range 1 -colorspace 1 -color_primaries 1 -color_trc 1 `
-c:a mp3 -ac 2 -ar 48000 -b:a 320k -max_muxing_queue_size 9999 `
"//192.168.2.4/a-sexy-q-drive/ffmpeg/a_q-18.mp4"
Most relevant part is the -rc:v vbr -cq 18 bit. I did some digging because the quality was fairly atrocious, and I eventually came across this HandBrake issue on GitHub. Long story short I was missing some parameters, specifically the following.
-rc:v vbr -cq 18 -qmin 18 -qmax 18 -b:v 0
-rc:v vbr -cq 18 -qmin 18 -qmax 18 -b:v 0
Sure enough, my quality drastically increased, but so did my file size; by a factor of 35... This threw me for a loop, because I ostensibly set the same values in OBS. And get much smaller files (5x), with similar visual quality.
# relevant OBS settings
Rate Control = QCP
CQ Level = 18
# relevant OBS settings
Rate Control = QCP
CQ Level = 18
From there I upped my -cq level from 18 to 36 in FFmpeg, which only cut the file down around 15%. After which I returned to that GitHub issue to read the rest of the comments, and some people suggested that -rc:v constqp -qp [int] was the way to go. So, I changed out the relevant parameters.
-rc:v constqp -qp 36 -b:v 0
-rc:v constqp -qp 36 -b:v 0
Sure enough... much smaller file (3x) with similar quality to the previous commands that were using -cq. Even when I bump -qp up to 72 I get pretty good looking results imo. confused about 1. Nvidia seems to suggest you use -rc:v vbr -cq [int] instead of -rc:v constqp -cq [int] in FFmpeg 2. -rc:v constqp -qp [int] seems to be preferable via mine and others' testing in FFmpeg 3. OBS ostensibly uses cq and not qp assuming that their labels are correct. However, output from OBS doesn't seem to be gargantuan like FFmpeg with similar settings. video examples 1. FFmpeg cq 18 without qmin/qmax & b:v 0 (video example (56MB) | command) 2. FFmpeg cq 18 with qmin/qmax & b:v 0 (1750MB) (video example (1750MB) | command) 3. OBS cq 18 (video example (308MB) | settings) 4. FFmpeg cq 36 with qmin/qmax & b:v 0 (video example (1333MB) | command) 5. FFmpeg qp 36 (video example (540MB) | command) 6. [FFmpeg qp 72 (video example (239MB) | command)
18 replies
AAE📼 Addie’s Analog Emporium 🌐
Created by ninbura on 2/13/2024 in #tech-help
OBS on Linux - High average time to render
preface Just switched one of my systems that I use to host applications from WIndows 11 to Ubuntu 23.10. I use OBS + Advnaced Scene Switcher + NDI to share my screen during collaborative sysadmin / software development sessions with my peers. I also use this machine for watching streams while in Discord calls, to offload resources from my other machines (works great). So, I have reasons to use GUI Ubuntu. the issue When I got around to configuring OBS I noticed that my average time to render frames was 4x+ higher than what it was on Windows (9ms vs 2mx). Same computer/hardware, screen capture source of the same 4K display. I'm using XSHM as opposed to PipeWire for screen capture. With PipeWrie I get 50ms+ render time, vs 9ms with XSHM. When I'm actually interacting with the PC, the render time jumps into the mid to high teens at times; which results in frame drops. Though, the output isn't unusable or anything. suspicion I suspect that this is simply the performance I am to expect for this rig running Ubuntu. But just wondering if anyone has any tips or tricks for increasing performance in OBS on Linux. Or if anyone has any other insight on the subject. I find it Interesting that performance is so much better in Windows in-regards to OBS. Though, I understand it is a completely different environment. covering some bases - system power mode is set to "Balanced", which is the highest available option. - Tested using Ubuntu's standard and lowlatency kernal. Currently using the low latency kernal for audio stability (see here). - I've verified that my GPU driver is installed & working, as well as trying multiple versions of said driver. - I installed OBS with Flatpak, but also tried installing the deb version to make sure it wasn't a sandboxing issue. - I get the same results with a fresh install of OBS. Default scene, one 4k screen capture source, and no plugins installed. relevant system info - operating system - Ubuntu 23.10 - cpu - AMD Threadripper 2970WX - gpu - RTX 4070 Ti (nvidia-driver-545) - ram - 128GB DDR4 @ 3200Mhz relevant obs info - version - 30.0.2 (64 bit) - base/output canvas - 1920x1080 - framerate - 60
8 replies
AAE📼 Addie’s Analog Emporium 🌐
Created by ninbura on 2/3/2024 in #tech-help
Motion graphics DaVinci Resolve tutorials
Anyone got some tutorials for doing motion graphics in Davinci Resolve that they feel really helped them / are a cut above the rest? I know there's a #resolve-tutorials channel, but it's not super searchable.
1 replies
AAE📼 Addie’s Analog Emporium 🌐
Created by ninbura on 11/17/2023 in #tech-help
Elgato Nvidia Broadcast Noise Removal VST
Is it no longer possible to get this thing standalone? Looks like I can only get it from the new Elgato market place, and it won't install anything unless you have Wave Link installed with a "Wave Link compatible device" connected. Can't remember how long ago, but it seemed like around a year ago I was able to download a standalone VST that I could run in Reaper.
2 replies
AAE📼 Addie’s Analog Emporium 🌐
Created by ninbura on 11/15/2023 in #tech-help
Elgato Stream Deck display has randomly inverted/mirrored
No description
1 replies
DIAdiscord.js - Imagine an app
Created by ninbura on 8/27/2023 in #djs-questions
edit ephemeral message without access to interaction object
// example code
const message = await channel.messages.getch(messageId)

message.edit({content: `The voice channel linked in this message has since been deleted...`})

// error
<rejected> DiscordAPIError[10008]: Unknown Message
// example code
const message = await channel.messages.getch(messageId)

message.edit({content: `The voice channel linked in this message has since been deleted...`})

// error
<rejected> DiscordAPIError[10008]: Unknown Message
From my understanding ephemeral messages are editable via the interaction's token. So, the Discord api allows for this functionality... But there is currently no method for doing this via djs?
7 replies
DIAdiscord.js - Imagine an app
Created by ninbura on 6/25/2023 in #djs-questions
Channel's position properties appear to be incoherent
19 replies
DIAdiscord.js - Imagine an app
Created by ninbura on 6/23/2022 in #djs-questions
Manufacture PermissionOverwrites object
I'm wondering if it's possible to manufacture a PermissionOverwrites object. I can create an object with all the same properties, but the API rejects the object. When I compare to one in the cache I can see that the object itself has a type of PermissionOverwrites:
PermissionOverwrites object pulled from cache:
PermissionOverwrites {
id: '191458771837386752',
type: 'member',
deny: Permissions { bitfield: 377957122048n },
allow: Permissions { bitfield: 3072n }
}

PermissionOverwrites I created:
{
id: '191458771837386752',
type: 'member',
deny: Permissions { bitfield: 377957122048n },
allow: Permissions { bitfield: 3072n }
}
PermissionOverwrites object pulled from cache:
PermissionOverwrites {
id: '191458771837386752',
type: 'member',
deny: Permissions { bitfield: 377957122048n },
allow: Permissions { bitfield: 3072n }
}

PermissionOverwrites I created:
{
id: '191458771837386752',
type: 'member',
deny: Permissions { bitfield: 377957122048n },
allow: Permissions { bitfield: 3072n }
}
I figured out how to create a Permissions object within the overwrite, but I can't seem to figure out how to make the overwrite object itself a PermissionOverwrites object.
4 replies