+{"config":{"lang":["en"],"min_search_length":3,"prebuild_index":false,"separator":"[\\s\\-]+"},"docs":[{"location":"","text":"Python Funscript Editor A Python program to quickly create prototype algorithms to partially automate the generation of funscripts. NOTE: The program is currently not intended for productive use. But you can do whatever you want with this tool. UI The UI use an embedded mpv video player and matplotlib to draw the actions timeseries at the bottom. Keyboard Shortcuts Key Function P Pause / Playback . Next frame , Previous frame [ Decrease speed ] Increase speed Ctrl + Shift + Left Previous Action Point Ctrl + Shift + Right Next Action Point Shift + L Loop Video W Move Stroke Indicator Up A Move Stroke Indicator Left S Move Stroke Indicator Down D Move Stroke Indicator Right Ctrl + I Invert Stroke Indicator Ctrl + Plus Increase Stroke Indicator Ctrl + Minus Decrease Stroke Indicator Gtrl + G Start Funscript Generator Shift + Pos1 First Action Point Shift + End Last Action Point Pos1 Jump to Video Start End Jump to Video End 0 Add Action Point at 0% 1 Add Action Point at 10% 2 Add Action Point at 20% 3 Add Action Point at 30% 4 Add Action Point at 40% 5 Add Action Point at 50% 6 Add Action Point at 60% 7 Add Action Point at 70% 8 Add Action Point at 80% 9 Add Action Point at 90% Algorithms Create Funscript Action using OpenCV Tracker Idea: By using OpenCV Tracker , we can determine the relative movements in a static camera setup and map them into Funscript actions using simple signal processing. The Algorithm is implemented for 3D Side-By-Side VR Videos. Some parameter are currently hard coded. It should be possible to expand the functionality to 2D Videos by changing the code, with the following limitations. Limitations Static camera setup Fixed reference point of relative movement in video required No video cuts within a tracking sequence allowed No change of position of the performers Features in the video which are visible in all following frames of the tracking sequence required. Process Selection of the features for the Woman and Men in the video, which should be tracked. Predict the feature positions in the following video frames by OpenCV Tracker. Calculate the difference between the predicted tracking boxes. Map the relative difference to an absolute difference score by user input. Filter all local min and max points to get the final action positions for the Funscript. Improvements You can change the OpenCV tracker in the source code which predicts the position. OpenCV offers several trackers which differ in prediction accuracy and processing speed. See also OpenCV Tracker . You can set the number of frames that are interpolated by the skip_frames parameter. 0 means that the OpenCV tracker delivers a prediction for each frame. This is slower but more accurate. Or if greater than zero, the individual frames are skipped and then the tracking boxes are interpolated, which increases the processing speed but decreases the accuracy. I have set the value to 1, i.e. every 2nd frame is skipped and interpolated. Which provides a good mix of accuracy and speed. It is recommended to use a low resolution video e.g. 4K for generating the funscript actions, as the processing speed is higher.","title":"Python Funscript Editor"},{"location":"#python-funscript-editor","text":"A Python program to quickly create prototype algorithms to partially automate the generation of funscripts. NOTE: The program is currently not intended for productive use. But you can do whatever you want with this tool.","title":"Python Funscript Editor"},{"location":"#ui","text":"The UI use an embedded mpv video player and matplotlib to draw the actions timeseries at the bottom.","title":"UI"},{"location":"#keyboard-shortcuts","text":"Key Function P Pause / Playback . Next frame , Previous frame [ Decrease speed ] Increase speed Ctrl + Shift + Left Previous Action Point Ctrl + Shift + Right Next Action Point Shift + L Loop Video W Move Stroke Indicator Up A Move Stroke Indicator Left S Move Stroke Indicator Down D Move Stroke Indicator Right Ctrl + I Invert Stroke Indicator Ctrl + Plus Increase Stroke Indicator Ctrl + Minus Decrease Stroke Indicator Gtrl + G Start Funscript Generator Shift + Pos1 First Action Point Shift + End Last Action Point Pos1 Jump to Video Start End Jump to Video End 0 Add Action Point at 0% 1 Add Action Point at 10% 2 Add Action Point at 20% 3 Add Action Point at 30% 4 Add Action Point at 40% 5 Add Action Point at 50% 6 Add Action Point at 60% 7 Add Action Point at 70% 8 Add Action Point at 80% 9 Add Action Point at 90%","title":"Keyboard Shortcuts"},{"location":"#algorithms","text":"","title":"Algorithms"},{"location":"#create-funscript-action-using-opencv-tracker","text":"Idea: By using OpenCV Tracker , we can determine the relative movements in a static camera setup and map them into Funscript actions using simple signal processing. The Algorithm is implemented for 3D Side-By-Side VR Videos. Some parameter are currently hard coded. It should be possible to expand the functionality to 2D Videos by changing the code, with the following limitations.","title":"Create Funscript Action using OpenCV Tracker"},{"location":"#limitations","text":"Static camera setup Fixed reference point of relative movement in video required No video cuts within a tracking sequence allowed No change of position of the performers Features in the video which are visible in all following frames of the tracking sequence required.","title":"Limitations"},{"location":"#process","text":"Selection of the features for the Woman and Men in the video, which should be tracked. Predict the feature positions in the following video frames by OpenCV Tracker. Calculate the difference between the predicted tracking boxes. Map the relative difference to an absolute difference score by user input. Filter all local min and max points to get the final action positions for the Funscript.","title":"Process"},{"location":"#improvements","text":"You can change the OpenCV tracker in the source code which predicts the position. OpenCV offers several trackers which differ in prediction accuracy and processing speed. See also OpenCV Tracker . You can set the number of frames that are interpolated by the skip_frames parameter. 0 means that the OpenCV tracker delivers a prediction for each frame. This is slower but more accurate. Or if greater than zero, the individual frames are skipped and then the tracking boxes are interpolated, which increases the processing speed but decreases the accuracy. I have set the value to 1, i.e. every 2nd frame is skipped and interpolated. Which provides a good mix of accuracy and speed. It is recommended to use a low resolution video e.g. 4K for generating the funscript actions, as the processing speed is higher.","title":"Improvements"}]}
0 commit comments