Homebrew [WIP] JPGVthon - Reworked JPGV encoder.

Status
Not open for further replies.

Insidious611

Well-Known Member
OP
Member
Joined
Oct 23, 2010
Messages
167
Trophies
1
XP
343
Country
United States
This is the main thread for Project JPGVthon, my reworked encoder for Rinnegatamante's "JPGV" video format, part of the lpp-3ds project and as featured in ORGANIZ3D and Sunshell.

Version Beta 1.1 has been officially released: http://www.somebodyelsesproblem.org/jpgvthon.rar
If the above link is currently down, please try http://ash.somebodyelsesproblem.org/jpgvthon.rar

Scroll to the bottom for the TL;DR version. :P

I was unhappy with the lack of feedback when the encoder crashes, as well as what I felt were some lacking features and some design missteps in the current "vid2jpgv". This is not a criticism of Rinnegatamante's work, as he admits himself that it was made quickly and unsafely.

One of the most notable new features of JPGVthon is that it can scale your videos for the 3DS screen without distorting the aspect ratio. It does this using a special scaling-and-padding filter algorithm for ffmpeg.*

JPGVthon does not use any BAT files or anything, it's mostly self-contained, though it still calls ffmpeg.exe (which will still be packaged with it) to do the video dirty work. JPGVthon can be run in an interactive mode that will feel familiar to anyone who's run the vid2jpgv batch file, or it can be fed all the necessary parameters on a single command line and run non-interactively. I intend to use the latter functionality as the backend for a GUI version some time later.

Currently, JPGVthon appears to be creating working JPGV files with OGG Vorbis audio, but files with PCM16 audio seem to be slightly broken as of yet, so until I've figured that one out (or given up, I mean, Vorbis should be good enough honestly), it won't be ready to be released to the public.

The name is because it's a JPGV encoder written in Python. No worries for people who can't figure out how to install a Python interpreter, the final product will be an EXE file you can run just like any other.

I honestly feel like JPGV is a tad underappreciated. As a 2DS owner, being able to play real time video, even if it is at low qualities and large file sizes, is pretty neat. So I'm hoping having an easier way to convert your video to JPGV might make people more interested in it.

*I can't take credit for the ffmpeg scale-and-pad algorithm, I took it from http://superuser.com/questions/5472...ffmpeg-avconv-to-fit-into-static-sized-player and reworked it.

TL;DR Version: I created a better JPGV converter so you can more easily watch videos on your 3DS. It will be coming out once I've fixed some shit.
 
Last edited by Insidious611,

Insidious611

Well-Known Member
OP
Member
Joined
Oct 23, 2010
Messages
167
Trophies
1
XP
343
Country
United States
Just so we've got a baseline for where I'm at ATM, here's a quote of the last post re: the current status that I made in the ORGANIZ3D thread:

Okay, so far test results for the new jpgv encoder are that anything with OGG audio is working fine, but things I've done with PCM16 audio crash after 4-5 seconds, freezing the video but with that same 4-5 seconds of audio playing on loop.

Running the old encoder (the BAT-and-C based one) with the exact same settings produces a file that's exactly 4 bytes smaller? But they exhibit the exact same problem, where they crash with repeating audio after about 4-5 seconds. I'll have to give it a further look. I'll be making another thread about this JPGV converter project so as to stop gunking up this one. :P
 
  • Like
Reactions: I pwned U!

Insidious611

Well-Known Member
OP
Member
Joined
Oct 23, 2010
Messages
167
Trophies
1
XP
343
Country
United States
Okay so I figured out what was making the file 4 bytes larger, I missed a bit when reading through the code of the original where after figuring out the WAV data chunk 4 bytes is added to the start address before pulling the chunk into the buffer. I don't expect this will *fix* the PCM16 code as even PCM16-based files created by the current encoder from Rinnegatamante exhibit the same issue for me, but if I can at least be producing identical files then I can be sure it's not an issue on my end.

EDIT: WOOT! The old jpgv_encode and my new program are now producing identical files for both PCM16 and OGG given the exact same inputs. Any remaining issues should be down to implementation or format problems, neither of which I can really help with atm (not yet set up for debugging on a 3DS). Expect a release Soon(TM).
 
Last edited by Insidious611,
  • Like
Reactions: I pwned U!

Insidious611

Well-Known Member
OP
Member
Joined
Oct 23, 2010
Messages
167
Trophies
1
XP
343
Country
United States
It means you can make them more easily, and you can make them with the right aspect ratio while still using all 400x240 of the 3DS's screen. Quality should be pretty much the same.

And we've just had our first release! See the link at the top of the thread. Mods, can we change the title to [RELEASE] instead of [WIP]? No idea how to (if I even can) do it myself.
 

Insidious611

Well-Known Member
OP
Member
Joined
Oct 23, 2010
Messages
167
Trophies
1
XP
343
Country
United States
Silly bug in the first release. Updated. If you downloaded it in the like, less than 10 minutes between release and now, redownload.
 
  • Like
Reactions: I pwned U!

Insidious611

Well-Known Member
OP
Member
Joined
Oct 23, 2010
Messages
167
Trophies
1
XP
343
Country
United States
Err, it outputs the file to... where you told it to output the file to?

One of the questions is "output file name"...

Assuming you didn't give a path, it'll be the current directory.

Temporary working files are output to a "temp" subdirectory under the main directory, which is what you'll get before it muxes the final product.
 
Last edited by Insidious611,

Insidious611

Well-Known Member
OP
Member
Joined
Oct 23, 2010
Messages
167
Trophies
1
XP
343
Country
United States
No, I've successfully converted an entire anime episode (using the low quality settings, it took up about 250 MB). After a while it had some audio sync issues, but that's down to the player afaict, which I'm not responsible for.
 

raystriker

The powers that be
Member
Joined
Dec 28, 2011
Messages
1,528
Trophies
1
XP
2,607
Country
India
Just tried this out. A 60mb 720p h.264 anime file gets converted to a 650mb jpgv file....As there any way to encode the files to a smaller file size?
 

Rinnegatamante

Well-Known Member
Member
Joined
Nov 24, 2014
Messages
3,162
Trophies
2
Age
29
Location
Bologna
Website
rinnegatamante.it
XP
4,857
Country
Italy
Just tried this out. A 60mb 720p h.264 anime file gets converted to a 650mb jpgv file....As there any way to encode the files to a smaller file size?

First of all, properly encode in 3ds screen resolution.
Use 24.000 HZ as samplerate with Vorbis as audiocodec.
Also don't use 30 FPS (animes are 23 fps so it's useless you encode it as 30 fps) to save more space.
 

Insidious611

Well-Known Member
OP
Member
Joined
Oct 23, 2010
Messages
167
Trophies
1
XP
343
Country
United States
Plus it won't play very well at high framerates (and by high I mean >25FPS) either. I've noticed audio desync/looping as well as the expected chugging when playing higher framerates.
 

Rinnegatamante

Well-Known Member
Member
Joined
Nov 24, 2014
Messages
3,162
Trophies
2
Age
29
Location
Bologna
Website
rinnegatamante.it
XP
4,857
Country
Italy
Plus it won't play very well at high framerates (and by high I mean >25FPS) either. I've noticed audio desync/looping as well as the expected chugging when playing higher framerates.

It depends on how you reproduce it. On an N3DS with 804 MHZ Mode it should run very smooth also with 30 FPS ( http://rinnegatamante.it/O3DSvsN3DS.mp4 this is encoded in 30 FPS for example).
 

Ripper00420

Well-Known Member
Member
Joined
Nov 5, 2013
Messages
740
Trophies
0
Age
41
XP
453
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.
 
  • Like
Reactions: A_Random_Guy
Status
Not open for further replies.

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    Sonic Angel Knight @ Sonic Angel Knight: :ninja: