Guide to making a video player using LPP-3ds (no lua knowledge required)

Discussion in '3DS - Tutorials' started by Ev1l0rd, Feb 3, 2016.

  1. Ev1l0rd
    OP

    Member Ev1l0rd ◥▷◁◤ Knight of Void

    Joined:
    Oct 26, 2015
    Messages:
    694
    Location:
    Land of Darkness and Bounty
    Country:
    Netherlands
    Average time required:
    Depends on the length and size of your mp4 video. All other steps take ~15 minutes to complete.

    Before asking about bugs, make sure to check the issues section first!

    Requirements:
    Step 1: Prepare your video.
    lpp-3ds uses the JPGV video format. At the time of writing this guide, the most recent tool available is JPGVthon.

    1. Download JPGVthon and extract it to a place where you can find it. (Note, JPGVthon has all it's important files at the root of the .zip file. Make sure to never extract to current directory, unless you want to mess up your downloads folder).
    2 Move the mp4 of the file you're trying to convert in the same folder you extract it to.
    3. Double click on jpgvthon.exe (you might need python here...)
    3.5. If you are on Windows 10, SmartScreen will block it. Click on more info and then "Run Anyway".
    4. In the CMD window that opens, enter the name of your input file '''including the .mp4 part!'''
    5. Next enter the name of your output file '''including the .jpgv part!''' (By default lpp-3ds looks for output.jpgv in the same directory as the 3dsx.)
    6. Next enter the framerate of your file. (See section 1.5 for details)
    7. If your video is smaller than 400x240 (unlikely), enter the correct resolution here. Otherwise, just press enter.
    8. If you didn't enter the resolution in the previous step you need to select the scaling (see section 1.5 for more details)
    9. Now enter the quality. 0 is for low-quality and 1 is for high quality. (see section 1.5 for more details)
    10. Now on the audio part of your video. First select wether you want mono or stereo. Mono is smaller in size. To select mono choose 1, and to select stereo choose 2.
    11. Now comes the samplerate. Just press enter here.
    12. Finally comes the codec. Enter 2 here and press enter.
    13. Wait until it's finished

    Step 1.5: Choice explanation
    Scaling
    If you enter 1, the video will be 'raw-scaled' meaning that the video will be stretched to fit if needed.

    If you enter 2, the video will keep it's aspect ratio. This may result in black bars around the screen, but will keep your video at a user friendly size.

    Quality
    The quality difference does matter! I converted a 10.6mb, 5:24 length, 25 fps, video to both high and low quality. These were the outcomes:

    High quality: 158mb
    Low quality: 49.9mb

    So yeah... think about the size for a second.

    Step 2: lpp-3ds (or: putting your video in the player.)
    1. Download the latest version of lpp-3ds and extract it somewhere where you can find it. (Note, lpp-3ds has all it's important files at the root of the .zip file. Make sure to never extract to current directory, unless you want to mess up your downloads folder).
    2. Go to lpp-3ds/Builds/Normal (unstable has no error reporting)
    3. Head over to this pastebin.
    4. Download the pastebin for index.lua and save it to the folder where lpp-3ds.3dsx and lpp-3ds.elf are located.
    5. Copy your JPGV from Step 1 to this folder.
    6. Now open up index.lua with a good texteditor (Anyone using MS Word for this step will be shot. Use MS Notepad if you absolutely have to. Notepad++ is even better)
    6.5. If your file isn't named output.jpgv, change it on line two. Do not remove any code before or after it!
    7. Also, download the pastebin for lpp-3ds.xml and save it to the folder where lpp-3ds.3dsx and lpp-3ds.elf are located.

    For HBC
    8. Create a SMDH file (or copy the existing SDMH file located in builds)
    9. Finally move your entire 'Normal' folder with the lpp-3ds.3dsx, index.lua, lpp-3ds.xml, lpp-3ds.smdh and your JPGV file to your SD card in the /3ds/ folder. You don't need to copy 3ds.elf.
    10. Rename your copied Normal folder to lpp-3ds to wrap it up.

    Step 3: Testing/Playing your videos
    1. Launch the HBC using whatever way you have. It can be anyway you prefer. Themehax or browserhax, it isn't important.
    2. If you used the existing SDMH file, it will be named Lua Player Plus. Otherwise it will be named to whatever you put in your SMDH file.
    3. Launch that app. Wait a few seconds... and... your video will start playing. Look at the controls appendix to figure those out.

    Appendix: Controls
    The default controls for when in the video player are:
    • A to exit
    • B to pause

    Appendix: Issues
    You forgot lpp-3ds.xml or named it lpp-3ds.xml.xml

    Windows hides known file extensions. Note that if you changed the folder name, you must change all the lpp-3ds files as well. That's just the way HBC works.

    This should not happen anymore. If it happens, make sure that JPGV is configured to draw from the top screen, and not the bottom.

    You uncommented the (currently non-functional) code for the Progress Bar. Comment it back. (comments are two dashes, like so -- .)

    Use a lower samplerate.

    By default the script looks for output.jpgv

    Have a look at http://gbatemp.net/threads/release-...-cia-videos-for-everyone.415708/#post-6095051. This guide only helps with creating it as a 3dsx.

    If you are on Windows, make sure that you didn't accidentically name it output.jpgv.jpgv. Windows hides known file extensions. Otherwise, open up index.lua and look for the name on line 2.

    Appendix: Reducing File Size
    If your file is too large, try to look at these things:
    • FPS is the big one. It's no use making a 30fps JPGV out of a 23fps MP4. Just set the FPS to 23 instead.
    • The quality is also important. For more, see step 1.5
    • Reduce the audio channels to mono instead of stereo.
    • Use a lower samplerate.

    Todo list
    Step 4: Customizing the player
    • Remap controls
    • Hiding elements

    If you noticed any spelling/grammar errors, please tell me so I can fix them.
     
    Last edited by Ev1l0rd, Feb 21, 2016
    Games&Stuff, Cosmic_Link and Ryccardo like this.


  2. Ev1l0rd
    OP

    Member Ev1l0rd ◥▷◁◤ Knight of Void

    Joined:
    Oct 26, 2015
    Messages:
    694
    Location:
    Land of Darkness and Bounty
    Country:
    Netherlands
    <RESERVED> (Yes I knew you were planning to say first!)
     
  3. Ripper00420

    Member Ripper00420 GBAtemp Advanced Fan

    Joined:
    Nov 5, 2013
    Messages:
    740
    Country:
    United States
    This is great news, and can't wait for CIA guide :)
     
    Ev1l0rd likes this.
  4. duffmmann

    Member duffmmann GBAtemp Addict

    Joined:
    Mar 11, 2009
    Messages:
    2,952
    Country:
    United States
    This is awesome, i look forward to packaging my favorite films available in 3D. Will start with Guardians of the Galaxy.
     
  5. Wolfy

    Member Wolfy Person That Never Was

    Joined:
    Aug 18, 2015
    Messages:
    531
    Location:
    Somewhere In The Aether...
    Country:
    United States
    Thanks for this, gonna try it out when I have the chance :D
     
  6. Ripper00420

    Member Ripper00420 GBAtemp Advanced Fan

    Joined:
    Nov 5, 2013
    Messages:
    740
    Country:
    United States
    By the way.... I can't even get started converting my video, because Windows 10 is giving me missing dll files and application launching errors....so until CIA or my new laptop gets here I'm boned bro. thanks for your great work man. I knew I shouldn't have tried to do this on a Surface 3 tablet...lol
     
  7. Ev1l0rd
    OP

    Member Ev1l0rd ◥▷◁◤ Knight of Void

    Joined:
    Oct 26, 2015
    Messages:
    694
    Location:
    Land of Darkness and Bounty
    Country:
    Netherlands
    Your film must be 2D. AFAIK there is still no way to display 3D videos using LPP-3DS.
    That's unfortunate. But... when I figure out the cia part JPGVthon is still required.
     
  8. Ripper00420

    Member Ripper00420 GBAtemp Advanced Fan

    Joined:
    Nov 5, 2013
    Messages:
    740
    Country:
    United States
    IDK then.... because almost all new PCs have Windows 10 now bro. If it can't be ran on Windows 10, then this was only a good wild idea.
    Most people use Windows, and if gets complicated for a descent user like me, then the rest a doomed. If anyone has a solution for these errors on Windows 10, please PM me or explain the process here so as to not leave anyone in the dark.
     
  9. Xen0

    Member Xen0 GBAtemp Fan

    Joined:
    Oct 8, 2015
    Messages:
    341
    Country:
    Germany
    So with this we can watch basicly watch every video in every lenght on the 3ds?
     
  10. Ev1l0rd
    OP

    Member Ev1l0rd ◥▷◁◤ Knight of Void

    Joined:
    Oct 26, 2015
    Messages:
    694
    Location:
    Land of Darkness and Bounty
    Country:
    Netherlands
    I tested it on Windows 10. The only issue I ran into was SmartScreen acting up. I also had python installed, so if it fails, install python 2.7.

    Yes... as long as it is in 2D. JPGVthon uses ffmpeg as a part of it's code so it should handle most formats just fine. (I only tested it with .m4v and .mp4, but any format should work).
     
    Last edited by Ev1l0rd, Feb 4, 2016 - Reason: Quote formatting went wrong.
  11. Ripper00420

    Member Ripper00420 GBAtemp Advanced Fan

    Joined:
    Nov 5, 2013
    Messages:
    740
    Country:
    United States
    I have python installed and the py file runs fine, it's the exe that errors and not because of SmartScreen(missing dll so I replaced file in system 32 and wow64 folder in Windows) . I use Python to make my cheat.plg files so... again IDK. SmartScreen doesn't even prompt, just missing files and launch errors. I will post exact error in a second, but I have stock Windows 10, and have had no problems running other video converters or any other py scripts....
     
    Last edited by Ripper00420, Feb 4, 2016
  12. Ripper00420

    Member Ripper00420 GBAtemp Advanced Fan

    Joined:
    Nov 5, 2013
    Messages:
    740
    Country:
    United States

    0xc000007b application was unable to start correctly. It did say missing msvcr100.dll, then I replaced and downloaded new then got the application error.
    also not heard a success story of this working yet, so it might not be just me bro.
     
    Last edited by Ripper00420, Feb 4, 2016
  13. Ev1l0rd
    OP

    Member Ev1l0rd ◥▷◁◤ Knight of Void

    Joined:
    Oct 26, 2015
    Messages:
    694
    Location:
    Land of Darkness and Bounty
    Country:
    Netherlands
    Could you try to install this for me and report back? https://www.microsoft.com/en-us/download/details.aspx?id=40784
     
    Ripper00420 likes this.
  14. Ripper00420

    Member Ripper00420 GBAtemp Advanced Fan

    Joined:
    Nov 5, 2013
    Messages:
    740
    Country:
    United States
    Last edited by Ripper00420, Feb 4, 2016
  15. Ev1l0rd
    OP

    Member Ev1l0rd ◥▷◁◤ Knight of Void

    Joined:
    Oct 26, 2015
    Messages:
    694
    Location:
    Land of Darkness and Bounty
    Country:
    Netherlands
  16. weatMod

    Member weatMod GBAtemp Advanced Maniac

    Joined:
    Aug 24, 2013
    Messages:
    1,841
    Country:
    United States
    windows 10 is a shit mess, i will NEVER use this botnet spyware crap
    i can't believe people are actually dumb enough to switch to this crap, i guess if you game on PC you kinda have to but you should have an alternative or something
    my friend just bought a new laptop with win 10 an asus i5 ,he asked me to help him because he could not even get it to open chrome
    i tried to uninstall it and download chrome through MSIE but it would not even download
    win 10 is like another vista
     
    Ripper00420 likes this.
  17. Ev1l0rd
    OP

    Member Ev1l0rd ◥▷◁◤ Knight of Void

    Joined:
    Oct 26, 2015
    Messages:
    694
    Location:
    Land of Darkness and Bounty
    Country:
    Netherlands
    Ever heard of linux? It's pretty good. Even for gaming. More and more game devs are realizing that cross-system compatibility is not an optional thing.
     
  18. weatMod

    Member weatMod GBAtemp Advanced Maniac

    Joined:
    Aug 24, 2013
    Messages:
    1,841
    Country:
    United States
    yes i have but i would not know which of the billioins of versions to use, also don't you need direct x for some games though?
     
  19. Ev1l0rd
    OP

    Member Ev1l0rd ◥▷◁◤ Knight of Void

    Joined:
    Oct 26, 2015
    Messages:
    694
    Location:
    Land of Darkness and Bounty
    Country:
    Netherlands
    I recommend Ubuntu to start with. It's perfect for newbies to linux and useful to those that know their way around linux already. As for DirectX... that is really dependant on the game. Some games (such as Terraria) have made a dedicated linux port and for everything else there is wine with varying degress of success. It beats windows 10 anyway.
     
    Ripper00420 and weatMod like this.
  20. Ripper00420

    Member Ripper00420 GBAtemp Advanced Fan

    Joined:
    Nov 5, 2013
    Messages:
    740
    Country:
    United States
    What's worse is that I'm waiting on my laptop to ship, and using Windows 10 on a surface 3 tablet that has PC Windows, but has to be the jankiest version of Windows I know of.
     

Share This Page