Skip to content

Instantly share code, notes, and snippets.

@steveseguin
Last active January 5, 2026 16:29
Show Gist options
  • Select an option

  • Save steveseguin/274f00dc5667f7c9bfa782503942744b to your computer and use it in GitHub Desktop.

Select an option

Save steveseguin/274f00dc5667f7c9bfa782503942744b to your computer and use it in GitHub Desktop.
Discord #update channel mirrored output
Daily progress updates and nightly new features for VDO.Ninja can be view at:
https://updates.vdo.ninja
You can also Join the Discord server at https://discord.vdo.ninja and follow the channel #updates
[
{
"content": "- You can use the API to control the mixer layout now, via the mixer. `https://api.vdo.ninja/APIKEY/layout/2`\n-- there were some bugs with this when using it via the mixer before, and there wasn't much documentation on the companion.vdo.ninja site. all fixed.\n** works on vdo.ninja/alpha/mixer?api=APIKEY",
"timestamp": 1759632433.33415,
"name": "steveseguin",
"msgid": "1082107014408306740",
"avatar": "https://cdn.discordapp.com/avatars/227248835251011585/65c32b7b05ec3a9bdf7371aa5df35dbf.png?size=1024",
"attachments": [
{
"mime": "image/png",
"url": "https://cdn.discordapp.com/attachments/701232125831151697/1082107014374756452/image.png?ex=68e31630&is=68e1c4b0&hm=89192600df2714fe35afb8ef7c820a6b076a8f1fa9143116520f14380a62fba6&",
"desc": null
},
{
"mime": "image/png",
"url": "https://cdn.discordapp.com/attachments/701232125831151697/1082107014630617128/image.png?ex=68e31630&is=68e1c4b0&hm=6c5660a902d52293623cd7d249b34ead79562f5b2e27425a41061b251b5eec77&",
"desc": null
}
]
},
{
"content": "note: If you opened the Social Stream Ninja app recently, and things aren't working, just restart the app. Temporary issue that's now fixed, but not noting it might linger for some.",
"timestamp": 1759958760.852641,
"name": "steveseguin",
"msgid": "1425595108669001749",
"avatar": "https://cdn.discordapp.com/avatars/227248835251011585/65c32b7b05ec3a9bdf7371aa5df35dbf.png?size=1024",
"attachments": []
},
{
"content": "- The other week I made this **web-only version of Social Stream Ninja**, which I'm calling the \"lite\" version\n - it only works with Youtube, Twitch, and Kick, however there might be some lingering issues with Youtube permissions I'm sorting out still\n - it is compatible with the dock.html and other custom overlay pages, but it is very restricted in features and functions overall - very basic.\n - it can work on mobile without a computer also; you can full screen the chat from the page and get basic consolidated chat that way\n** It's available for testing and I am seeking feedback: https://socialstream.ninja/lite\n\nWhy did I add this? Some users requested a simple web-only version, for mobile use or some users get easily overwhelmed with options. I'll improve based on feedback.\n\n- I've pushed many small updates over the last few weeks, focusing mainly on fixing bugs and adding polish though. I've been adding some new follower/subscriber events this week as well, expanding support for those events across more sources. The beta version of SSN, via the websocket-mode for Tiktok, Youtube, Twitch, and Kick, have been my focus and there's a few new events added there now. I'll update in more detail once I confirm what actually works after completing some lengthly testing.",
"timestamp": 1760645877.34658,
"name": "steveseguin",
"msgid": "1428477082685673521",
"avatar": "https://cdn.discordapp.com/avatars/227248835251011585/65c32b7b05ec3a9bdf7371aa5df35dbf.png?size=1024",
"attachments": [
{
"mime": "image/png",
"url": "https://cdn.discordapp.com/attachments/701232125831151697/1428477083092390048/image.png?ex=68f2a474&is=68f152f4&hm=c96c3798f9b07f3ed023e13176288a390695fd50e8a917a7dbafb52f4037ec8c&",
"desc": null
}
]
},
{
"content": "- regarding **VDO.Ninja updates**, when using &meshcast in a group room, it will now have the screen shares also be sent via meshcast (whip) and not just the primary camera feed\n - this further reduces the CPU and bandwidth on guests with weak connections when screensharing in a group room, however it does mean screen shares take a few moments longer to load when used in this fashion.\n - several new URL options added to control screen share playback; audio-only, video-only, exclude screenshare, and only-show-screenshares.\n** changes are on alpha for testing at vdo.ninja/alpha/",
"timestamp": 1760646024.576185,
"name": "steveseguin",
"msgid": "1428477701609492501",
"avatar": "https://cdn.discordapp.com/avatars/227248835251011585/65c32b7b05ec3a9bdf7371aa5df35dbf.png?size=1024",
"attachments": []
},
{
"content": "- An option to change the font-color, outline, and weight for the dock.html main overaly were added to the menu as options \n - option is on the beta version of the code (toggle it on in the app or download beta.socialstream.ninja if using the extension)",
"timestamp": 1760735125.064799,
"name": "steveseguin",
"msgid": "1428851415857762484",
"avatar": "https://cdn.discordapp.com/avatars/227248835251011585/65c32b7b05ec3a9bdf7371aa5df35dbf.png?size=1024",
"attachments": [
{
"mime": "image/webp",
"url": "https://cdn.discordapp.com/attachments/701232125831151697/1428851415203319808/image.png?ex=693f2694&is=693dd514&hm=b77cab71955210cc7a3b2f12573040b9fd73236ef4189e19250df791737356ff&",
"desc": null
}
]
},
{
"content": "",
"timestamp": 1760735732.650842,
"name": "steveseguin",
"msgid": "1428853964883099698",
"avatar": "https://cdn.discordapp.com/avatars/227248835251011585/65c32b7b05ec3a9bdf7371aa5df35dbf.png?size=1024",
"attachments": [
{
"mime": "image/webp",
"url": "https://cdn.discordapp.com/attachments/701232125831151697/1428853964614406175/image.png?ex=68f40373&is=68f2b1f3&hm=e97fec03b9fc9678d0210ba98263cc0d2e48a2ad1791e84b6d840dd870c8debf&",
"desc": null
}
]
},
{
"content": "- I pushed an updated version of the SSN standalone app to production. \n - some users were having Tiktok websocket issues in the last version, which I seem to have fixed in this version\n - the chromium engine has been updated to the newest stable release I have access to,\n - the app has a different fingerprint than the last version, so signing in to some sites may work if the past version failed.\nhttps://github.com/steveseguin/social_stream/releases/tag/0.3.58",
"timestamp": 1760745572.473066,
"name": "steveseguin",
"msgid": "1428895235521384541",
"avatar": "https://cdn.discordapp.com/avatars/227248835251011585/65c32b7b05ec3a9bdf7371aa5df35dbf.png?size=1024",
"attachments": []
},
{
"content": "- now, if you long-press the speaker icon in VDO.Ninja, a volume slider will appear that will let you adjust the volume of incoming audio (1 to 100%).\n** on alpha for testing at vdo.ninja/alpha/",
"timestamp": 1761017859.888905,
"name": "steveseguin",
"msgid": "1430037291664932884",
"avatar": "https://cdn.discordapp.com/avatars/227248835251011585/65c32b7b05ec3a9bdf7371aa5df35dbf.png?size=1024",
"attachments": [
{
"mime": "image/png",
"url": "https://cdn.discordapp.com/attachments/701232125831151697/1430037291220340756/image.png?ex=68f85183&is=68f70003&hm=e2c9d59a8621d5dd5757a4e3e749ed08420a7b9f2627fbd3a51f401afcc9b00d&",
"desc": null
}
]
},
{
"content": "- added a couple new midi hotkey options; deafen and blind for the director. I am welcoming more suggestions\n- added volume control to midi for director per guest; value 27 to 127 controls volume from 0 to 100%. I can change this if 200% is desired instead? \n- midi control change channel is set to 1 now; other channels are ignored.\n\nImage demos how to mute guest #1 via a toggle gain switch with a streamdeck.",
"timestamp": 1761148887.038152,
"name": "steveseguin",
"msgid": "832788588981780491",
"avatar": "https://cdn.discordapp.com/avatars/227248835251011585/65c32b7b05ec3a9bdf7371aa5df35dbf.png?size=1024",
"attachments": [
{
"mime": "image/png",
"url": "https://cdn.discordapp.com/attachments/701232125831151697/832788586071326750/unknown.png?ex=68fa2c8f&is=68f8db0f&hm=3d95b8ef9b89f03f5d962dbafbdfcb925d6919c837adc1886caa0c34b13c6463&",
"desc": null
}
]
},
{
"content": "- Added a 'hype meter' to Social Stream to offer insight into total actively engaged viewers; an alternative to 'viewer counts'.\n-- keeps track of unique names seen per chat source in the last 5 minutes.\n-- the more engaged your viewers are with the chat, the higher the score. Might encourage more chatting.\n-- this is a new dedicated overlay page\n-- basic styling options included, such as align left/right, disabling outlining, scale, etc",
"timestamp": 1761159335.85234,
"name": "steveseguin",
"msgid": "1140357066733662399",
"avatar": "https://cdn.discordapp.com/avatars/227248835251011585/65c32b7b05ec3a9bdf7371aa5df35dbf.png?size=1024",
"attachments": [
{
"mime": "image/png",
"url": "https://cdn.discordapp.com/attachments/701232125831151697/1140357066180006060/image.png?ex=68fa7947&is=68f927c7&hm=e578608cf1dd015bd3f92e7c8e6dcad50c9660389de3fa72a9e7f6e07bd43e64&",
"desc": null
},
{
"mime": "image/png",
"url": "https://cdn.discordapp.com/attachments/701232125831151697/1140357066532343848/image.png?ex=68fa7947&is=68f927c7&hm=3d058ef12cd2a110fe9d56f0292f8996802fb25e9403be5fba222f8104d2d769&",
"desc": null
}
]
},
{
"content": "- I've updated the **Video Capture browser extension** (https://github.com/steveseguin/video_capture_extension) \n - it is less likely to disconnect a video that's being published just because someone else joined/left the room \n - it will near immediately hide video streams when they become stopped, rather than showing a frozen frame for more than a second\n - ** The newest version is available for TESTING , via manual download, at https://extension.vdo.ninja or on github.\n\n- I've updated the **VDO.Ninja SDK**\n - It supports bitrate and resolution controls now, including demos\n - it supports blanking videos automatically that are stopped or muted, rather than showing frozen frames\n - fixed a very rare bug\n - you can now use it with a self-hosted version of the vdo.ninja server\n - https://github.com/steveseguin/ninjasdk",
"timestamp": 1761460508.235319,
"name": "steveseguin",
"msgid": "1431893892696899696",
"avatar": "https://cdn.discordapp.com/avatars/227248835251011585/65c32b7b05ec3a9bdf7371aa5df35dbf.png?size=1024",
"attachments": []
},
{
"content": "- I've published a new test version of the **Social Stream Ninja standalone application** \n - I made the mistake this month of trying to use a newer Tiktok webscoket API to access shopping events, etc, but it's horrific to use, so I've now reverted back in this version to the basic earlier version. Version 0.3.48 to 0.3.59 are using the newer API, and now the new v0.3.60 has reverted back to earlier code of mine, that I think was more reliable\n - I've added an experimental option to let you try to sign in to the Tiktok websocket API, so you can try to see if that lets you respond to messages or not\n - You can now also sign into Youtube after adding a username, without starting an actual stream\n** This new v0.3.60 version is available for TESTING at https://github.com/steveseguin/social_stream/releases/tag/0.0.0 ; please report how it goes for you.",
"timestamp": 1761460816.849059,
"name": "steveseguin",
"msgid": "1431895188682571796",
"avatar": "https://cdn.discordapp.com/avatars/227248835251011585/65c32b7b05ec3a9bdf7371aa5df35dbf.png?size=1024",
"attachments": []
},
{
"content": "- new test version of SSN Standalone: v0.3.61.\n - two different file -> reset options added (full reset & partial reset)\n - so, now I support Tiktok via alegacy websockets mode, a new websockets mode, and standard modes\n - if one mode fails to work for you, you have more options now. \n - I hide error/warnings in the console log, to avoice confusign uses\nhttps://github.com/steveseguin/social_stream/releases/tag/0.0.0",
"timestamp": 1761631196.110799,
"name": "steveseguin",
"msgid": "1432609810259644498",
"avatar": "https://cdn.discordapp.com/avatars/227248835251011585/65c32b7b05ec3a9bdf7371aa5df35dbf.png?size=1024",
"attachments": []
},
{
"content": "- The Electron Capture app has a new test version available for Windows.\n - adds 'isolated window application' audio sharing, when screen sharing via vdo.ninja/alpha/\n - application audio capture requires Windows OS, Node-mode (elevated privs) enabled, and have administrator mode on.\n - I also increased the maximum and minimum allowed video encoder quality (lossless max if bitrate set very high? >20mbps?)\n - h265 video encoder support enabled; eg `&codec=h265` on playback\n - more command line parameters (see audio application branch's readme for details)\n - chromium engine updated to more secure stable version that still supports transparencies\n - experimental nvenc support enabled; will auto enable if available on Windows.\nhttps://github.com/steveseguin/electroncapture/releases",
"timestamp": 1761648296.20203,
"name": "steveseguin",
"msgid": "1432681533424009226",
"avatar": "https://cdn.discordapp.com/avatars/227248835251011585/65c32b7b05ec3a9bdf7371aa5df35dbf.png?size=1024",
"attachments": []
},
{
"content": "- the VDO.Ninja SDK has some new demos,\n - [recording WAV audio to a server via node.js](https://github.com/steveseguin/ninjasdk/blob/main/demos/node-room-audio-recorder.js) (headless, with no browser/python, no CPU processing),\n - [recording audio and video to a server via node.js](https://github.com/steveseguin/ninjasdk/blob/main/demos/node-room-media-recorder.js)(headless, no browser, but uses ffmpeg)\n - [play audio from a server to VDO.Ninja](https://github.com/steveseguin/ninjasdk/blob/main/demos/node-audio-sine.js)\n\nTo me it's a bit neat, as its yet another way to record audio and video with VDO.Ninja, without complex servers. You can have your own live-to-cloud podcast system setup with VDO.Ninja in minutes at this point.\n\nSpeaking of Podcasts, I threw together a podcast studio, built on VDO.Ninja, for fun. You can check it out here. Feedback welcomed:\nhttps://vdo.ninja/alpha/?podcast",
"timestamp": 1761720767.903813,
"name": "steveseguin",
"msgid": "1432985500402188298",
"avatar": "https://cdn.discordapp.com/avatars/227248835251011585/65c32b7b05ec3a9bdf7371aa5df35dbf.png?size=1024",
"attachments": [
{
"mime": "image/webp",
"url": "https://cdn.discordapp.com/attachments/701232125831151697/1432985500611907614/image.png?ex=693f077e&is=693db5fe&hm=8a0f92389bc624cf4a07ea82b96a1abf68b5df485c5cdcc4bd6b9200f013558e&",
"desc": null
}
]
},
{
"content": "- you can adjust the padding between messages easier now; the default is 3px. \n- bots can read out tts now; before they were filtered out",
"timestamp": 1762019998.700759,
"name": "steveseguin",
"msgid": "1311757801672020039",
"avatar": "https://cdn.discordapp.com/avatars/227248835251011585/65c32b7b05ec3a9bdf7371aa5df35dbf.png?size=1024",
"attachments": [
{
"mime": "image/png",
"url": "https://cdn.discordapp.com/attachments/701232125831151697/1311757801584070726/image.png?ex=6906f767&is=6905a5e7&hm=716e6b9e6e3553250d3d1f269d3b56130492eefe52aed462b3e3302b3c2f1648&",
"desc": null
},
{
"mime": "image/png",
"url": "https://cdn.discordapp.com/attachments/701232125831151697/1311757801856438302/image.png?ex=6906f767&is=6905a5e7&hm=f9a344e96abdd4e33e230aa9e703205b560d7639e393a9e98e4a221e0c861dba&",
"desc": null
}
]
},
{
"content": "- added quite a few new options to the TTS (dock page), specifically for Elevenlabs, but a few other options added",
"timestamp": 1762019999.295862,
"name": "steveseguin",
"msgid": "1316174963836846201",
"avatar": "https://cdn.discordapp.com/avatars/227248835251011585/65c32b7b05ec3a9bdf7371aa5df35dbf.png?size=1024",
"attachments": [
{
"mime": "image/png",
"url": "https://cdn.discordapp.com/attachments/701232125831151697/1316174963639586836/image.png?ex=69073734&is=6905e5b4&hm=cce65e45eb01f68e6cc7b26f3324ad5cc10877c1e63024d9f3939819a0dbaf7b&",
"desc": null
}
]
},
{
"content": "- speechify.ai has been added to Social Stream Ninja, so this is yet another TTS premium service you can use:\n - via https://www.speechify.ai/, with enough free tokens available to play with\n- I also made it easier to customize each of the existing premium (third party) TTS options.",
"timestamp": 1762020000.182796,
"name": "steveseguin",
"msgid": "1286123794452451338",
"avatar": "https://cdn.discordapp.com/avatars/227248835251011585/65c32b7b05ec3a9bdf7371aa5df35dbf.png?size=1024",
"attachments": [
{
"mime": "image/png",
"url": "https://cdn.discordapp.com/attachments/701232125831151697/1286123794510909490/image.png?ex=6907505f&is=6905fedf&hm=e6118c350d63837545b40a927d8dd04d5f050e66a7baf9a1fce36d2e665ef5fe&",
"desc": null
}
]
},
{
"content": "- I re-wrote the Social Stream Ninja API documentation; plus documented some hidden features like the ability to toggle the TTS on and off remotely.\nhttps://socialstream.ninja/api\n- I also re-wrote the sample API, streamlined and prettier. Also lets you create more complex custom messages for testing.\nhttps://socialstream.ninja/sampleapi",
"timestamp": 1762020001.222698,
"name": "steveseguin",
"msgid": "1283906041414815876",
"avatar": "https://cdn.discordapp.com/avatars/227248835251011585/65c32b7b05ec3a9bdf7371aa5df35dbf.png?size=1024",
"attachments": [
{
"mime": "image/png",
"url": "https://cdn.discordapp.com/attachments/701232125831151697/1283906041733713920/image.png?ex=690727ee&is=6905d66e&hm=d295020895d6fa93dc7a28cbbcb31c7a079185c378eb156c8b10481f4a109cf9&",
"desc": null
},
{
"mime": "image/png",
"url": "https://cdn.discordapp.com/attachments/701232125831151697/1283906042102808577/image.png?ex=690727ee&is=6905d66e&hm=fb1f75320dacc64ddaaf875ce5bb5cf7bbfc93f95f9c3c4ec6a9277e4a549372&",
"desc": null
},
{
"mime": "image/png",
"url": "https://cdn.discordapp.com/attachments/701232125831151697/1283906042429833326/image.png?ex=690727ee&is=6905d66e&hm=4461e5bcf843fa0cc55304f2fe5c7dacf74883e33dd4596c04053266411971e2&",
"desc": null
},
{
"mime": "image/png",
"url": "https://cdn.discordapp.com/attachments/701232125831151697/1283906042690015384/image.png?ex=690727ee&is=6905d66e&hm=7d0c521c88fd6217dd54e6849405856df6c544ef095d6a580c586075dae1c93e&",
"desc": null
}
]
},
{
"content": "- added more TTS options to control who it triggers on\n- added a better way to add/remove users to different user types\n- added more user types; \"vip\" being the main new user type\n - you can VIP a user via the context menu in the dock\n - you can give have VIP users get a special badge only viewable in SSN\n - you can have VIP users get TTS only, etc.\n- if using the beta extension, you'll get the beta overlay links provided now \n - you'll get a notification that you're using a beta version. \nhttps://beta.socialstream.ninja/",
"timestamp": 1762020004.082649,
"name": "steveseguin",
"msgid": "1321383895433875496",
"avatar": "https://cdn.discordapp.com/avatars/227248835251011585/65c32b7b05ec3a9bdf7371aa5df35dbf.png?size=1024",
"attachments": [
{
"mime": "image/png",
"url": "https://cdn.discordapp.com/attachments/701232125831151697/1321383895496658978/image.png?ex=69070ca6&is=6905bb26&hm=820ca2253c6a665d684bf3b670af230bd61b7aacd1ff59d633dbfe31cb9571fb&",
"desc": null
},
{
"mime": "image/png",
"url": "https://cdn.discordapp.com/attachments/701232125831151697/1321383895824076810/image.png?ex=69070ca6&is=6905bb26&hm=eb90b134df697613186c1f152a158add5f9172d35d1e2e814612d397cf59a02a&",
"desc": null
},
{
"mime": "image/png",
"url": "https://cdn.discordapp.com/attachments/701232125831151697/1321383896033661000/image.png?ex=69070ca6&is=6905bb26&hm=b94080956722c2a0f7a7d0860373beb9e01d093ac5407a97b19a8c9ff20a099d&",
"desc": null
},
{
"mime": "image/png",
"url": "https://cdn.discordapp.com/attachments/701232125831151697/1321383896247439431/image.png?ex=69070ca6&is=6905bb26&hm=5c02b7a8d81c94a802bd752cee6b281ef70f7fa7d59ae4b55da226571d97a708&",
"desc": null
},
{
"mime": "image/png",
"url": "https://cdn.discordapp.com/attachments/701232125831151697/1321383896545497118/image.png?ex=69070ca7&is=6905bb27&hm=20293a54ad32db43627e05de1f89c15e37a0aa7e4970b59bf4978e6bb826f6fd&",
"desc": null
}
]
},
{
"content": "Before there was Social Stream Ninja, I had this basic featured-chat extension on the Web store. It was previously using the depreciated v2 chrome extension standard and Google had disabled it as a result. I've updated it to version 3 now though, so it's available to use again if you were still preferring it's simplicity.\nhttps://chromewebstore.google.com/detail/chat-overlay-for-youtube/bahhfoidnfogingiolidoidmlkogjlhp",
"timestamp": 1762462381.20103,
"name": "steveseguin",
"msgid": "1436096051072467114",
"avatar": "https://cdn.discordapp.com/avatars/227248835251011585/65c32b7b05ec3a9bdf7371aa5df35dbf.png?size=1024",
"attachments": [
{
"mime": "image/png",
"url": "https://cdn.discordapp.com/attachments/701232125831151697/1436096051231588425/image.png?ex=693f23ab&is=693dd22b&hm=6befd9bf349713c72ef8a1ede6972ef156945433460d2eeb12edcc9d60c2559c&",
"desc": null
}
]
},
{
"content": "I pushed the alpha version of VDO.Ninja into production just now, so https://vdo.ninja is now running the newest version of VDO.Ninja (v28.5)\n\nSome changes in this minor-release version:\n- Screen-share delivery can be hard-disabled with ?noscreenshare \n- Speaker mute control now exposes a vertical volume slider/value popover on both index and room surfaces\n- Director slots pick from a deterministic colour palette; more slots as well (&maxslots=20)\n- Chunked mode gained URL-gated presets plus parity FEC, resend caches, buffer floor/ceil clamps, and frame-drop telemetry for lossy networks\n- Podcast Studio now has its own launcher and shell with SpectrogramRenderer, level bus subscriptions, and roster/timeline scaffolding that bridges the legacy session. [Podcast Studio is still a WIP}\n - Studio disk capture workflow enforces File System Access permissions, exposes toggle/folder status, and is backed by a published ISO-recording roadmap. \n - Cloud sync + Dropbox for Podcast Studio\n- Queue/approval UX gained a louder knock tone, pulsing queue badge/button states, and snapshot sync so co-directors inherit pending knocks immediately. \n- Wake-lock handling now arms on first pointer/key press, tracks release events, and falls back to a micro keep-alive video on mobile so sessions stay awake.\n- Publishers can set `&prefervideocodec=` to bias SDP codec order for every new peer while leaving viewer overrides intact\n- `&pip` and `&pipme` fixes for recent Chrome updates",
"timestamp": 1763273102.735955,
"name": "steveseguin",
"msgid": "1439496465830514728",
"avatar": "https://cdn.discordapp.com/avatars/227248835251011585/65c32b7b05ec3a9bdf7371aa5df35dbf.png?size=1024",
"attachments": []
},
{
"content": "- Streamlabs' events support added to Social Stream Ninja\n - get the required alert-box URL here: https://streamlabs.com/dashboard#/alertbox/twitch/follows\n - the alert-box URL will looks like this; just keep it open like a normal chat pop up: https://streamlabs.com/alert-box/v3/XXXXXXXXXXXXXXXXXXXXXXXX",
"timestamp": 1763288048.733007,
"name": "steveseguin",
"msgid": "1439559150534398104",
"avatar": "https://cdn.discordapp.com/avatars/227248835251011585/65c32b7b05ec3a9bdf7371aa5df35dbf.png?size=1024",
"attachments": [
{
"mime": "image/png",
"url": "https://cdn.discordapp.com/attachments/701232125831151697/1439559150764818432/image.png?ex=693f36af&is=693de52f&hm=9c94f459389065a62ce74a18a40db3996fe8f133883a0f9e692e5d9aef346fba&",
"desc": null
}
]
},
{
"content": "- noting: cloudflare is having some issues this morning.\n - https://steveseguin.github.io/vdo.ninja/ and https://backup.vdo.ninja/ are available to try if Cloudflare is down in your area.",
"timestamp": 1763465966.833479,
"name": "steveseguin",
"msgid": "1440305396538409051",
"avatar": "https://cdn.discordapp.com/avatars/227248835251011585/65c32b7b05ec3a9bdf7371aa5df35dbf.png?size=1024",
"attachments": []
},
{
"content": "",
"timestamp": 1763467397.864727,
"name": "steveseguin",
"msgid": "1440311398469996544",
"avatar": "https://cdn.discordapp.com/avatars/227248835251011585/65c32b7b05ec3a9bdf7371aa5df35dbf.png?size=1024",
"attachments": [
{
"mime": "image/png",
"url": "https://cdn.discordapp.com/attachments/701232125831151697/1440311398084116570/image.png?ex=691db204&is=691c6084&hm=ddd483398e61fdee23cb46ac93909a34731389fe5de7a8d67aa176c818b32e2c&",
"desc": null
}
]
},
{
"content": "https://www.cloudflarestatus.com/\nseems to be back up on all sites now, but we'll see.",
"timestamp": 1763476760.733535,
"name": "steveseguin",
"msgid": "1440350669352730625",
"avatar": "https://cdn.discordapp.com/avatars/227248835251011585/65c32b7b05ec3a9bdf7371aa5df35dbf.png?size=1024",
"attachments": []
},
{
"content": "- Added a Spotify widget overlay within Social Stream Ninja\n - Spotify section moved to the bottom of the menu, into its own section now.\n - this expands on the existing spotify features, with customization options avialable\n** on the beta version of SSN for testing",
"timestamp": 1763633270.694734,
"name": "steveseguin",
"msgid": "1441007118583857205",
"avatar": "https://cdn.discordapp.com/avatars/227248835251011585/65c32b7b05ec3a9bdf7371aa5df35dbf.png?size=1024",
"attachments": [
{
"mime": "image/png",
"url": "https://cdn.discordapp.com/attachments/701232125831151697/1441007117887868949/image.png?ex=692039f5&is=691ee875&hm=fbbcb28f08d13b08e446fa057383bceb0c0b3a6f56ea60256b9895efe9cfd5dc&",
"desc": null
},
{
"mime": "image/png",
"url": "https://cdn.discordapp.com/attachments/701232125831151697/1441007118302974013/image.png?ex=692039f5&is=691ee875&hm=514da7b8ba1e4647876cca5f1890f8c9e03e5862833d3c584a161d53ba8890b3&",
"desc": null
}
]
},
{
"content": "New TTS option added - Google Gemini TTS \n(available via social stream ninja beta for testing)",
"timestamp": 1763982513.644496,
"name": "steveseguin",
"msgid": "1442471949321371760",
"avatar": "https://cdn.discordapp.com/avatars/227248835251011585/65c32b7b05ec3a9bdf7371aa5df35dbf.png?size=1024",
"attachments": [
{
"mime": "image/png",
"url": "https://cdn.discordapp.com/attachments/701232125831151697/1442471949098815488/image.png?ex=693f4370&is=693df1f0&hm=7034e66eff306b592eacd143b7e9518dba637340a380d48addc757b0666271f2&",
"desc": null
}
]
},
{
"content": "- An experimental overlay option added, which lets users enter their country of origin into and it will make them on a map. Welcoming feedback/ideas.\n - it's designed to be full-window, partially transparent, etc. \n - One-location per user; refresh the page to reset the results.\n - On beta at: https://socialstream.ninja/beta/map.html?session=XXXXXXXXX --- (update: there's a toggle in the menu on beta to enable the map)",
"timestamp": 1763982719.658941,
"name": "steveseguin",
"msgid": "1442472814048313385",
"avatar": "https://cdn.discordapp.com/avatars/227248835251011585/65c32b7b05ec3a9bdf7371aa5df35dbf.png?size=1024",
"attachments": [
{
"mime": "image/png",
"url": "https://cdn.discordapp.com/attachments/701232125831151697/1442472814274678886/image.png?ex=6926e07e&is=69258efe&hm=75ef99aa2436a10019c231604a205697bbc05d1ce9fd4404fb257a25c48703b6&",
"desc": null
}
]
},
{
"content": "- Made a page that lets you convert old dock.html URLs into importable settings files\n - helps you recover lost settings or switch between different settings based on the dock.html link, which you probably still have in OBS somewhere\n - it won't recover every setting, especially global settings, but it should get you most the way, and perhaps to a functional state.\n\nhttp://socialstream.ninja/beta/recover.html",
"timestamp": 1764006838.122461,
"name": "steveseguin",
"msgid": "1442573974365016157",
"avatar": "https://cdn.discordapp.com/avatars/227248835251011585/65c32b7b05ec3a9bdf7371aa5df35dbf.png?size=1024",
"attachments": [
{
"mime": "image/png",
"url": "https://cdn.discordapp.com/attachments/701232125831151697/1442573974524661911/image.png?ex=6925ed35&is=69249bb5&hm=aa4f81b260396eab745f7ab9440fa4674882b65f9321281acecaff0103801a94&",
"desc": null
}
]
},
{
"content": "- there's more font-styling options for the dock.html (main overlay), including a glow-effect and a typewriter effect. \n** on beta",
"timestamp": 1764247857.933792,
"name": "steveseguin",
"msgid": "1443584884311461978",
"avatar": "https://cdn.discordapp.com/avatars/227248835251011585/65c32b7b05ec3a9bdf7371aa5df35dbf.png?size=1024",
"attachments": [
{
"mime": "image/png",
"url": "https://cdn.discordapp.com/attachments/701232125831151697/1443584883812208650/image.png?ex=69299ab0&is=69284930&hm=1a466f1542dd11a9034907c224644ff89fa877374610331293035b1922e06a3d&",
"desc": null
}
]
},
{
"content": "- An OBS-dockable page for directors, allowing them to send director-messages to guests in the room. \n - also includes as basic bit of info about who is in the room, their state, etc.\nto use: https://vdo.ninja/director-messenger?api=YOURAPIKEY + https://vdo.ninja/?director=ROOM&api=YOURAPIKEY",
"timestamp": 1764259209.838725,
"name": "steveseguin",
"msgid": "1443632497534566566",
"avatar": "https://cdn.discordapp.com/avatars/227248835251011585/65c32b7b05ec3a9bdf7371aa5df35dbf.png?size=1024",
"attachments": [
{
"mime": "image/png",
"url": "https://cdn.discordapp.com/attachments/701232125831151697/1443632497618587749/image.png?ex=6929c708&is=69287588&hm=f7b030d3744e06deb8bcb33549eafe7aa4c435522feb482d0a337e0f92242913&",
"desc": null
}
]
},
{
"content": "note: I've recently changed SSL certificates for VDO.Ninja after like 5 years; the old ones are expired.\n- The replacement is using LetsEncrypt; seems like the best option.\n- If there are sudden problems connecting, where you get an error about the server being slow to respond, see if https://wss.vdo.ninja, and if there are security warnings, you might be facing a conflict. Let me know what the error is in that case, and I'll sort you out. There shouldn't be issues, but you never know.",
"timestamp": 1764806472.520565,
"name": "steveseguin",
"msgid": "1445927883796385903",
"avatar": "https://cdn.discordapp.com/avatars/227248835251011585/65c32b7b05ec3a9bdf7371aa5df35dbf.png?size=1024",
"attachments": []
},
{
"content": "VDO.Ninja is up-to-date on Github now; fully in sync across Alpha, Production, and [Github](https://github.com/steveseguin/vdo.ninja). If you want to fork and modify the recently added podcast studio, that's now possible.\n\nThis update made on production is mainly addressing some codirector limitation/bugs, but let me know if you encounter any still. I'll be working on developing new core features once I'm sure things are stable. There is no shortage of things to add to and improve on, so I'll keep at it. Thank you for the feedback, support, and requests.\n\nThe documentation has also been updated to reflect new parameter options. Some recent features added to VDO.Ninja:\n\n- Podcast Studio - New dedicated podcast recording interface\n - Multitrack Recording - Record individual audio tracks separately\n - Dropbox Integration - Cloud storage uploads for recordings\n - Audio Metering - Real-time audio level visualization\n- WebXR/AR Examples- Augmented reality streaming support (experimental)\n- Director Messenger - New director communication tool (director-messenger.html)\n\n New URL parameters added:\n\n- &altlabel= - Custom display name prompt text\n- &cftoken= / &cft= - Cloudflare WHIP output token\n- &whippushtoken= / &whipouttoken= - WHIP push authentication\n- &alignright= / &rightalign= - Right-align video layout\n- &dropbox= - Dropbox integration token\n- &slotmode= / &slotsmode= - Slot layout mode\n- &maxslots= - Maximum available slots\n- &webxrbridge= / &externalsensors= - WebXR/AR sensor bridging\n- &prefervideocodec= - Preferred video codec selection\n- &ipv6= / &preferipv4= / &ipv4= - IP version preference\n- &holdwithvideo= / &queue4= - Hold queue with video enabled (codirectors)",
"timestamp": 1764950636.136877,
"name": "steveseguin",
"msgid": "1446532550674743447",
"avatar": "https://cdn.discordapp.com/avatars/227248835251011585/65c32b7b05ec3a9bdf7371aa5df35dbf.png?size=1024",
"attachments": []
},
{
"content": "- I've updated the Podcast studio on alpha\n - see: https://vdo.ninja/alpha/?podcast\n - video preview thumbnails added\n - an option to record the entire group scene to disk is added (along with a way to go live to Twitch directly)\n - improved the layout and loading styles",
"timestamp": 1765155175.750138,
"name": "steveseguin",
"msgid": "1447390448925806592",
"avatar": "https://cdn.discordapp.com/avatars/227248835251011585/65c32b7b05ec3a9bdf7371aa5df35dbf.png?size=1024",
"attachments": [
{
"mime": "image/png",
"url": "https://cdn.discordapp.com/attachments/701232125831151697/1447390449282191600/image.png?ex=693772e6&is=69362166&hm=a5ae012988e79474bc4031cc359289296ee1d0943f0069cbafaabe3c30ab5e35&",
"desc": null
}
]
},
{
"content": "- For VDO.Ninja in general, on alpha, I've increased the default screen share resolution in group rooms to 1080p\n - that's up from 720p; I've had user feedback around this, so thank you.\n - &v and &V now do the smae thing.\n\n- I've also added quality-of-service stats-collection to help me identify bad turn / meshcast servers, providing packet loss details and stream stats back to the server\n - the hope is, if I can identify a turn server is bad, for example, I can remove it from the pool or servers, or remove them from region pools.\n - data: packet loss, turn/meschast use vs p2p, rtt, country, errors, browser type.\n - this just runs on vdo.ninja/alpha right now, and after finding one bad meshcast/turn server already, I'm hoping to have this be a way to detect them sooner, handling them better.",
"timestamp": 1765155364.513283,
"name": "steveseguin",
"msgid": "1447391245528731841",
"avatar": "https://cdn.discordapp.com/avatars/227248835251011585/65c32b7b05ec3a9bdf7371aa5df35dbf.png?size=1024",
"attachments": []
},
{
"content": "Note for SSN extension users: Tiktok broke yesterday, so I pushed an update for it this morning. If you're still having problems with TikTok, and using the Chrome extension version, please update to the newest version. https://socialstream.ninja/docs/download.html#manual-install",
"timestamp": 1765315177.015866,
"name": "steveseguin",
"msgid": "1448061545203634330",
"avatar": "https://cdn.discordapp.com/avatars/227248835251011585/65c32b7b05ec3a9bdf7371aa5df35dbf.png?size=1024",
"attachments": []
},
{
"content": "By request, I've created a method to submit your own freelance services for VDO.Ninja and SocialStream.Ninja\n\n- This is a community directory; no listing is an endorsement\n- A listing may be removed at any time, for any reason\n- I am NOT responsible for agreements made with clients\n- Submissions require manual approval by me before appearing\n- You can submit your freelance services at: https://socialstream.ninja/docs/services.html and https://vdo.ninja/hire\n\nYou can also view approved applications at the following locations at the following locations:\n#\ud83e\uddd1\u200d\ud83d\udcbc\u2502hire \nhttps://socialstream.ninja/docs/services.html\nhttps://vdo.ninja/hire\n\nTHIS IS ALL BRAND NEW; I welcome feedback, bug reports, suggestions.",
"timestamp": 1765468095.248628,
"name": "steveseguin",
"msgid": "1448702929627517083",
"avatar": "https://cdn.discordapp.com/avatars/227248835251011585/65c32b7b05ec3a9bdf7371aa5df35dbf.png?size=1024",
"attachments": [
{
"mime": "image/png",
"url": "https://cdn.discordapp.com/attachments/701232125831151697/1448702930013126799/image.png?ex=693f84fe&is=693e337e&hm=213abbf522fe8d478d0e6dda135a1668d82630be28eaf44dcb0a60aad3449d5a&",
"desc": null
},
{
"mime": "image/png",
"url": "https://cdn.discordapp.com/attachments/701232125831151697/1448702930675830989/image.png?ex=693f84fe&is=693e337e&hm=f856686913134f8ea0fb8676bd4178d2ad2785c491a2a316fbe29f57e6457454&",
"desc": null
}
]
},
{
"content": "A feature that has been requested a couple times by some advanced users has been a while to provide CUSTOM AUDIO MIXES back to each guest, and it's finally added.\n\nPreviously I just had a PGM/Mic option, two switch between two different audio sources, but now you can select other guests' audio, the director's own mixed input audio, or even the director's individual (active) audio devices.\n\nSo, lets say you wanted every guest to join you, as a director, with &directoronly on their invite link. The guests wouldn't normally be able to see or each anyone, HOWEVER, now they can -- you select the OBS virtual camera as a video source, and do a mix-minus on the audio for each guest, and then everyone will hear and see each other, without having to actually connect to each other. The director needs a bit of a hefty computer for larger rooms, but for smaller rooms, this is a pretty unique production experience.\n\nObviously this is an advanced feature -- users who do it wrong will cause echo and feedback for their guests, but selective mixing is pretty cool. You can perhaps have 3 microphones, as a director, and each guest can get a different audio track from you. If you have 4 virutal audio cables, the director can send each guest their own unique external audio mix.\n\nFurther, if you want to have the full-mix-minus setup by default, add **`&mixminus`** to your URL as a director, and every new guest will hear the mix minus audio from the director. You will want to use this with &directoronly mode (applied to the guests) to avoid echo, or something similar.\n\nSide note, guests can't have their own audio included back into their own mix. This is just a feedback loop, and I just don't allow for it as a result.\n\nThis feature is on alpha for testing: https://vdo.ninja/alpha/",
"timestamp": 1765471790.6789,
"name": "steveseguin",
"msgid": "1448718428943941703",
"avatar": "https://cdn.discordapp.com/avatars/227248835251011585/65c32b7b05ec3a9bdf7371aa5df35dbf.png?size=1024",
"attachments": [
{
"mime": "image/webp",
"url": "https://cdn.discordapp.com/attachments/701232125831151697/1448718429472166070/image.png?ex=693cf06d&is=693b9eed&hm=dc466ebc746101191041744ad8cb54714786921ce1c99e2e38d2e1986201ec9e&",
"desc": null
}
]
},
{
"content": "ANOTHER NEW THING ... I've created a tipping service, **NinjaBacker.com**, which is now an option in VDO.Ninja, so you can take tips from your viewers or other room guests. \n\nSo, performer can now receive tips directly from your viewers (and other room guests) during streams. This works with both private *intimate* p2p streams, via an integrated tipping button, or with larger streams to YouTube/Twitch, as I include a QR code video overlay option.\n\nYou can also use it on its own and with some other things I have coming out soon; you have your own donation page, such as https://ninjabacker.com/steveseguin\n\n**How to Use**\n\n1. Add &tip=YOUR_TIP_ID to your VDO.Ninja push link to enable tipping:\n https://vdo.ninja/alpha/?push=mystream&tip=YOUR_TIP_ID\n\n2. Viewers need &showtips to see the tip button and/or QR code\n https://vdo.ninja/alpha/?view=mystream&showtips\n\n** Want to Try It Out?**\n\n You can test tipping using my account without signing up:\n `&tip=steveseguin` (just add this to your vdon push link)\n\nSince my account is in test mode, you can use Stripe's test card to donate fake amounts to me:\n- Card: `4242 4242 4242 4242`\n- Expiry: Any future date\n- CVC: Any 3 digits\n\n*(note: you can't donate real amounts to me).*\n\n**Setting Up Your Own *Real* Account**\n\n1. Visit https://ninjabacker.com/register\n2. Create a username and connect your Stripe account\n3. Use your Tip ID from the dashboard with &tip=YOUR_TIP_ID",
"timestamp": 1765479483.423456,
"name": "steveseguin",
"msgid": "1448750682806157362",
"avatar": "https://cdn.discordapp.com/avatars/227248835251011585/65c32b7b05ec3a9bdf7371aa5df35dbf.png?size=1024",
"attachments": [
{
"mime": "image/png",
"url": "https://cdn.discordapp.com/attachments/701232125831151697/1448750683041042522/image.png?ex=693d0e77&is=693bbcf7&hm=e93d082664e10936c47633bca90d3deabab9f15f97bc315d61d39c30e2c82a40&",
"desc": null
},
{
"mime": "image/webp",
"url": "https://cdn.discordapp.com/attachments/701232125831151697/1448750683481313312/image.png?ex=693d0e77&is=693bbcf7&hm=6b822f70430223fee17d45fd1b1a02a20bd3f489a966a6a504b24c30152d0cf4&",
"desc": null
},
{
"mime": "image/png",
"url": "https://cdn.discordapp.com/attachments/701232125831151697/1448750684252930258/image.png?ex=693d0e77&is=693bbcf7&hm=31b1e541bae425fb47fba245225ac7b8e9ad6b93e713bf8260c8c47ddb81b92c&",
"desc": null
},
{
"mime": "image/webp",
"url": "https://cdn.discordapp.com/attachments/701232125831151697/1448750691739897866/image.png?ex=693d0e79&is=693bbcf9&hm=403cd6878e61d9bab3ca59441537488de5579308302b970435feb933acf5bc19&",
"desc": null
},
{
"mime": "image/png",
"url": "https://cdn.discordapp.com/attachments/701232125831151697/1448750692440211597/image.png?ex=693d0e79&is=693bbcf9&hm=fef6c386ddf7f4e94896bbc1177771b003e57dd5921ea9d60cffc5903d2e4086&",
"desc": null
}
]
},
{
"content": "*Note*: New accounts use Stripe's live mode, meaning real payments only will work - your account is not going to be a test account. To test your own setup, use the \"Send Test Tip\" button in your dashboard - that triggers a fake tip notification without any payment.\n\n**Other URL Parameters**\n- `&tipqr=false` - Hide the QR code overlay\n- `&tipqrsize=200` - Adjust QR code size (default 150px)\n- `&tipamounts=1,5,10,25` - Custom tip button amounts\n\n**Profile Avatars**\nYour tip page avatar is pulled automatically from Gravatar using your Stripe email. Set one up at https://gravatar.com if you'd like a profile picture.\n\n**Documentation, Webhooks, and OBS Overlays**\nFull developer guide available at https://ninjabacker.com/developers, which includes webhook details, live tipping notification pages, OBS overlay pages, and other developer features.\n\nLastly, I have the minimum tipping amount set to $1 currently, but once things are out of alpha, I'll knock the minimum tip amount to ~$5. I am taking no commission (0%), so other than Stripe fees and such, it's essentially a free service. I do reserve the right to set a commission rate at some point, as Ninjabacker.com is not VDO.Ninja; it's something new.",
"timestamp": 1765479485.527085,
"name": "steveseguin",
"msgid": "1448750697242693754",
"avatar": "https://cdn.discordapp.com/avatars/227248835251011585/65c32b7b05ec3a9bdf7371aa5df35dbf.png?size=1024",
"attachments": []
},
{
"content": "*Note*: New accounts use Stripe's live mode, meaning real payments only will work - your account is not going to be a test account. To test your own setup, use the \"Send Test Tip\" button in your dashboard - that triggers a fake tip notification without any payment.\n\n**Other URL Parameters**\n- `&tipqr=false` - Hide the QR code overlay\n- `&tipqrsize=200` - Adjust QR code size (default 150px)\n- `&tipamounts=1,5,10,25` - Custom tip button amounts\n\n**Profile Avatars**\nYour tip page avatar is pulled automatically from Gravatar using your Stripe email. Set one up at https://gravatar.com if you'd like a profile picture.\n\n**Documentation, Webhooks, and OBS Overlays**\nFull developer guide available at https://ninjabacker.com/developers, which includes webhook details, live tipping notification pages, OBS overlay pages, and other developer features.\n\nLastly, I have the minimum tipping amount set to $1 currently, but once things are out of alpha, I'll knock the minimum tip amount to ~$5. I am taking no commission (0%), so other than Stripe fees and such, it's essentially a free service. I do reserve the right to set a commission rate at some point, as Ninjabacker.com is not VDO.Ninja; it's something new.\n\n** everything is on alpha (vdo.ninja/alpha) for testing. I also have a proper guide for this all here: https://ninjabacker.com/guide",
"timestamp": 1765479490.248498,
"name": "steveseguin",
"msgid": "1448750727273910314",
"avatar": "https://cdn.discordapp.com/avatars/227248835251011585/65c32b7b05ec3a9bdf7371aa5df35dbf.png?size=1024",
"attachments": []
},
{
"content": "",
"timestamp": 1765479526.817182,
"name": "steveseguin",
"msgid": "1448750880320131305",
"avatar": "https://cdn.discordapp.com/avatars/227248835251011585/65c32b7b05ec3a9bdf7371aa5df35dbf.png?size=1024",
"attachments": [
{
"mime": "image/png",
"url": "https://cdn.discordapp.com/attachments/701232125831151697/1448750880034652311/image.png?ex=693c65e6&is=693b1466&hm=b57fd929663150894c1974fcc9838d98db932f09d7539edd2d22ed49ad808fab&",
"desc": null
}
]
},
{
"content": "",
"timestamp": 1765479624.705456,
"name": "steveseguin",
"msgid": "1448751289826808039",
"avatar": "https://cdn.discordapp.com/avatars/227248835251011585/65c32b7b05ec3a9bdf7371aa5df35dbf.png?size=1024",
"attachments": [
{
"mime": "image/webp",
"url": "https://cdn.discordapp.com/attachments/701232125831151697/1448751289541591132/image.png?ex=693c6647&is=693b14c7&hm=31c413e46fcc9b4f421434f4ec0c700c56c01bb92d20def69231d54c1d70fd85&",
"desc": null
}
]
},
{
"content": "",
"timestamp": 1765479665.978133,
"name": "steveseguin",
"msgid": "1448751462346657852",
"avatar": "https://cdn.discordapp.com/avatars/227248835251011585/65c32b7b05ec3a9bdf7371aa5df35dbf.png?size=1024",
"attachments": [
{
"mime": "image/png",
"url": "https://cdn.discordapp.com/attachments/701232125831151697/1448751461692608512/image.png?ex=693c6670&is=693b14f0&hm=c224cabc66a5ce42b24ffe189aec5fdd66b6cf94ce621eb9512106b58f3d466b&",
"desc": null
},
{
"mime": "image/webp",
"url": "https://cdn.discordapp.com/attachments/701232125831151697/1448751462040469636/image.png?ex=693c6671&is=693b14f1&hm=481621fe3fddfb8c9e275ee529cda34614d2ed9c69ff7d216afa74b9a5586ace&",
"desc": null
}
]
},
{
"content": "- added a `&custombeep` to socialstream, which allows you specify a custom beep sound for incoming messages\n - eg: socialstrea.ninja/dock.html?session=xxxxxxxxxxxxxxxxxxx**&custombeep=**https%3A%2F%2Fwww.soundjay.com%2Fbuttons%2Fbeep-01a.wav\n - if you update the extension, you'll have a field to enter a URL for the sound file\n - i opted to require a URL, rather than locally uploading and trying to deal with audio files that way, as it's just far easier. There's plenty of audio files hosted online, and easy ways to self host audio files. I may put together a collection if desired of free ones.",
"timestamp": 1765517673.975492,
"name": "steveseguin",
"msgid": "1213891116248727572",
"avatar": "https://cdn.discordapp.com/avatars/227248835251011585/65c32b7b05ec3a9bdf7371aa5df35dbf.png?size=1024",
"attachments": [
{
"mime": "image/png",
"url": "https://cdn.discordapp.com/attachments/701232125831151697/1213891115980296232/image.png?ex=693cf073&is=693b9ef3&hm=ffb665c10de07227f21149e7b39f61f15bafe76cdce32d31d5265c1b4d78930b&",
"desc": null
}
]
},
{
"content": "- you can position the media overlay pop ups in the Event Flow editor now, including size, position, and if you want, randomly position.",
"timestamp": 1765690528.111228,
"name": "steveseguin",
"msgid": "1410277250481258616",
"avatar": "https://cdn.discordapp.com/avatars/227248835251011585/65c32b7b05ec3a9bdf7371aa5df35dbf.png?size=1024",
"attachments": [
{
"mime": "image/png",
"url": "https://cdn.discordapp.com/attachments/701232125831151697/1410277250267615282/image.png?ex=693f794a&is=693e27ca&hm=ae8021a052af16c14026d2d83d06f5673bfbab9610288f263a6930d05f9b5d7a&",
"desc": null
}
]
},
{
"content": "- The **Event Flow Editor** for social stream ninja has been updated to fix some message-relay functionality, but I also added in several new trigger and action types\n - obs remote control; start/stop/record/change-scenes/replay\n - random conditions, user pools, counters, message delay - make your own give-a-way / draw system\n- also added the option to export/import your flows, so you can share what you make with others\n** available for testing via beta version",
"timestamp": 1765690538.183367,
"name": "steveseguin",
"msgid": "1406654440668397651",
"avatar": "https://cdn.discordapp.com/avatars/227248835251011585/65c32b7b05ec3a9bdf7371aa5df35dbf.png?size=1024",
"attachments": [
{
"mime": "image/png",
"url": "https://cdn.discordapp.com/attachments/701232125831151697/1406654440781516800/image.png?ex=693f7a49&is=693e28c9&hm=6f9a15d14b33daf781a3253f1db5dc20de04c9e08d19e4441a422d5fb2f12aaa&",
"desc": null
}
]
},
{
"content": "- I turned that **Discord video -> VDO.Ninja** feature I added to Social Stream Ninja last month into a **standalone extension**\n - it seems to work with some sites like, like Discord/Youtube, but others, like primevideo, do not support it (probably due to DRM).\n - You can grab it here, https://extension.vdo.ninja/, along with other info/sources\n\n** NOW ON THE STORE - https://chromewebstore.google.com/detail/vdoninja-video-capture/hppndmepdhaplfamkeblnhpjmiigcdij",
"timestamp": 1765690543.251845,
"name": "steveseguin",
"msgid": "1405540388948934719",
"avatar": "https://cdn.discordapp.com/avatars/227248835251011585/65c32b7b05ec3a9bdf7371aa5df35dbf.png?size=1024",
"attachments": [
{
"mime": "image/png",
"url": "https://cdn.discordapp.com/attachments/701232125831151697/1405540389619765321/image.png?ex=693f613e&is=693e0fbe&hm=041caefc7dcade443bec3bf62db7d284f7cb67f805b917dff4975e22caf609ac&",
"desc": null
},
{
"mime": "image/png",
"url": "https://cdn.discordapp.com/attachments/701232125831151697/1405540390018486363/image.png?ex=693f613e&is=693e0fbe&hm=e1605bdadabaefc5689f23d66c49ae6f065b2992a9973740958776362c0a020c&",
"desc": null
}
]
},
{
"content": "- the updated iOS app has been approved, but I still would value at least a couple folk testing it via Testflight first before I push it into production - https://testflight.apple.com/join/KnzvY7JO\n\n- android play store version also has been approved - it's undergoing a slow roll out",
"timestamp": 1765690550.315709,
"name": "steveseguin",
"msgid": "1399671885863583876",
"avatar": "https://cdn.discordapp.com/avatars/227248835251011585/65c32b7b05ec3a9bdf7371aa5df35dbf.png?size=1024",
"attachments": [
{
"mime": "image/png",
"url": "https://cdn.discordapp.com/attachments/701232125831151697/1399671885922435113/image.png?ex=693f1fc6&is=693dce46&hm=0b0b2ff5b754d0287697e398fd54950fd077e3442929dbb4e1a6d353fe333997&",
"desc": null
}
]
},
{
"content": "",
"timestamp": 1765766075.477021,
"name": "steveseguin",
"msgid": "827984413731717131",
"avatar": "https://cdn.discordapp.com/avatars/227248835251011585/65c32b7b05ec3a9bdf7371aa5df35dbf.png?size=1024",
"attachments": [
{
"mime": "image/png",
"url": "https://cdn.discordapp.com/attachments/701232125831151697/827984410883915836/unknown.png?ex=69405e12&is=693f0c92&hm=5bf5ac9225b7b3d205d6848f878b7965c9af187e19554b3a81a786b8a7e3367b&",
"desc": null
}
]
},
{
"content": "- progress update on the deep learning background removal; I think the performance is good-enough now, 720p60 seems smooth. Added some different options, such as colored background, bokeh blur, and custom image. I still need to integrate all this prototype code into the actual app and make a UI, but it's a milestone worth sharing I feel.",
"timestamp": 1765766080.507759,
"name": "steveseguin",
"msgid": "824014847527747604",
"avatar": "https://cdn.discordapp.com/avatars/227248835251011585/65c32b7b05ec3a9bdf7371aa5df35dbf.png?size=1024",
"attachments": [
{
"mime": "image/png",
"url": "https://cdn.discordapp.com/attachments/701232125831151697/824014842720419850/unknown.png?ex=69406d9f&is=693f1c1f&hm=6e56aaa7151f72d9d69992adc6398789b817259c0971eb262c64e0c8acf2a1d3&",
"desc": null
}
]
},
{
"content": "Making it a bit easier to judge the browser type in the stats, versus using the user-agent.",
"timestamp": 1765766081.739562,
"name": "steveseguin",
"msgid": "828413366275801088",
"avatar": "https://cdn.discordapp.com/avatars/227248835251011585/65c32b7b05ec3a9bdf7371aa5df35dbf.png?size=1024",
"attachments": [
{
"mime": "image/png",
"url": "https://cdn.discordapp.com/attachments/701232125831151697/828413362685214730/unknown.png?ex=69409c10&is=693f4a90&hm=933993c9681bdc9cb74afb1c6673159eb7da3d1c2aa264850659050ac756a593&",
"desc": null
}
]
},
{
"content": "- the mute button pulsates when it's pressed now. I hope this helps users notice that they are muted.",
"timestamp": 1765766082.756676,
"name": "steveseguin",
"msgid": "822083150623932446",
"avatar": "https://cdn.discordapp.com/avatars/227248835251011585/65c32b7b05ec3a9bdf7371aa5df35dbf.png?size=1024",
"attachments": [
{
"mime": "image/png",
"url": "https://cdn.discordapp.com/attachments/701232125831151697/822083146941726750/unknown.png?ex=6940a6d7&is=693f5557&hm=838f269cfccaf82c5d066fb654c6fe3936793963fe33b437bb1d758650b7fced&",
"desc": null
}
]
},
{
"content": "",
"timestamp": 1765766085.631951,
"name": "steveseguin",
"msgid": "824269769318465566",
"avatar": "https://cdn.discordapp.com/avatars/227248835251011585/65c32b7b05ec3a9bdf7371aa5df35dbf.png?size=1024",
"attachments": [
{
"mime": "image/png",
"url": "https://cdn.discordapp.com/attachments/701232125831151697/824269767497351188/unknown.png?ex=6940b24a&is=693f60ca&hm=534245b947faaf49be674b141194c726d0b146fcc310b3fb0255a28356272cfe&",
"desc": null
}
]
},
{
"content": "I've added `&ignorehighlight` (alias, &ih) to **VDO.NInja**\n\nWhen the director highlights guests,\n- Guests with `&ignorehighlight` added will keep seeing all participants normally\n- Guests without the parameter continue to work as before (showing only highlighted guest)\n\nThis change is on alpha at vdo.ninja/alpha/",
"timestamp": 1765927598.234067,
"name": "steveseguin",
"msgid": "1450630226290937907",
"avatar": "https://cdn.discordapp.com/avatars/227248835251011585/65c32b7b05ec3a9bdf7371aa5df35dbf.png?size=1024",
"attachments": []
},
{
"content": "Also, just some notable updates to **Social Stream Ninja** from this past week:\n\n- eBay Live support added\n- Blaze.stream support added\n- Message rotation mode for featured messages (last 5 messages take turns being featured in a loop)\n- Extended the Event Flow Editor for better social-alert options, including dedicated events options for YouTube subscribers alerts, new followers, etc.\n- Spotify control options improved and added to, including ways to change the name of certain triggers, queueing, and better error feedback.\n- I'm waiting still on Google to approve the latest extension update into the Chrome Web Store, but that submission to fix TIktok is out of my control now.\n\nSome of these updates are only on Beta currently, while some other features are already on production as stealth updates.",
"timestamp": 1765928032.617145,
"name": "steveseguin",
"msgid": "1450632049777180753",
"avatar": "https://cdn.discordapp.com/avatars/227248835251011585/65c32b7b05ec3a9bdf7371aa5df35dbf.png?size=1024",
"attachments": []
},
{
"content": "- added a 'soft' kick-and-block option to VDO.Ninja, so a director can choose to block a guest for 4-hours when hanging them up\n - it's a soft block because it works by just saving to local storage on the guest's own browser, which when present will disable things\n - the guest can bypass the block by using a different browser, incognito mode, or by clearing their local storage. \n - it only blocks for that specific room + password combo, so it won't prevent them from accessing other rooms \n - it also doesn't block a user from viewing a scene link or trying to join as the director, so it's not a very serious block, but it should be effective in most cases\n - the user who is blocked won't know they are blocked; they will simply not be able to make any peer connections with anyone in the room.\n\n** it's on alpha.",
"timestamp": 1766244069.093101,
"name": "steveseguin",
"msgid": "1451957599535628479",
"avatar": "https://cdn.discordapp.com/avatars/227248835251011585/65c32b7b05ec3a9bdf7371aa5df35dbf.png?size=1024",
"attachments": [
{
"mime": "image/webp",
"url": "https://cdn.discordapp.com/attachments/701232125831151697/1451957598797697145/image.png?ex=69481063&is=6946bee3&hm=67a42878880e0a6ae26f058d822bfd524ee66f994b2bacefe79aab154d7223f0&",
"desc": null
}
]
},
{
"content": "Some updates to VDO.Ninja,\n\n- when a user joins a room via the top-left \"Join by Room Name\" option, it will now show an invite URL at the top of the page, so they can invite other people to that room.\n - This is in response to some people I've observed trying to invite people to their room by copy/pasting the URL of the page itself, which is incorrect.\n - This change is on alpha\n- fixes to the podcast studio, including better \"marking\" within the saved audio file, so the user can see their cue points in different pro audio applications.\n - also added an option to have guests auto-record their audio locally, in case the host-side audio recording fails -- there is an additional backup option.\n- also added a new director-side \"Mesh Debug\" mode, to let a director see who in the peer to peer network is failing and who is connected to who.\n - it will identify if someone is not able to hear someone else, due to a connection issue\n - it makes it easy to see which browser problematic guests are using\n - it gives the director a bunch of options to \"reconnect/refresh\" problematic users, to try to help fix issues\n - it gives a visual overview of who is connected to who, including scene links\n - you can access it from the top header bar, as a director; only directors have access\n- added a workaround for a Chrome-audio-bug, and also a added in some fixes for Firefox audio bugs. (still a minor firefox audio bug on Safari to fix)\n- I made some improvements to the remote-control of focus and PTZ options\n - right-click context menu gives PTZ options, along with a reset auto-focus option (requires &remote to used on both links)\n- added options to the settings -> user menu for revealing the Full Screen and Picture-in-Picture buttons in the control bar\n - it's less work than using URL parameters to enable these options\n - I also made video previews go full screen to match the full window mode, when using the full screen",
"timestamp": 1767031774.318803,
"name": "steveseguin",
"msgid": "1455261476401971220",
"avatar": "https://cdn.discordapp.com/avatars/227248835251011585/65c32b7b05ec3a9bdf7371aa5df35dbf.png?size=1024",
"attachments": [
{
"mime": "image/webp",
"url": "https://cdn.discordapp.com/attachments/701232125831151697/1455261475793801337/image.png?ex=6954155d&is=6952c3dd&hm=789c7f6689052ead8ce3ed9102ae22fbafbd9f62b1fb06ced3cae7574d58e63f&",
"desc": null
},
{
"mime": "image/png",
"url": "https://cdn.discordapp.com/attachments/701232125831151697/1455261476104306750/image.png?ex=6954155d&is=6952c3dd&hm=7e2b8b08140e726306621d89e839f27c649fc52ba68c70c04f1f3d1de1636a6c&",
"desc": null
}
]
},
{
"content": "Here's some examples of what the MESH DEBUG option looks like, with side menu options (per guest)",
"timestamp": 1767031866.995738,
"name": "steveseguin",
"msgid": "1455261865260089587",
"avatar": "https://cdn.discordapp.com/avatars/227248835251011585/65c32b7b05ec3a9bdf7371aa5df35dbf.png?size=1024",
"attachments": [
{
"mime": "image/png",
"url": "https://cdn.discordapp.com/attachments/701232125831151697/1455261863150485625/image.png?ex=695415b9&is=6952c439&hm=00f98ed68d341e682eaf3e6673fce9413b20a6b637f6595f3a8a5731776f4b7f&",
"desc": null
},
{
"mime": "image/webp",
"url": "https://cdn.discordapp.com/attachments/701232125831151697/1455261865075675176/image.png?ex=695415ba&is=6952c43a&hm=f31adc57b40c11fa19674591b32c1b5a577d34e255537a821088b3b10820f684&",
"desc": null
}
]
},
{
"content": "** These changes and fixes can be found on alpha, at https://vdo.ninja/alpha/ , with a bit more testing needed before I push to production",
"timestamp": 1767032014.333221,
"name": "steveseguin",
"msgid": "1455262484498874481",
"avatar": "https://cdn.discordapp.com/avatars/227248835251011585/65c32b7b05ec3a9bdf7371aa5df35dbf.png?size=1024",
"attachments": []
},
{
"content": "Added new Auto-assign guests to audio channels feature in VDO.Ninja\n\n- Directors can now auto-assign guests to unique multitrack audio channels (C1-C8) as they join, using `&autochannels`\n - eg: `?director=ROOM&autochannels`\n\n- with &autochannels, by default, assignment skips C4 (OBS LFE channel). Guests stack 2-per-channel when all are full.\n - &autochannels=1,2,3,5 \u2014 only use specific channels\n - &autochannelmode=roundrobin \u2014 cycle instead of least-used\n\n- Guest preferred channel:\n - Guests can request a specific channel with their invite link, using #preferchannel.\n - eg: `?room=ROOM&preferchannel=3` (&pc as an alias)\n - If the director allows that channel, they'll get it. Otherwise falls back to auto-assign.\n\nNote: Scene/view links still need &channels=8 and OBS needs to be set to 7.1 for multitrack output.\n\nsee: https://docs.vdo.ninja/director-settings/autochannels for more details.\n\nEssentially, you can now automatically setup OBS to record each guest in a scene to their own isolated audio channel. Up to 7 channels. No manual assignment needed, unlike before.\n\n** on alpha for testing at vdo.ninja/alpha/",
"timestamp": 1767076817.185913,
"name": "steveseguin",
"msgid": "1455450400269537456",
"avatar": "https://cdn.discordapp.com/avatars/227248835251011585/65c32b7b05ec3a9bdf7371aa5df35dbf.png?size=1024",
"attachments": []
},
{
"content": "- Added the command &ptz, which can be added to a push link, which enables the pan/tilt control of the camera, if compatible. This will trigger a new permission popup though. Still on local dev; but i\"ll push to beta later tonight.",
"timestamp": 1767569228.378195,
"name": "steveseguin",
"msgid": "821536138434576406",
"avatar": "https://cdn.discordapp.com/avatars/227248835251011585/65c32b7b05ec3a9bdf7371aa5df35dbf.png?size=1024",
"attachments": [
{
"mime": "image/png",
"url": "https://cdn.discordapp.com/attachments/701232125831151697/821536135742095391/111395478-4cb24c80-8693-11eb-9d14-56834989860e.png?ex=695baa66&is=695a58e6&hm=758b170de9ae66b732d091b55f1b3d235256237d435d9d1bebddabbcdf0d1164&",
"desc": null
}
]
},
{
"content": "- wrote up some WebHID code for the streamdeck -- TEST code here: https://obs.ninja/webhid I'll eventually add this all as hotkey support, though I have little idea how to let users customize what does what so far.",
"timestamp": 1767569229.594815,
"name": "steveseguin",
"msgid": "821424003155230722",
"avatar": "https://cdn.discordapp.com/avatars/227248835251011585/65c32b7b05ec3a9bdf7371aa5df35dbf.png?size=1024",
"attachments": [
{
"mime": "image/png",
"url": "https://cdn.discordapp.com/attachments/701232125831151697/821424003540582430/unknown.png?ex=695beab7&is=695a9937&hm=3fab6a986f776573cd7def94dba9628390162443d26389e9d0c5b11d76000dca&",
"desc": null
}
]
},
{
"content": "- added a link to less common known issues here",
"timestamp": 1767569230.720451,
"name": "steveseguin",
"msgid": "818107666920505355",
"avatar": "https://cdn.discordapp.com/avatars/227248835251011585/65c32b7b05ec3a9bdf7371aa5df35dbf.png?size=1024",
"attachments": [
{
"mime": "image/png",
"url": "https://cdn.discordapp.com/attachments/701232125831151697/818107665082744852/unknown.png?ex=695bb7a3&is=695a6623&hm=c2729c0646906f6159267b2f21f3a685ded3fe9f8fde0da978f591b465a4514f&",
"desc": null
}
]
},
{
"content": "```\nhttps://obs.ninja/beta/speedtest?sid=xxxxxxx\nhttps://obs.ninja/beta/monitor?sid=xxxxxxx\n```",
"timestamp": 1767569231.711581,
"name": "steveseguin",
"msgid": "819974442146594842",
"avatar": "https://cdn.discordapp.com/avatars/227248835251011585/65c32b7b05ec3a9bdf7371aa5df35dbf.png?size=1024",
"attachments": [
{
"mime": "image/png",
"url": "https://cdn.discordapp.com/attachments/701232125831151697/819974437285134356/unknown.png?ex=695beab4&is=695a9934&hm=ae466d1dbbbdb83e30bc53543ae5e8c855c590fd288ce0f0e7f2806bebbd1b8f&",
"desc": null
}
]
},
{
"content": "",
"timestamp": 1767569236.38233,
"name": "steveseguin",
"msgid": "818500989917069355",
"avatar": "https://cdn.discordapp.com/avatars/227248835251011585/65c32b7b05ec3a9bdf7371aa5df35dbf.png?size=1024",
"attachments": [
{
"mime": "image/png",
"url": "https://cdn.discordapp.com/attachments/701232125831151697/818500986326614066/unknown.png?ex=695bd472&is=695a82f2&hm=508986b203ae9241defa2a3aa2a1cc74e60dc913121dabbc2bb25e5e3a766948&",
"desc": null
}
]
},
{
"content": "- green screen added &effects=4 (works best with the electron capture app)",
"timestamp": 1767569238.584182,
"name": "steveseguin",
"msgid": "815536703783043103",
"avatar": "https://cdn.discordapp.com/avatars/227248835251011585/65c32b7b05ec3a9bdf7371aa5df35dbf.png?size=1024",
"attachments": [
{
"mime": "image/png",
"url": "https://cdn.discordapp.com/attachments/701232125831151697/815536700008169532/unknown.png?ex=695c407d&is=695aeefd&hm=64e7b39288be22bdebd8acc8f45af061f93ccca9b59193b9c10da4eb256e8c1d&",
"desc": null
}
]
},
{
"content": "",
"timestamp": 1767569242.371371,
"name": "steveseguin",
"msgid": "817764103778336818",
"avatar": "https://cdn.discordapp.com/avatars/227248835251011585/65c32b7b05ec3a9bdf7371aa5df35dbf.png?size=1024",
"attachments": [
{
"mime": "image/png",
"url": "https://cdn.discordapp.com/attachments/701232125831151697/817764101001445386/unknown.png?ex=695bc92b&is=695a77ab&hm=4a72f19657b6cd4bfc7c96658050be7bbcbaa310d90dbd3a2a7ca2c7995b9f1b&",
"desc": null
}
]
},
{
"content": "I forgot to mention this, but I've been working to improve the Electron Capture app (for Windows). Features include:\n\n- fixed frame rate options (vdo.ninja)\n- fixed resolution options (vdo.ninja)\n- max higher video quality (vs Chrome)\n- more hardware encoder (vs Chrome)\n- unlimited &buffer delay vs the 3s in Chrome\n- you can actually hide the mouse cursor when screen sharing (vs Chrome)\n- application audio capture (vs none in Chrome)\n\ndetails: https://electroncapture.app/advanced-features.html\n\nThis is still all in a pre-release mode, Windows-only, available here: https://github.com/steveseguin/electroncapture/releases/tag/v2.22.0\n\nThe squeaky wheel gets the grease, as they say, so I'm hoping to receive feedback and testing, to motivate and inspire further development. \n\nFor esports and pro engineers, I can see this being a very useful tool, where Chrome just doens't cut it.",
"timestamp": 1767630589.071346,
"name": "steveseguin",
"msgid": "1457773087926915142",
"avatar": "https://cdn.discordapp.com/avatars/227248835251011585/65c32b7b05ec3a9bdf7371aa5df35dbf.png?size=1024",
"attachments": []
}
]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment