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

RocketVideoPlayer

RocketRobz

Stylish TWiLight Hero
OP
Developer
Joined
Oct 1, 2010
Messages
15,379
Trophies
2
Age
23
XP
18,361
Country
United States
NOTE: There are no plans on updating this.
Please use the MPEG4Player instead (included in TWiLight Menu++).​

Rocket Video Player logo.png
IMG_20190519_235944_994 (cropped and resized 2).png

After 9 years (as of this post) since the latest version of MoonShell released, the SD-compatible alternative to MoonShell is finally here!
Introducing the Rocket Video Player! It's the video player that plays video files with an extension called ".rvid", bringing you the ultimate in picture quality, thanks to it's lossless frame data.
If the video is uncompressed, you may need a big enough SD card.

Features
  • The same, but improved Rocket Video technology from TWiLight Menu++!
  • Console-based file browser to search for your .rvid file.
  • The video UI from the "DSi + Internet" app.
  • Support for videos up to 60FPS! (25-60FPS video requires the DS Memory Expansion Pak, or a DSi or 3DS with the app on the SD card.)
    .rvid size for those FPS is limited to 11MB (DSi) or 16MB (DSi) (not counting header and sound data, so if it has sound, it may still play).
  • Both progressive and interlaced video.
  • Audio up to 16khz. (If you we're expecting higher, sorry, it's the best the sound could get without slowing things down too much.)

Video UI Controls (touching works too!)
  • A: Play/Pause
  • B: Exit video
  • Left: Jump back to beginning

Downloads
  • Vid2RVID: Video to .rvid converter (Available for both Windows PC and DS/DSi. One is faster, and the other is slower. :P )
  • Rocket Video Player: Requires either nds-hb-menu or TWiLight Menu++ to use this

Known bugs
  • Audio will desync after a few minutes.
    Likely due to the player processing the videos at 24 FPS, instead of 23.976 FPS.
  • The video will freeze from time to time. You'll have to close the lid and open it again, to resume playback.

Integrating to TWiLight Menu++
  1. Place the app .nds in "sd:/_nds/TWiLightMenu/apps/".
  2. Launch any .rvid file in TWiLight Menu++.

Converting a video to .rvid

Preparation
  1. Download Vid2RVID above.
  2. Download an earlier build of VirtualDub2.
  3. Download and install Audacity.
  4. PC: Create a folder called "rvidFrames" in the same directory as "Vid2RVID.exe".
    DS/DSi: Create a folder called "rvidFrames" on the SD root.
Converting the sound (If your video has audio)
  1. Open Audacity.
  2. Click File->Open...
  3. Search for the video file, and open it.
  4. Click Tracks->Stereo Track to Mono
  5. Set Project Rate to 8000hz, 11025hz, or 16000hz.
  6. Click File->Export Audio...
  7. Go to the "rvidFrames" folder.
  8. Set filename to "sound.raw.pcm".
  9. Set "Save as type" to "Other uncompressed files".
  10. Under "Format Options", set header to "RAW (header-less)", and encoding to "Signed 16-bit PCM".
  11. Click "OK" on the remaining windows. If there is metadata visible, click "Clear".
  12. Since Audacity has added ".aiff" or whatever the extension is, to the end of "sound.raw.pcm", you'll need to remove that.
    If you only see "sound.raw.pcm", make sure that file extensions are set to be shown.
Extracting the video frames
  1. Open VirtualDub2.
  2. Click File->Open video file...
  3. Search for the video file, and open it.
  4. Click Video->Filters...
  5. Click Add...
  6. Search for "resize", and click on it.
  7. Click "OK".
  8. Under "New size", change the top-left number to "256".
  9. Under "Codec-friendly sizing", click "Multiples of 2".
  10. (Optional) If you still notice any blockiness after resizing, then download and use a de-blocking filter.
  11. If you want interlaced video (a way of increasing the frame rate), add the "interlaced" filter, and set it to "Even fields first".
  12. Click Video->Frame Rate...
  13. If the frame rate is shown as "current: 23.????", then under "Frame rate conversion", click "Convert to fps", and type in "24".
    If the frame rate is above "24.????", or if the resulting .rvid lags, then under "Frame rate conversion", click "Convert to fps", and type in "24", "15", or "10".
  14. Click File->Export->Image sequence...
  15. Set the exact following in this screenshot:
    vDub export settings.png
    and click "..." to find the "rvidFrames" folder.
  16. Click "OK" to export the frames.
Making the .rvid file
  1. Open a text editor.
  2. Type in [RVID], then press Enter.
  3. Type in the following:
    FRAMES = (Number shown on .png of last frame) (Example result: FRAMES = 1000)
    FPS = (The frame rate number you're using) (Example result: FPS = 24) (NOTE: FPS will be doubled by the player, if video is interlaced)
    V_RES = (The vertical resolution of the .png) (Example result: V_RES = 144)
  4. Save as "info.ini" in the "rvidFrames" folder.
  5. Open "Vid2RVID.exe", or if on the DS console, "Vid2RVID.nds".
  6. Press "A" to start the conversion.
  7. If "sound.raw.pcm" is found in "rvidFrames", you'll be asked what sample rate the sound is.
    Go for the project rate you used in Audacity.
  8. You're done! Rename "new.rvid" to a new filename with ".rvid" at the end, then copy it to your SD card to play in the Rocket Video Player!

Credits
  • Drenn: GameYob's .bmp renderer.
  • devkitPro: nds-hb-menu's file browsing code, and the use of devkitPro, devkitARM, libnds, and libfat.
  • chyyran: Sound streaming code used in TWiLight Menu++.

FAQs

Q: Does this work on a flashcard?
A: Yes.

Q: Will this ever read long progressive 25-60FPS videos?
A: Sadly, no. Too much for the hardware to handle.
 
Last edited by RocketRobz,

PRAGMA

Well-Known Member
Member
Joined
Dec 29, 2015
Messages
2,203
Trophies
1
Location
127.0.0.1
Website
pragma.pw
XP
4,801
Country
Ireland
ISL0QV9.jpg


This is my Pokemon S10 E01 1080p Remaster file converted to RVID playing on Rocket Video Player, it's 24000/1000 (24FPS), 256x192 (192p 4:3), just about 3GB filesize (.rvid file) and around 32k frames.
It does also have audio but the video does lag on my DSi LL (XL). It's running through TwilightMenu++ DSi Theme and doesnt have any of the Memory Expansion stuff.
 
Last edited by PRAGMA,

Alexander1970

XP not matters.
Member
Joined
Nov 8, 2018
Messages
14,607
Trophies
3
Age
52
Location
Austria
XP
919
Country
Austria
After 9 years (as of this post) since the latest version of MoonShell released, the SD-compatible alternative to MoonShell is finally here!

@Robz8 Do you have a normal life at all ? :P
Now you can be sure that you have none left.....only until Rocket player supports 7.1 sound and 4k with 3D.:rofl2:

Thank you for this great Application.
Finally i can watch ALL Lord of the Ring & The Hobbit extended movies on my DSi.

NINTENDO-DSI-XhhgghghgL-NITNENDO-DSI-XL-E45364-0(1).jpg


Great work,my tireless and magnificient friend.:bow:
 

RocketRobz

Stylish TWiLight Hero
OP
Developer
Joined
Oct 1, 2010
Messages
15,379
Trophies
2
Age
23
XP
18,361
Country
United States
Updated the VirualDub2 link to point to an earlier build.
If you're not getting the "frame0.png" filename, and instead shows more then one "0", please download the earlier build from the first post.
 
Last edited by RocketRobz,
  • Like
Reactions: Alexander1970

leo82309

Member
Newcomer
Joined
Sep 10, 2010
Messages
6
Trophies
0
XP
93
Country
United States
Looks great on flashcard (acekard 2i) and nds-bootstrap but I'm having a weird de-sync between the video and audio as the video progresses. I'll have to try a couple more videos but it seems to become noticeable around the 2 minute mark. Other than that I can't seem to get the prompt for compression on Vid2RVID v1.1 in windows. Great little app though, looking forward to your work on it.
 
  • Like
Reactions: Tarmfot

leo82309

Member
Newcomer
Joined
Sep 10, 2010
Messages
6
Trophies
0
XP
93
Country
United States
To help with the conversion process, you can use ffmpeg to convert frames and audio. Hope this is helpful.

Audio (16000hz):
ffmpeg -i video.mp4 -ac 1 -ar 16000 -f s16le -acodec pcm_s16le "sound.raw.pcm"

Video to PNG:
ffmpeg -i video.mp4 -r 24 -s 256x144 -start_number 0 frame%00d.png

My info.ini
[RVID]
FRAMES =[frame count]
FPS = 24
V_RES = 144
 
  • Like
Reactions: cimo95 and chronoss

RocketRobz

Stylish TWiLight Hero
OP
Developer
Joined
Oct 1, 2010
Messages
15,379
Trophies
2
Age
23
XP
18,361
Country
United States
Looks great on flashcard (acekard 2i) and nds-bootstrap but I'm having a weird de-sync between the video and audio as the video progresses. I'll have to try a couple more videos but it seems to become noticeable around the 2 minute mark. Other than that I can't seem to get the prompt for compression on Vid2RVID v1.1 in windows. Great little app though, looking forward to your work on it.
This app isn't booted by nds-bootstrap. It's booted by whatever app that can boot modern DS(i) homebrew, which in your case, is TWiLight Menu++.
 
  • Like
Reactions: Alexander1970

leo82309

Member
Newcomer
Joined
Sep 10, 2010
Messages
6
Trophies
0
XP
93
Country
United States
This app isn't booted by nds-bootstrap. It's booted by whatever app that can boot modern DS(i) homebrew, which in your case, is TWiLight Menu++.
Oh really, That's nice. Didn't know TWiLight Menu could do that on 3DS. Shows me my inexperience with it.
 
Last edited by leo82309,
General chit-chat
Help Users
  • No one is chatting at the moment.
  • Dark_Phoras @ Dark_Phoras:
    The younger generation uses mostly TikTok and YouTube, some Instagram. It seems like they don't care so much about social profiles.
    Gift
  • KenniesNewName @ KenniesNewName:
    I just keep it for worthless friends and families that don't do nothing
    Gift
  • Dark_Phoras @ Dark_Phoras:
    I have no idea what's happening with all my friends from other places
    Gift
  • KenniesNewName @ KenniesNewName:
    It's weird people in their mid 50s-20s seems to like social media more than TikTok and YouTube
    Gift
  • KenniesNewName @ KenniesNewName:
    Unless they get paid to upload videos
    Gift
  • Dark_Phoras @ Dark_Phoras:
    I used TikTok a couple of days and got tired
    Gift
  • Dark_Phoras @ Dark_Phoras:
    But it's still better than Facebook
    Gift
  • KenniesNewName @ KenniesNewName:
    One dude here swore I was trolling him on twitch and I never even used it
    Gift
  • Dark_Phoras @ Dark_Phoras:
    But that's a thing with social media; it creates an illusion of proximity, when in truth everyone is overwhelmed with all the information and all the social demands in the platforms
    Gift
  • Dark_Phoras @ Dark_Phoras:
    And a lot of people are addicted to the phone, checking social media or talking with someone. Some exercise in the gym while being glued to the phone, not even activity takes them away from it
    Gift
  • Dark_Phoras @ Dark_Phoras:
    And I was like that too, until I left social media. Now sometimes I'm grabbing my phone, opening the browser and thinking: I've seen everything I wanted to see, I don't have a reason to use the phone. And I put it down
    Gift
  • KenniesNewName @ KenniesNewName:
    I'd rather look at my phone than sit at a computer 24/7
    Gift
  • KenniesNewName @ KenniesNewName:
    Funnily when I'm out I hardly use my phone other than checking a message here and there
    Gift
  • KenniesNewName @ KenniesNewName:
    I'm mostly too busy making sure my neighbor doesn't get himself arrested
    Gift
  • Dark_Phoras @ Dark_Phoras:
    This evening two guys were speeding head first into my car in these:
    bolt-announces-a-custom-built-scooter-model-2-1024x536.jpg
    Gift
  • Dark_Phoras @ Dark_Phoras:
    I didn't make case, I made my manoeuver to park the car. But I caught them off-guard, the one ahead hit the brakes and had to jump from the scooter. For a second I thought he would go against the car. They were trying to race through a gap they perceived, thinking I was going to always drive forward
    Gift
  • Dark_Phoras @ Dark_Phoras:
    I guess they learned a valuable lesson, don't assume that real roads are a playground
    Gift
  • KenniesNewName @ KenniesNewName:
    I had a woman walk in the middle of the intersection once I was debating on flooring it
    Gift
  • Dark_Phoras @ Dark_Phoras:
    In those cases I honk
    Gift
  • KenniesNewName @ KenniesNewName:
    I need to get my uncle to install a cow horn
    Gift
  • Dark_Phoras @ Dark_Phoras:
    Those scooters go 40km/h, and the kids were riding them with no helmets
    Gift
  • Dark_Phoras @ Dark_Phoras:
    And trying to make for the gap like they're Millennium Falcon
    Gift
  • KenniesNewName @ KenniesNewName:
    Annoying can't find any type c to usb adapters in my place at least they're like $3
    Gift
  • KenniesNewName @ KenniesNewName:
    Sweet found one installing emudeck
    Gift
  • KenniesNewName @ KenniesNewName:
    Lol stupid ips is blocking rom sites time for a vpn
    Gift
    KenniesNewName @ KenniesNewName: Lol stupid ips is blocking rom sites time for a vpn