Skip Navigation
InitialsDiceBearhttps://github.com/dicebear/dicebearhttps://creativecommons.org/publicdomain/zero/1.0/„Initials” (https://github.com/dicebear/dicebear) by „DiceBear”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)CA
Posts
26
Comments
40
Joined
2 mo. ago
Fediverse @lemmy.world
Cattail @lemmy.world

Peertube recommendation algo update part 2

cross-posted from: https://lemmy.world/post/28461880

so I spent last several days making collecting watch time on both videos and livestreams more robust and work across multiple peertube instances, im sure it still has gaps in the structure so that jenk data can get in.

if you want to try it heres the link https://github.com/solidheron/peertube_recomendation_algorythm/ btw its a browser extension

so now I got two parts left that I know of first being creating the user_recomendation_vector and the function that gets recommendation based on that vector. I settle on cosine similarity vector since its easy to implement and can be run in browser with only data collected by the user device, and doesnt requires sharing outside of peertube api. user_recomendation_vector should have two part AOLR: (algorithm of last resort) which will be the words in the title, tags, and description tokenized with an float value and recomended_standard: which will be based on what category eit

Peertube @lemmy.ml
Cattail @lemmy.world

Peertube recommendation algo update part 2

so I spent last several days making collecting watch time on both videos and livestreams more robust and work across multiple peertube instances, im sure it still has gaps in the structure so that jenk data can get in.

if you want to try it heres the link https://github.com/solidheron/peertube_recomendation_algorythm/ btw its a browser extension

so now I got two parts left that I know of first being creating the user_recomendation_vector and the function that gets recommendation based on that vector. I settle on cosine similarity vector since its easy to implement and can be run in browser with only data collected by the user device, and doesnt requires sharing outside of peertube api. user_recomendation_vector should have two part AOLR: (algorithm of last resort) which will be the words in the title, tags, and description tokenized with an float value and recomended_standard: which will be based on what category either programs or people decide a video belongs to along with an asso

  • Yeah collecting your data and running your own algorithms are going to be opt in by default. All peertube instance would have to do is send information described all the videos and you're local machine will pick it out for you

  • Fediverse @lemmy.ml
    Cattail @lemmy.world

    Collect your own data for fediverse

    cross-posted from: https://lemmy.world/post/28241019

    working on peertube recommendation algorithm has made me realize that we should be collecting our own data.

    my program that monitors peertube watching habit and stores it locally and should track YouTube watching habit just so that data can be used in a recommendation algorithm. it would be a good idea for fediverse if there were programs that monitors and stores the data locally for the fediverse and corporate counterpart.

    the reason why I would track youtube data was to get the titles of the video

    Peertube @lemmy.ml
    Cattail @lemmy.world

    Collect your own data for fediverse

    working on peertube recommendation algorithm has made me realize that we should be collecting our own data.

    my program that monitors peertube watching habit and stores it locally and should track YouTube watching habit just so that data can be used in a recommendation algorithm. it would be a good idea for fediverse if there were programs that monitors and stores the data locally for the fediverse and corporate counterpart.

    the reason why I would track youtube data was to get the titles of the video

    Fediverse @lemmy.ml
    Cattail @lemmy.world

    Peertube recommendation algorythm update

    cross-posted from: https://lemmy.world/post/28197750

    I made a browser extension that track the video you watch on a peertube instance linked here https://github.com/solidheron/peertube_recomendation_algorythm

    it works decently well but it still has some glitches and a bug that causes minor information loss that will need to be patched out. so this is in alpha and needs to be worked on. I do have another script that gets the data of a hundreds of peertube videos and the closed captions. so got some basic components of an algorithm started. next ill probably figure out how to categorize videos based on peertube api and closed captions.

    It's weird knowing someone will improve on this at some point

    bellow is the data structure of the browser extension. I did watch videos to get that data and all of this will be stored locally. I recommend looking at it with https://jsonformatter.org/json-viewer . leave a comment/suggestion, I'm up for any submissions.

    [{"title":"The

    Peertube @lemmy.ml
    Cattail @lemmy.world

    Peertube recommendation algorythm update

    I made a browser extension that track the video you watch on a peertube instance linked here https://github.com/solidheron/peertube_recomendation_algorythm

    it works decently well but it still has some glitches and a bug that causes minor information loss that will need to be patched out. so this is in alpha and needs to be worked on. I do have another script that gets the data of a hundreds of peertube videos and the closed captions. so got some basic components of an algorithm started. next ill probably figure out how to categorize videos based on peertube api and closed captions.

    It's weird knowing someone will improve on this at some point

    bellow is the data structure of the browser extension. I did watch videos to get that data and all of this will be stored locally. I recommend looking at it with https://jsonformatter.org/json-viewer . leave a comment/suggestion, I'm up for any submissions.

    [{"title":"The Blues Brothers (1980) - Dalek Zone","url":"https://dalek.zone/w/56ozwq8e

  • yeah i saw that stats when i looked at my videos, but i didn't know if that would be worth collecting since its guarded not readily accessible. i guess an instance can use it for recommendations of local videos. right now im just trying to profile both the watcher(locally) and videos

  • Fediverse @lemmy.ml
    Cattail @lemmy.world

    Is there a get watch time data of the video you watch on peertube

    cross-posted from: https://lemmy.world/post/28140813

    Little update on making a peertube recommendation algorithm. I made a script that collects video json and closed caption from instances. Later on I'll figure out a way to organize the data into video description vector. (Data manipulation will be ever improving process but data collecting should be stagnant and only change with activityhub and peertube updates)

    My question is if there's a program that monitors or gets a users video watch time and interaction data and stores it locally. I just need something to record my video interactions of peertube videos such as like or dislike a video.

    Peertube @lemmy.ml
    Cattail @lemmy.world

    Is there a get watch time data of the video you watch on peertube

    Little update on making a peertube recommendation algorithm. I made a script that collects video json and closed caption from instances. Later on I'll figure out a way to organize the data into video description vector. (Data manipulation will be ever improving process but data collecting should be stagnant and only change with activityhub and peertube updates)

    My question is if there's a program that monitors or gets a users video watch time and interaction data and stores it locally. I just need something to record my video interactions of peertube videos such as like or dislike a video.

  • really im thinking about what data is okay to share and what data should be kept to the user. basically I determined that description of the video is only thing that can be public and the people/bot describing it okay to share (like associating their channel to a description they make to specific video) and the watchers device can collect video meta data to find suggestions

  • Fediverse @lemmy.world
    Cattail @lemmy.world

    proposed video descriptor element for peertube

    cross-posted from: https://lemmy.world/post/28064839

    writing down my thoughts for added elements called Video_description_vector and Video_description_vector_history. Video_description_vector is an element that an instance gives to describe what categories a video does and does not belong to and Video_description_vector_history is record of user submissions of what categories they say a video belongs to so that way categories can be removed.

    Video_description_vector has sub elements that are format standards, this is done so that so that future potentially better format can be entered into Video_description_vector . I'm working on my recommended standard, so far I have isTrue array that lists what categories the video belongs to, while the isFalse element lists what categories it does not belong to—subjectively. done that way so that isn't a sea of element like "cartoon":True or "action":False . I do know that I need sub-element for music metrics

    Below is a made-up exampl

    Peertube @lemmy.ml
    Cattail @lemmy.world

    proposed video descriptor element for peertube

    writing down my thoughts for added elements called Video_description_vector and Video_description_vector_history. Video_description_vector is an element that an instance gives to describe what categories a video does and does not belong to and Video_description_vector_history is record of user submissions of what categories they say a video belongs to so that way categories can be removed.

    Video_description_vector has sub elements that are format standards, this is done so that so that future potentially better format can be entered into Video_description_vector . I'm working on my recommended standard, so far I have isTrue array that lists what categories the video belongs to, while the isFalse element lists what categories it does not belong to—subjectively. done that way so that isn't a sea of element like "cartoon":True or "action":False . I do know that I need sub-element for music metrics

    Below is a made-up example. It’s about the Cleveland Browns, an American football team, do

  • I like that idea for a stupid simple algorithm. ironically I plan for there to be like a Varity of algorithms both that are user only and a aggregate. really im trying to pin down a standardized video vector that can describe any video to any level of detail

  • be better to store the video vector on an instance so that watchers can retrieve, just logistics. video vector (element) can be calculated anywhere just communicated to an instance, the idea is to be flexible. activityhub protocol has made the decisions easy the video vector has to be a .json element in a video json data.

    it would be better to store the results of a calculation to avoid repeated calculations. im looking into music classifications, and like the entire video can be sent to parse to see if its music or not, the tempo, genra, id assume that would be fairly costly to calculate or instance can send the video vector that states all that information

  • bayesian model should be nice and simple enough to impliment. i just know neural networks are way to far out into the future.

    yeah there is issues with video vector because it can be near infinite but server can simple embed basic information like video length, views, and other things and instance could choose to have user submitted elements to the video or pay the cost.

    my starting point is going to be storing vectors locally... but yeah the video vectors will be stored somewhere on the fediverse and sent out to watchers and the watchers maintain their own vector and algorithm

  • i havent made anything yet i just wanted to articulate that a basic algorythm can be done ethically where either instance/watcher/fediverse in general can make a vector to define a video and that could be shared via activity hub and the user can have a vector for themselves and even their own algorithm to sift through videos.

    im just starting and right now i have to figure out how to format the video vector do i want .json .csv .xml

  • Fediverse @lemmy.world
    Cattail @lemmy.world

    Basic recommendation video algorithm for peertube

    cross-posted from: https://lemmy.world/post/28011368

    So I started by doing research and by research I mean watching two videos on YouTube about basic recommendation algorithms.

    I did watch a 30 minute video on Netflix software engineer talking about using machine learning and complex matrix and these bandit style machine learning algorithms to recommend TV shows/movies really the base conclusion is that there's a 50% improve over doing all these complex things over their baseline measurement. Baseline will mean traditional pre neral network based algorithms.

    The way I interpret it is that basics take you a long way and all the basics are is just organizing any peertube video into a vector and people watching into a vector as well. The idea would be that which videos are more similar to each other would be good recommendations if a watcher watch one of those videos, or if they didn't like it don't recommend any videos similar to that. Once these videos get vectorized then t

    Peertube @lemmy.ml
    Cattail @lemmy.world

    Basic recommendation video algorithm for peertube

    So I started by doing research and by research I mean watching two videos on YouTube about basic recommendation algorithms.

    I did watch a 30 minute video on Netflix software engineer talking about using machine learning and complex matrix and these bandit style machine learning algorithms to recommend TV shows/movies really the base conclusion is that there's a 50% improve over doing all these complex things over their baseline measurement. Baseline will mean traditional pre neral network based algorithms.

    The way I interpret it is that basics take you a long way and all the basics are is just organizing any peertube video into a vector and people watching into a vector as well. The idea would be that which videos are more similar to each other would be good recommendations if a watcher watch one of those videos, or if they didn't like it don't recommend any videos similar to that. Once these videos get vectorized then the watcher's vector can be updated in a basic way more watch tim

    Owncast Self Hosted Live Streaming @lemmy.world
    Cattail @lemmy.world

    Original peertube version of the DualShock Controller for owncast chat

    peertube.wtf Peertube Plays chocobo's dungeon 2

    Type these commands in the chat to control the game: up/u - Move up down/d - Move down left/l - Move left right/r - Move right triangle/t - Press triangle button square/s - Press square button cros...

    Peertube Plays chocobo's dungeon 2

    so this is code that the owncast plays https://github.com/solidheron/owncast_plays_dualshock script is based on, but the peertube version. if you were interested in the script here a trial run of the script. with the peertube setting and obs studio it should be similar latency chatter experiences with owncast

    should note that for some reason the DiskStation emulator is not registering r2 and l2 button presses on linux. I don't think the game has any use for those buttons

    Fedi Plays - chat-reactive gaming on Fediverse streams @lemmy.abnormalbeings.space
    Cattail @lemmy.world
    peertube.wtf Peertube Plays chocobo's dungeon 2

    Type these commands in the chat to control the game: up/u - Move up down/d - Move down left/l - Move left right/r - Move right triangle/t - Press triangle button square/s - Press square button cros...

    Peertube Plays chocobo's dungeon 2

    rotated out the games and script. don't worry dragon quests monster has a save state and can be loaded back at any time

    Fedi Plays - chat-reactive gaming on Fediverse streams @lemmy.abnormalbeings.space
    Cattail @lemmy.world
    peertube.wtf Peertube Plays chocobo's dungeon 2

    Type these commands in the chat to control the game: up/u - Move up down/d - Move down left/l - Move left right/r - Move right triangle/t - Press triangle button square/s - Press square button cros...

    Peertube Plays chocobo's dungeon 2

    rotated out the games and script. don't worry dragon quests monster has a save state and can be loaded back at any time

    Fedi Plays - chat-reactive gaming on Fediverse streams @lemmy.abnormalbeings.space
    Cattail @lemmy.world

    Thinking about putting Fedi plays stream on rotation

    I finished up the script that controls the PS4 controller and it works good enough with one know issue. I look at the twitch plays Pokemon channel and they rotate out there games about every 10 days so I'll take down dragon quest monsters to free it up for chocobo dungeons 2. Dragon quest will be returned to on a later date.

    It's just that activity on dragon quest fedi plays has been sparse.

    Owncast Self Hosted Live Streaming @lemmy.world
    Cattail @lemmy.world

    Owncast plays dualshock controller

    Finally converted my "PeerTube Plays" script to work with Owncast! Repo here: https://github.com/solidheron/owncast_plays_dualshock

    The script reads messages from an Owncast chat URL—example: https://live.24hrkpop.com/embed/chat/readwrite/%E2%80%94and maps chat messages to PlayStation 4 controller inputs. It doesn’t control the analog sticks, but it does handle every other button, including the touchpad.

    Basic usage:

    Typing up presses up on the D-pad

    Typing square presses the square button

    And my favorite: x o 15 doesn’t send hugs and kisses—it presses both cross and circle 15 times in a row

    You can't press opposites dpad presses at once (e.g., up + down or left + right), but everything else is fair game.

    As I mentioned in my last post: Put it in player 2’s slot, use it during an intermission screen, or overlay it on top of a streamer’s real inputs for some chaotic sabotage fun.

    Owncast Self Hosted Live Streaming @lemmy.world
    Cattail @lemmy.world

    DualShock Controller for owncast chat

    I made another script for my fedi plays stream linked here https://github.com/solidheron/peertube_chat_controller that script is only for peertube chat and it's used to control a virtual ps4 controller that you can connect to anything usually emulators.

    I should able to convert make an Owncast version, but I do have questions about if the owncast version of this script should open a web browser and scrape the comments or if owncast hosts have different access to the comments on their stream's comment section.

    it should be fun if chat had a virtual controller then they can be player 2 (little sibling streams), share input with the streamer (punishment challenge/sabotage stream), or have a intermission scene gimic where chat plays a game

    Fedi Plays - chat-reactive gaming on Fediverse streams @lemmy.abnormalbeings.space
    Cattail @lemmy.world

    General updates

    I keep twerking the script hopefully it doesn't execute a previous chat anymore. The script won't parse any data until a new message appears in chat. Also I lowered new messages check by 2 seconds so latency is reduced by 2 seconds and commands can be stringed faster.

    I have looked at old VODs of twitch plays Pokemon the one involving final fantasy 7 and the commands get put onto a stack and executed in chronological order. These vods are 4 years ago and the original design idea was based on twitch plays Pokemon red that seemed to execute whatever is most recent

    Now I'm working on a script that takes peertube chat and puts them into inputs on a virtual PS4 controller. So far it works but it needs a way to do two button presses

    I might make a fedi plays for chocobo dungeon on the ps1

  • the issue is with peertube chat. it only gives me down to the minute information on when a chat appears and I needed to prevent the same comment from inputting the same command, so repeated inputs in the same inputs not going through was the sacrifice.

    the work around is to load the last 5 comments from chat and just see if there was a change in the last 5 comments so that way repeated commands would push out unique comments (both in content and time) making them go through, but I haven't been able to do that. on top of that doing the a4 commands helped fix the issue since "a4" and "a" are different commands.

    other than that i have to put in a refresh commands for firefox browser because that cuts the programs connection to chat

  • Owncast Self Hosted Live Streaming @lemmy.world
    Cattail @lemmy.world

    turns out that ety has edited VODs