Osu replay viewer android
Failed to load latest commit information.
readme.md
Download the exe, put it into an empty folder and run it, the updater should download all required files.
Set your paths in the settings.txt file (it will be generated for you).
If at anytime the program crashes, open an issue supplying the text of the «crash.log» file that is created. There may be some features missing that existed before, but bear with me I’ll try to get it back into the state that it was before the update.
If you want the program to force an update, delete one of the dlls and it should go into a repair mode.
If you want the program to not check for updates, put a file called «no-update» in the same place the .exe is. This however does not stop the repair mode that happens if one of the required dlls is missing.
Check if you have the latest version
When you first launch the program it will say the build in the title bar.
The current version is:
2020-06-07 no. 2 (legacy)
What is the meaning of the different colors when viewing «cursor data» and «press data»?
In «cursor data» each cross / plus sign marker indicates a replay frame, both movement and mouse and keyboard presses. Cyan means Key1 is pressed down, magenta means Key2 is pressed down, green means Mouse1 and yellow Mouse2. If more than one button is held it only displays the color of one.
In «press data» markers for cursor movement are omitted and only the lines are drawn. A yellow marker indicates that a key or mouse button was pressed down and was not pressed down previously. A gray marker indicates that a key or mouse button was previously held down but got released. The point of these is to make it more obvious where osu! would register a press and hold.
OsuReplayViewer Dec 2019 update
So this project is actually very old and I don’t want to touch the codebase too much. However, during the osu! 20191106 update, they changed the file format of osu!.db, which of course caused this program to break and so I felt obligated to fix it.
The main problem is this project used to use Microsoft XNA, which is obsolete and I didn’t have an environment setup to compile, etc. My solution is to port all the rendering to OpenTK + OpenGL.
This does mean that on top of the osu!.db issues I am fixing some other weird scaling issues and changing the way checking for updates works (the old updater was a POS). And while I have a build environment setup now as well as a way to push updates better, I may fix other issues if you bring them to my attention through the GitHub issue tracker.
These are the instructions for Visual Studio 2017+ on windows because that is probably the most common.
(1) clone the repo with git
(2) open the package manager console (from within visual studio)
(3) run Update-Package to install ManagedBass and OpenTK
(4) additionally you are going to need the dll files «bass.dll» and «bass_fx.dll». to be placed in your bin/Debug or bin/Release You can get them from the developers https://www.un4seen.com/ or they are mirrored in the «distro» folder.
(5) build compile run
(6) It may be beneficial to put a blank file named no-update in your bin/Debug or bin/Release. This will disable all network activity and prevent the updater from trying to replace what it thinks are outdated files.
Источник
Osu replay viewer android
The continuation of the replayEditorV2. Old software did not work properly, this one should be better.
Requires 64 bit Windows.
Requires Microsoft Visual C++ Redistributable 2015-2019
Download both if you don’t already have:
You can find all the downloads on the releases page
Extract it and run the .exe. The first time it runs it will prompt you to edit your settings file. The settings file should be edited to point towards your osu! installation. The application will stay up to date with this repo unless the «update_url» setting is changed or deleted.
- A — scrub backwards
- D — scrub forwards
- (scrub speed dependent on playback speed. for finer control lower the playback speed)
- S — toggle play / pause
- I — mark in
- O — mark out
- M — mark mid
- Mouse wheel — zoom
- Right click = pan
- R — reset zoom pan
- Ctrl+Z — undo
- Ctrl+Y — redo
How do selections work? What is marking?
Selections work off a starting frame (mark in) and an ending frame (mark out) shown by two triangles. There are two ways to get this selection. The first is to just click and drag while the tool is set to «select» which draws a box. Any frames inside this box are selected. The second is to scrub (A / D) until the cursor is where you want the mark to be and then press the «Mark In» or «Mark Out» buttons (or I / O keys). Changing the key presses will affect all marks in your selection — all marks between mark in and mark out.
A middle mark (white) gets created automatically when both marks are set, but fine tune with with mark mid (M). This mark you can click and drag with your mouse to move the path of the cursor. The algorithm is a weighted average based on distance: mark in and mark out are locked in place while the marks in between are pulled depending on how close they are to mark mid.
Reporting bugs / feature requests
If you encounter a bug then please tell me about it using the Github issues page. It is possible that your bug is already reported as well. If the program crashed then please also attach or copy/paste the contents of the «crash.log» file that was created.
Disclaimer on replays produced
The replays produced are designed to be read and played back by osu! client successfully, but please advise that the .osr is not a 100% accurate representation of one that would be produced by the game. For example, the replay hash, online id, seed, etc. are not guaranteed to be correct for score submission. This is not designed to be cheat software.
This software costs no money. Redistribution is allowed as long as no modification is made to any DLL or EXE and this README file is also reproduced. Content in the asset directory can be modified. I take no responsibility for what you might get downloading this software from places besides this Github page.
Right now the full source code is not available. This repo is binaries only. In the future I might GPLv3 this and provide source.
Developing this software does take time and was highly in demand going off the Github issues created on the old V2 repo, so if you like the software then you can show your appreciation by donating. But rest assured if you do not donate that this software will still be free.
Источник
Osu replay viewer android
osu! Replay Viewer
Based on osu!lazer
This replay viewer allow you to view imported replays (yes you have to import them in osu!lazer client) without launching the actual game, and you can also render replays to video files, thanks to FFmpeg.
This project aims to make replay viewer without modifying the official game code or write entire thing from scratch, but uses components from the game instead. Because of this, it’s much more easy to upgrade to make UI matches with actual game
This project somewhat implemented this idea (except we’re running outside the official client)
- View downloaded replays
- Download replays (if you can log in)
- Render replays to sequence of images (it actually render replay to a video now)
- .NET 5.0
- OpenGL ES 3.0 compatible device
- FFmpeg installed as command (a.k.a you must be able to run ffmpeg without including an entire path to it) if you want to render the replay to video
This replay viewer is not guranteed to works on platforms other than Windows, but at least it’s managed to works on Linux previously. If you have any problem related to Linux platform, please create a new issue.
Linux users can also install FFmpeg from package manager included in their distribution
Windows users can download FFmpeg here or here
- Include ffmpeg in command line path
- Confirm that it’s working by running ffmpeg alone
For the best encoding speed, you can install FFmpeg with hardware acceleration. To actually use hardware acceleration, see hardware acceleration
Command Line arguments
You can view all command line arguments by running the executable without arguments
Output of osu-replay-viewer —help :
To build this project, you need:
Clone this repository ( git clone ), then build it with dotnet build command.
You can also build and run directly, using dotnet run osu-replay-viewer
«No corresponding beatmap for the score could be found»
You need to import the beatmap to your current osu!lazer installation (works best with ranked maps).
To use hardware acceleration, you need:
- FFmpeg with hardware acceleration
- Compatible hardware (Intel, AMD or NVIDIA GPUs)
- Driver
Simply add —ffmpeg-encoder h264_ or —ffmpeg-encoder hevc to enable hardware encoding. (Eg: osu-replay-renderer —view local 1337 —record —ffmpeg-encoder h264_qsv )
Here is the table for hardware encoders:
Vendor | Encoder | Codec | Note |
---|---|---|---|
any | libx264 | H.264 | Uses CPU |
Intel | h264_qsv | H.264 | |
AMD | h264_amf | H.264 | |
NVIDIA | h264_nvenc | H.264 | |
any | libx265 | HEVC | Uses CPU |
Intel | hevc_qsv | HEVC | |
AMD | hevc_amf | HEVC | |
NVIDIA | hevc_nvenc | HEVC |
This is the list of stuffs that I want to changes. It can be planned features or just revamp the code.
- Live Graphs (Live PP, accuracy or difficulty)
- Custom HUD from DLLs (similar to osu! custom rulesets)
- Customiztation
- Split CLI system to seperate project (if you’re willing to use it)
- Change the project name
- Allow user to choose different osu!lazer application directory
While Live PP Graph is currently possible, it would be nice if someone exposes them as bindables.
About
View replays without actually launching the game
Источник
Osu replay viewer android
osu! Replay Viewer
Based on osu!lazer
This replay viewer allow you to view imported replays (yes you have to import them in osu!lazer client) without launching the actual game, and you can also render replays to video files, thanks to FFmpeg.
This project aims to make replay viewer without modifying the official game code or write entire thing from scratch, but uses components from the game instead. Because of this, it’s much more easy to upgrade to make UI matches with actual game
This project somewhat implemented this idea (except we’re running outside the official client)
- View downloaded replays
- Download replays (if you can log in)
- Render replays to sequence of images (it actually render replay to a video now)
- .NET 5.0
- OpenGL ES 3.0 compatible device
- FFmpeg installed as command (a.k.a you must be able to run ffmpeg without including an entire path to it) if you want to render the replay to video
This replay viewer is not guranteed to works on platforms other than Windows, but at least it’s managed to works on Linux previously. If you have any problem related to Linux platform, please create a new issue.
Linux users can also install FFmpeg from package manager included in their distribution
Windows users can download FFmpeg here or here
- Include ffmpeg in command line path
- Confirm that it’s working by running ffmpeg alone
For the best encoding speed, you can install FFmpeg with hardware acceleration. To actually use hardware acceleration, see hardware acceleration
Command Line arguments
You can view all command line arguments by running the executable without arguments
Output of osu-replay-viewer —help :
To build this project, you need:
Clone this repository ( git clone ), then build it with dotnet build command.
You can also build and run directly, using dotnet run osu-replay-viewer
«No corresponding beatmap for the score could be found»
You need to import the beatmap to your current osu!lazer installation (works best with ranked maps).
To use hardware acceleration, you need:
- FFmpeg with hardware acceleration
- Compatible hardware (Intel, AMD or NVIDIA GPUs)
- Driver
Simply add —ffmpeg-encoder h264_ or —ffmpeg-encoder hevc to enable hardware encoding. (Eg: osu-replay-renderer —view local 1337 —record —ffmpeg-encoder h264_qsv )
Here is the table for hardware encoders:
Vendor | Encoder | Codec | Note |
---|---|---|---|
any | libx264 | H.264 | Uses CPU |
Intel | h264_qsv | H.264 | |
AMD | h264_amf | H.264 | |
NVIDIA | h264_nvenc | H.264 | |
any | libx265 | HEVC | Uses CPU |
Intel | hevc_qsv | HEVC | |
AMD | hevc_amf | HEVC | |
NVIDIA | hevc_nvenc | HEVC |
This is the list of stuffs that I want to changes. It can be planned features or just revamp the code.
- Live Graphs (Live PP, accuracy or difficulty)
- Custom HUD from DLLs (similar to osu! custom rulesets)
- Customiztation
- Split CLI system to seperate project (if you’re willing to use it)
- Change the project name
- Allow user to choose different osu!lazer application directory
While Live PP Graph is currently possible, it would be nice if someone exposes them as bindables.
About
View replays without actually launching the game
Источник
Replay
A replay is a rebroadcast or direct emulation of a play, either by a player or a perfect play done by the Auto mod.
As long as the local replay emulation file with a .osr file extension is available with the difficulty/beatmap or a top Global leaderboard play was downloaded, a complete replay can be constructed by osu! to be watched.
Replay options
Replay with Auto, offline and online account play respectively
To rewatch a replay, press and hold the custom default grave/tilde ( ` /
) key (which can be changed in Options sidebar under keyboard; inside the Change keyboard bindings button as Quick Retry (hold briefly)) or Ctrl + R for a while.
The screen should darken and a sound will be played when the quick restart was successful.
Releasing the key early will fail the quick retry.
Access to the Chat Console ( F8 )/Extended Chat Console ( F9 ) will still be available.
Press the Tab key to hide/show the currently-selected leaderboard.
Press the H key to hide/show all elements of replay except the game mods used and UNRANKED notice if played by Auto.
To skip the starting/ending point of the play, press the Spacebar key.
Discussion
The button only appears when an in-game osu!account was connected to Bancho and the difficulty/beatmap can be found in the osu! beatmap list (ranked or otherwise).
Shows flowing right-to-left comments left by the community on the beatmap.
Click on the Discussion button to show the options available.
Discussion button options during a replay
Click on Show Comments to enable flowing comments regarding the beatmap(set) at the middle of the screen.
An active osu!supporter account will have an extra Colour button which allows new comment to be coloured.
Making a comment
Click on Click to add a comment at the current time! to comment on the current difficulty/beatmap.
The replay will be paused, darken, and with an osu!logo at the foreground centre until the comment was completed (usually, Enter key) or cancelled (usually, Esc key).
An example of comment flow
To filter the comments by difficulty, enable Difficulty (#) .
To filter the comments by the overall beatmap, enable Song (#) .
When watching a top play from the Global leaderboard , enable Player (#) to show comments from the player itself.
Mapper’s comment will be placed above the flowing comments with a light-blue text and an jump-out/jump-in animation instead.
Depending on resolution, it may be obstructed by a UNRANKED notice when watching an Auto replay.
To remove the UNRANKED notice, either watch a top replay from the Global leaderboard , or a local replay from the Local leaderboard without the Auto mod used.
When watching a top replay, the player of the replay’s comment(s) will be shown below the screen instead, and will only be shown in this replay only.
By default without active osu!supporter, comments will be coloured based on chat colour (normal accounts will be white) except for mapper’s comment(s) (light-blue).
Collections
Add this beatmap(set) to Collections.
This will open up the Collections screen to put the current beatmap(set) into specific sections or rename the sections.
The replay will not pause and continue at the background while in this screen.
Playback Speed
Adjust the playback speed of the replay.
The playback speed rotates between 1x , 2x , 0.5x , or rotate back to 1x playback speed per click.
Starting playback speed is always 1x .
Shortcut key is the F key.
End Replay
Self-explanatory; click to end the replay.
Shortcut key is the Esc key.
Types of Replay
Full documentation regarding the .osr file format: .osr file format
To export a replay, press F2 in the results screen.
Exported replay will have an .osr file extension with a clean filename format as shown below:-
Do note that an exported replay file will not work if the difficulty/beatmap linked to the replay file was missing/not found.
Once opened, the exported replay data will be added to the local leaderboard and the file copied to the backend (specifically, in the hidden Data/r folder).
The original exported replay will not be lost after opening.
A quick way to remember whether the replay will be saved internally is the same as whether it will be saved in the local leaderboard after passing the difficulty.
A white, hovering text from right-to-left, will be shown above the comments but below the UNRANKED notice while watching a replay.
The format is shown below unless stated otherwise:-
Local (Solo)
A local Solo play. As long as the difficulty was passed, a replay will be generated internally and can be exported to Replays folder.
At the backend, one pair of files will be created in the hidden folder, Data/r : .osr (osu! replay; the replay file), and .osg (accuracy and combo in real-time; used for spectators’ replay only) with same encrypted filename.
It is highly suggested to not rename the encrypted filename, and make use of the export F2 key instead.
Deleting the .osg file has no effect (it is a leftover file for spectator’s replay; can be safely removed).
Deleting the .osr file will make the replay lost forever (since the replay data is missing and nothing to export).
Alternatively, deleting the scores.db (which contains local leaderboard scores and pointers to encrypted replays) will make all (not exported) replays and local leaderboard scores lost forever.
To set a local leaderboard name when not signed in (Guest account), scroll down from the results screen to access the online results screen directly after passing the difficulty and type in the name on the Guest player name textbox.
In this screen, an alternative to using the export F2 key is to enable the Save replay to Replays folder button located at the upper-right.
Return to the Song Selection and changes will be updated for this replay (if no name was given, it will simply be blank).
Failed
Left is a regular game over screen and right is a failed replay game over screen
To access this screen, fail the map by draining the healthbar completely, or fail to fill 50% or more of the healthbar before the end of the difficulty in osu!taiko.
In the game over screen, press the F1 key to replay the currently failed play.
The replay ends when the screen darkens, with the osu!logo in the middle, rather than the game over screen.
To save your failed play as a replay, press F2 in the game over screen.
Due to the non-standard replay screen, use the Esc key to return to Song Selection.
Trying to restart the beatmap to directly play the beatmap again in this state is not possible.
It currently works in Solo only when given the game over screen.
Viewing a failed play does not work with the No Fail(NF)/Relax(RL)/Auto Pilot(AP) game modifier because it is impossible to fail.
Using the Perfect(PF) game modifier would forcefully quick-retry instead of failing the player.
If there was a retry streak, it will be lost once entering the Failed replay state.
Multi
Left is the original Multi play and right is an exported Multi replay
Replays from Multi can only be exported from Head-to-Head or Team VS team mode only.
These replays will not be saved internally and not considered in the local leaderboard.
Multi elements will not be saved as shown in the image comparison above (refer to the second image).
Spectator
As spectator mode requires access to the Extended Chat Console, please sign in with an active in-game account and connect to Bancho.
After that, press F9 to access the Extended Chat Console and pick a player to spectate.
Make sure to have the same difficulty/beatmap as the player, or a small red-outline warning box will appear at the bottom-right for not having the difficulty/beatmap specified, hence no spectator’s replay.
Exiting the Extended Chat Console will start the spectator replay if both the spectator and player have the same difficulty/beatmap.
A #spectator tab will be opened in the Chat Console (both the spectator and the player) to discuss about the player’s play.
Do note that depending on the player’s settings, the spectators’ account name in a list format will be shown at the player’s screen on the top-left of the screen in white text.
A format and example is shown below for the player:-
A white, hovering text from right-to-left will be shown on top when watching a spectator’s replay.
The format and example is shown below:-
Replay with Auto when connected to Bancho
The Auto game modifier plays the difficulty/beatmap.
It does not save internally but can be exported.
Opening an exported file of Auto play will put the play into the local leaderboard with a unique Auto game modifier used.
Do note that the UNRANKED notice cannot be removed at all.
Preview Gameplay
When the Preview Gameplay button in the Options sidebar is clicked, Auto will randomly take a difficulty/beatmap based on currently selected game mode (set in Solo’s Song Selection screen) and a random timespan to start.
In this type of replay, Auto may randomly miss a few hit objects to show how the skins elements looks like.
If the Preview Gameplay button was not clicked again to randomise another difficulty/beatmap and timespan when the song ended, result screen will be shown for this play and the Options sidebar will be closed.
The Options sidebar cannot be reopened while playing or in results screen.
Server
Left is downloading the server replay and right is the replay in question.
Server replays are reserved for the top 50 play in the Global leaderboard of a difficulty/beatmap.
The replay will be saved server-side.
It can be exported, or downloaded and watched immediately by request.
When watching a server-side replay (excluding exported replays), the player of the replay’s profile will receive an increment of one(1) in the «Replays Watched by Others» counter.
If a new top 50 global record was added, the previous holder for #50 position’s server-side replay will be removed.
To watch a server replay, an osu! account must be signed in and be connected to Bancho.
At the Song Selection screen in Solo , switch the leaderboard to Global leaderboard and click on the preferred player at the leaderboard to watch the replay.
Press on the Watch replay button and osu! will download the replay file from the Bancho as shown in the left of the image.
The replay only plays once and will be deleted after the replay ends/quit early.
Trivia
General
Playback speed does not affect the REPLAY MODE/SPECTATOR MODE notice scrolling speed.
Pausing breaks during play will not be accounted in the replay data; only the active playing data was collected.
Spectator
While it is possible to export a spectator replay, it is a bad idea if spectating in the middle or end of a play.
The exported replay file will only contain the play data from the timespan of the watched spectator replay.
For the timespan before that, the cursor will be placed at the starting point of the spectating timespan and shows no reaction, no hit burst occurrence, and health drain occur as usual (depending on game mode).
An empty healthbar will not fail the beatmap replay.
Do note that a failed spectator replay cannot be exported.
Multi
A failed Multi replay will still be played.
Do note that this is currently the only way to save a replay which will continue playing even when the healthbar was drained to empty at least once.
Preview Gameplay
An example of preview gameplay’s result screen
Depending on the random timespan selected, it may start at the end of the song without any hit objects, leading directly to the results screen with 0 score, 0 combo, 0x hit bursts, D Grade, no performance graph, and 100.00% accuracy.
When watching the replay, the health drain will work as usual, no cursor movement, and no miss (hence 100.00% accuracy) until the point where the Preview Gameplay timespan was set to run, which the hit bursts will start to work.
Since Auto is unable to fail, an empty healthbar has no effect on Auto.
However, for osu!taiko, if Auto is unable to fill the healthbar 50% or more, the replay will be stuck in an infinite loop.
Источник