Homebrew [Release] Rocket Video Player - Play videos with the ultimate in picture quality

  • Thread starter Thread starter RocketRobz
  • Start date Start date
  • Views Views 69,835
  • Replies Replies 126
  • Likes Likes 29
v2.1.2
v2.1.2

Bug fixes​

  • Fixed a BlocksDS bug where holding the DSi POWER button after being booted from a homebrew menu (such as TWLMenu++) would cause the console to boot into `boot.nds` instead of turning off the DSi.
  • Fixed last vertical line being shown on the top of the screen when playing interlaced dual-screen 16BPP RGB565 videos in 4:3.
 
  • Like
Reactions: andreiarturo
v2.2.0
v2.2.0

What's new?​

  • Longer videos are now supported by reading video files split into a maximum of 4 parts!
  • Added stereo audio support.
  • Videos up to 72 FPS are now supported!
    • Achieved by modifying the frame/refresh rate adjustment code to support past 60hz, and moving every 3D-rendered UI graphic to be drawn directly on the bottom screen image (with both the play bar slider and video timestamp rendered by OAM).
    • Not playable on 3DS due to frameskips when going above 60hz, or DSi in DS mode due to detection of DSi/3DS in DS mode not being possible.
  • 12 FPS & 24 FPS videos are now played with the screen refresh rate at 72hz in order to remove the horizontal line artifacts (and possibly reduced eyestrain).
    • Does not affect 3DS (or DSi in DS mode), where 48hz will continue to be used, and no such artifacts exist on 3DS.
  • Reduced memory usage in DS mode by only loading needed 512-byte sectors of the frame offset and compressed frame size tables.
  • Increased 16BPP frame buffer count (16 -> 32) for DS mode. (DSi mode has always used 32.)
  • Added single-screen/GBMacro support. Activated when the top screen is turned off and the bottom screen remains turned on.
    • Macro Mode can be activated in the TWLMenu++ Settings menu.

Bug fixes​

  • For playing 16BPP RGB565 videos in DSi mode, NDMA is now used instead of regular DMA in order to fix possible HBlank scanline skips.
  • Audio is now played after the frame is DMA-copied to the screen instead of before, fixing a possible sync issue.
  • Fixed a possible bug where loading 256-color frame palettes may overwrite other data.
  • Fixed crashing when closing a video which does not contain audio.



Vid2RVID v1.6

What's new?​

  • Increased video file size limit from 4GB to 16GB (or 20GB with audio)!
    • As Rocket Video Player only supports the FAT & FAT32 filesystems, the video will be split into a maximum of 4 (or 5 with audio) 4GB files.
  • Added stereo audio support.
    • Place `soundRight.raw` in the video frame folder if the video supports stereo.
  • 72 FPS videos can now be created!
  • Duplicate frames are now searched through the whole video in order to reduce file size further (when possible).
    • Previously, only the prior converted frame was checked as a duplicate.
  • Output videos (with progressive scan) now contain temporal dithering to reduce/remove color banding and achieve more on-screen colors!
    • If you still have the folder containing frames reduced to 256 colors, please delete the `256colors` file/folder in that folder, and then re-extract the video frames overwriting the existing ones.
  • Added that the frames will be interlaced above a certain FPS when selecting the color amount.
  • `16 BPP, RGB565` is now considered max quality (past the high quality of `16 BPP, RGB555`).

Bug fix​

  • Fixed an overlooked bug which caused 59.8261 FPS videos to be created as 60 FPS when the saved video info already exists.
 
Last edited by RocketRobz,
  • Like
Reactions: orangy57
v2.3.0: Now available on GBA!
v2.3.0: Now available on GBA!

Max quality (16BPP RGB565) video playing on mGBA
Max quality (16BPP RGB565) video playing on mGBA (with ags001/GBA SP shader applied)

What's new?​

  • Rocket Video Player has been ported over to the GameBoy Advance, bringing over the uncompressed video quality and the existing button controls as a result!
    • To use the GBA version, place `rvid.gba` in the same place as `Vid2RVID.exe`, then convert a video to get a new `.gba` file containing the video. Running the `rvid.gba` file by itself will only display a red/orange screen.
    • As the GBA ROM size limit is 32MB (without bank switching), you may not be able to play long videos.
    • Only 8-bit mono audio is supported.
    • Colors will display differently due to how the GBA screens display colors (see the above mGBA screenshot as a reference).
    • As the GBA version does not have a menu for browsing videos, pressing B will stop the video instead.
    • Refresh rate adjustment is not available.
  • DS(i): If the bottom screen is turned off after pressing SELECT, touching the screen will turn it back on.
  • DS(i): FIFO is now used instead of IPC Sync for playing sound.

Bug fix​

  • Fixed a possible bug which caused the top/bottom fields to be swapped in 25/50FPS videos when jumping forwards/backwards.



Vid2RVID v1.7

What's new?​

  • Video conversion speed has greatly improved by splitting between 8 threads! (ex. around 1hr -> 5 mins)
  • A long list of numbers is no longer printed out during conversion, and the current converted amount of frames is now updated. (A change which comes from the Linux port by @Inky1003.)
  • As the conversion speed has improved, you'll no longer be asked to compressed the video, as it'll be done automatically when possible.
  • Video files can now be created for the GameBoy Advance!
    • As the GBA ROM size limit is 32MB (without bank switching), you may not be able to convert long videos.
    • 8BPP videos above 30FPS will be interlaced, and 16BPP videos above 15FPS will be interlaced.
    • 8BPP videos which are 15FPS or less will be compressed to fit within the 32MB of ROM space.
    • Only 8-bit mono audio is supported. If 16-bit is selected, the audio will be downconverted to 8-bit.
    • Place Rocket Video Player v2.3.0 or later (named as `rvid.gba`) in the same location as `Vid2RVID.exe`, and you'll get a new `.gba` file containing the video after conversion.
    • Best results achieved under max. 32MB were (for examples) a 15FPS video which is a minute and around 30 seconds, and a 60FPS video under 30 seconds (both 8BPP and in 16:9).
  • Improved the selection menus by implementing the changes from the Linux port by @Inky1003.

Bug fixes​

  • If the video file becomes too big during conversion (limit being 16GB (20GB with sound) for DS(i), and 32MB for GBA), the process will now stop.
  • Videos containing a width that's less than the screen's will now be displayed properly after conversion.
 
Last edited by RocketRobz,
Vid2RVID v1.7.1

Bug fixes​

  • Fixed dual-screen videos displaying incorrect frames in between 8 split points. This bug was overlooked when improving the conversion speed.
  • Improved determination if 4:3 dual-screen videos should be compressed (ex. above 12FPS will prevent compression in order for Rocket Video Player to not slow down during frame loading).
 
  • Like
Reactions: Orioncle
Vid2RVID v1.7.2

Bug fix​

  • Fixed wrong interlaced field being set for each frame conversion thread, which occurred if the amount of video frames for each thread are unevenly split.
 
I needed to set up a RAM disk for DSMplay, as without it, it crashes if there's more than 512 files on the SD card.
The encoder also seems to only support AVI files (MKV did not work).

From what I could tell, the DSM video frames are 8BPP and uses non-temporal dithering (not sure which dithering pattern is used though), and the audio format is MP3.
Rocket Video supports both 8BPP and 16BPP video frames, and uses temporal dithering to make it look like more colors are on-screen, and RAW audio is used.

So to answer your question, yes, Rocket Video is better.
You'll get the best quality by using the 16BPP RGB565 option, where the file size will be larger than when using the 8BPP option and even the DSM files. (16BPP RGB555 will reduce the size a tiny bit depending on the content of the frames, with reduced green color range by 1 bit.)
With the 8BPP option, you should get a video file size around the same as a DSM file (if the video is 30FPS or less, and is either 16:9 or a wider aspect ratio).
 
Last edited by RocketRobz,
Hi, thanks so much for this!

I'm having a problem where the video stops a lot and i have to skip the video 5 seconds and press play again to make it continue. then it plays for a few seconds and pauses again. do you know what could be causing this?
 
Hi, thanks so much for this!

I'm having a problem where the video stops a lot and i have to skip the video 5 seconds and press play again to make it continue. then it plays for a few seconds and pauses again. do you know what could be causing this?
Are you using a flashcard? If so, which one?
 
<33 thanks!
 

Attachments

  • IMG_8801.jpeg
    IMG_8801.jpeg
    1.7 MB · Views: 2
  • IMG_8799.jpeg
    IMG_8799.jpeg
    1.7 MB · Views: 3
Please upload the .ini file from the frames containing the extracted video frames.
Also, what's the frame rate and resolution of the video (the latter from one of the extracted frames)?
i tried to upload it but cant on this thread, sent you a dm
Post automatically merged:

here it is as a zip!
Please upload the .ini file from the frames containing the extracted video frames.
Also, what's the frame rate and resolution of the video (the latter from one of the extracted frames)?
 

Attachments

Last edited by wetbog,
i tried to upload it but cant on this thread, sent you a dm
Post automatically merged:

here it is as a zip!
Try setting "BMP_MODE" to 0, then run Vid2RVID again. You should get a .rvid file at a reduced size (at the cost of color amount due to switching to 8BPP).
 

Site & Scene News

Popular threads in this forum