Homebrew WiiMC-SS - GameCube controller support and more

  • Thread starter Thread starter SuperrSonic
  • Start date Start date
  • Views Views 144,724
  • Replies Replies 335
  • Likes Likes 36
I know i keep saying this every few months? but, when will development of this app would return?

1.- Any way to reduce random DSi crashing even when nothing went overboard?
2.- Bilinear disabling perhaps?
3.- Image loading restoration?.................please?
 
  • Like
Reactions: splaca
A bit of further context about downscaling a 1080p file using this:

c:\ffmpeg\bin\ffmpeg.exe -i input.mp4 -acodec libmp3lame -qscale:a 4 -vcodec libx264 -profile:v main -crf 14 -maxrate 1600k -bufsize 2M -vf scale=720:576 output.mp4


This dynamically targets CRF 14 most of the time at a bit rate suitable for the SD interface's read speed. Some fast scenes will go up on CRF (lower quality), however, the subjective experience will be 576p video looking good and sounding OK.

When downscaling 1080p files, most of these are CRF 24 (lower quality, at about YouTube streaming quality). By targeting CRF 14 (better quality) when downscaling, ffmpeg will try to retain most of the quality from the source file.
 
Last edited by HandsomeJack,
  • Like
Reactions: Disorarara
I've been looking into directly ripping DVDs using ffmpeg, whilst combining the approach I suggest. It's essentially this (DVD Drive is X:\ ) :

c:\ffmpeg\bin\ffmpeg.exe -i x:\VIDEO_TS\VTS_02_1.VOB -acodec libmp3lame -qscale:a 4 -vcodec libx264 -profile:v main -crf 14 -maxrate 1600k -bufsize 2M -vf "scale=720:576,yadif=mode=2" output.mp4

What's different is needing to specify a VOB file and adding in the deinterlacing filter yadif=mode=2.

What's hassle is where you're ripping a DVD movie and need to know which VOB files to concatenate together to get the whole movie using the concat protocol:

ffmpeg -i "concat:VTS_01_1.VOB|VTS_01_2.VOB"

Again, you'll get way, way better results downscaling a 1080p file of the movie. This direct ripping of VOB files is mostly going to be for ripping TV series DVDs where they've put each episode into a single VOB file where it's easy to figure out which are the right VOB files to rip (per episode).
 
I've been looking into directly ripping DVDs using ffmpeg, whilst combining the approach I suggest. It's essentially this (DVD Drive is X:\ ) :

c:\ffmpeg\bin\ffmpeg.exe -i x:\VIDEO_TS\VTS_02_1.VOB -acodec libmp3lame -qscale:a 4 -vcodec libx264 -profile:v main -crf 14 -maxrate 1600k -bufsize 2M -vf "scale=720:576,yadif=mode=2" output.mp4

What's different is needing to specify a VOB file and adding in the deinterlacing filter yadif=mode=2.

What's hassle is where you're ripping a DVD movie and need to know which VOB files to concatenate together to get the whole movie using the concat protocol:

ffmpeg -i "concat:VTS_01_1.VOB|VTS_01_2.VOB"

Again, you'll get way, way better results downscaling a 1080p file of the movie. This direct ripping of VOB files is mostly going to be for ripping TV series DVDs where they've put each episode into a single VOB file where it's easy to figure out which are the right VOB files to rip (per episode).

What format would you recommend for burning to an actual disc?
 
What format would you recommend for burning to an actual disc?
Not sure.

https://www.wikihow.com/Burn-MP4-to-DVD
Post automatically merged:

There's an option to encode video using an average bit rate in Handbrake ('Avg bitrate' in the Video tab). Annoyingly, this is an average, as opposed to a maximum in ffmpeg.

I had a go at doing this at 1200K using the default software encoder and it doesn't work.

Interestingly, the AMD hardware encoder ('H.264 (AMD VCE)') does work at 1800 Avg Bitrate. Please note:

1. In your Preferences in Handbrake you need to have enabled the hardware encoder in Preferences, Video.
2. When selecting AMD VCE from the drop-down in the Video tab in Handbrake, it defaults to Baseline Encoder Profile. Select, Main, Auto.
3. Again, Audio needs to be MP3, Quality, 4.

The advantage of using the hardware encoder is it's very fast. Results still won't be as good as ffmpeg.
 
Last edited by HandsomeJack,
  • Like
Reactions: Disorarara
Just use the video converter called Handbrake.
The defaults in Handbrake cause frame drops in many videos when doing 576p (especially the CQ setting). This is from a previous post, where I worked out better settings. The two bits which matter are increasing CQ and using MP3 for audio. This accommodates the weak CPU on Wii.


"Preset: Very Fast 576p25

Summary tab: Under Format, select MKV.

Video tab: Select the hardware encoder (in my case H.264 (AMD VCE)). At Encoder Profile, select Main, 3.0. At Quality, move CQ to 24.

Audio tab: Codec as MP3, Quality, 4.

In the app, 'Skip Deblocking Filter' set to 'On'. Set 'Force 576p' to 'On'.

At these settings there may be a few frame drops here and there but not that many.

If you're having too many frame drops on a particular video, drop CQ to 26 and / or change to 'Very Fast 480p30'."
 
The defaults in Handbrake cause frame drops in many videos when doing 576p (especially the CQ setting). This is from a previous post, where I worked out better settings. The two bits which matter are increasing CQ and using MP3 for audio. This accommodates the weak CPU on Wii.


"Preset: Very Fast 576p25

Summary tab: Under Format, select MKV.

Video tab: Select the hardware encoder (in my case H.264 (AMD VCE)). At Encoder Profile, select Main, 3.0. At Quality, move CQ to 24.

Audio tab: Codec as MP3, Quality, 4.

In the app, 'Skip Deblocking Filter' set to 'On'. Set 'Force 576p' to 'On'.

At these settings there may be a few frame drops here and there but not that many.

If you're having too many frame drops on a particular video, drop CQ to 26 and / or change to 'Very Fast 480p30'."

I usually use lower settings anyway as most of the stuff I convert is from DVD. In particular I have converted most of the episodes of my personal DVD set of the First 100 episodes of SpongeBob and they work without issue using a video bitrate of less than 1000kbps and m4a audio at 128kbps or 160kbps.

Though when it comes to HD content (Blu-Ray movies dumped with my PS3 using multiMAN) it is best to avoid VFR as it causes stuttering even on more powerful hardware.
 
  • Like
Reactions: HandsomeJack
I usually use lower settings anyway as most of the stuff I convert is from DVD. In particular I have converted most of the episodes of my personal DVD set of the First 100 episodes of SpongeBob and they work without issue using a video bitrate of less than 1000kbps and m4a audio at 128kbps or 160kbps.

Though when it comes to HD content (Blu-Ray movies dumped with my PS3 using multiMAN) it is best to avoid VFR as it causes stuttering even on more powerful hardware.
Animation content is likely to rip from DVD without issue, especially if it's US DVDs being ripped to 720x480. It's just some content has trouble at 576p and moving the audio codec to MP3 frees up CPU.
 
OK, I've now done an objective comparison where I used JDownloader 2 to get the 1080p Gangnam Style video and converted it at three different 576p resolutions, using Xvid, H.264 Baseline, H.264 Main and H.264 High (12 files in total). All with the same MP3 audio (to reduce CPU usage compared to AAC). I have 'Skip Deblocking Filter' set to 'On' (as this does make a difference).

I tested on a Wii U in normal Wii mode (not overclocked). The Wii is set to output at 480p. On a Wii U this app will automatically switch to 576p if you select that setting and my TV reports the Wii U outputting 720x576.

The results:

- All Xvid files work flawlessly.
- All H.264 High Profile files drop frames. The higher the underlying resolution, the more horrible the frame drops, despite MP3 being used for the audio.
- 1024x576 for both Baseline and Main drop frames. Less bad but not good.
- 960x576 for Baseline didn't seem to have any dropped frames, however, Main does have dropped frames at 960x576 at a level of being horrible.
- At 720x576 Main Profile crosses the performance threshold of dropping few frames. Baseline is fine at 720x576.
- Xvid produces better image quality than Baseline, however, the file sizes are about double Baseline.
- The best compromise on file size versus quality is 720x576 Main Profile. About 40% of the file size of Xvid, less than Baseline.

The upshot is if you're not bothered about file sizes, go with Xvid. 720x576 Main Profile is likely to be useful for most purposes.

If you're new to ffmpeg, one of the advantages of it is if you have loads of files to convert you can create a batch file to bulk convert.

EDIT 1: Have discovered some input files need bit depth set to 8 bits which is achieved using the additional parameter -pix_fmt yuv420p

ffmpeg -i input.mkv -acodec libmp3lame -qscale:a 4 -vcodec libx264 -profile:v main -crf 24 -vf scale=720:576 -pix_fmt yuv420p output.mp4

For a typical movie, this will be about 300Mb per hour.

EDIT 2: Did more fine grained testing on what's the best video quality possible for Main Profile 720x576 without dropping frames. Frames start to drop at -crf 22. The optimal video setting is either -crf 24 or -crf 23. It's possible to improve audio quality with -qscale:a 2 without dropping frames. This will be quite good audio for the vast majority of TV / movie content. Again, think about the hardware constraints here in 'Budget Windows 98 PC from 1999' terms.

EDIT 3: I had a go at doing a very long movie at 576p on Main Profile. This app seems to have a scalability point where beyond a certain file size (somewhere over 1GB) or a movie length (over 3 hours) the app becomes non-responsive.

c:\ffmpeg\bin\ffmpeg.exe -i GGS.mp4 -acodec libmp3lame -qscale:a 4 -vcodec libxvid -qscale:v 4 -vf scale=1024:576 GGS-Xvid-MP3-1024.avi c:\ffmpeg\bin\ffmpeg.exe -i GGS.mp4 -acodec libmp3lame -qscale:a 4 -vcodec libxvid -qscale:v 4 -vf scale=960:576 GGS-Xvid-MP3-960.avi c:\ffmpeg\bin\ffmpeg.exe -i GGS.mp4 -acodec libmp3lame -qscale:a 4 -vcodec libxvid -qscale:v 4 -vf scale=720:576 GGS-Xvid-MP3-720.avi c:\ffmpeg\bin\ffmpeg.exe -i GGS.mp4 -acodec libmp3lame -qscale:a 4 -vcodec libx264 -profile:v baseline -crf 24 -vf scale=1024:576 GGS-Baseline-MP3-1024.mp4 c:\ffmpeg\bin\ffmpeg.exe -i GGS.mp4 -acodec libmp3lame -qscale:a 4 -vcodec libx264 -profile:v baseline -crf 24 -vf scale=960:576 GGS-Baseline-MP3-960.mp4 c:\ffmpeg\bin\ffmpeg.exe -i GGS.mp4 -acodec libmp3lame -qscale:a 4 -vcodec libx264 -profile:v baseline -crf 24 -vf scale=720:576 GGS-Baseline-MP3-720.mp4 c:\ffmpeg\bin\ffmpeg.exe -i GGS.mp4 -acodec libmp3lame -qscale:a 4 -vcodec libx264 -profile:v main -crf 24 -vf scale=1024:576 GGS-Main-MP3-1024.mp4 c:\ffmpeg\bin\ffmpeg.exe -i GGS.mp4 -acodec libmp3lame -qscale:a 4 -vcodec libx264 -profile:v main -crf 24 -vf scale=960:576 GGS-Main-MP3-960.mp4 c:\ffmpeg\bin\ffmpeg.exe -i GGS.mp4 -acodec libmp3lame -qscale:a 4 -vcodec libx264 -profile:v main -crf 24 -vf scale=720:576 GGS-Main-MP3-720.mp4 c:\ffmpeg\bin\ffmpeg.exe -i GGS.mp4 -acodec libmp3lame -qscale:a 4 -vcodec libx264 -profile:v high -crf 18 -vf scale=1024:576 GGS-High-MP3-1024.mp4 c:\ffmpeg\bin\ffmpeg.exe -i GGS.mp4 -acodec libmp3lame -qscale:a 4 -vcodec libx264 -profile:v high -crf 18 -vf scale=960:576 GGS-High-MP3-960.mp4 c:\ffmpeg\bin\ffmpeg.exe -i GGS.mp4 -acodec libmp3lame -qscale:a 4 -vcodec libx264 -profile:v high -crf 18 -vf scale=720:576 GGS-High-MP3-720.mp4

Lately I've been converting movies to play on the Wii and these commands have been extremely useful, although I have to say I haven't had much luck at all with 576p content and not dropping frames. I've found the most consistent baseline resolution to be 640x360 which is slightly less than professional mastered DVD quality but produces the smoothest playback with no frame dropping. Disabling the deblock filter also looks really bad imo and should be avoided if possible.

EDIT: I've found the Wii tops out at around 640x360 at 30fps without dropping frames, any higher FPS and it struggles. So if you really want to convert 60fps sources like sports recordings you have to drop it to 30.

I've also found that Mplayer CE is faster overall than WiiMC-SS although not by too much, if you're really struggling to squeeze every last bit of video player performance out of the Wii then Mplayer CE is better but it lacks many features of WiiMC-SS and is much more barebones over all.
 
Last edited by Disorarara,
Lately I've been converting movies to play on the Wii and these commands have been extremely useful, although I have to say I haven't had much luck at all with 576p content and not dropping frames. I've found the most consistent baseline resolution to be 640x360 which is slightly less than professional mastered DVD quality but produces the smoothest playback with no frame dropping. Disabling the deblock filter also looks really bad imo and should be avoided if possible.

EDIT: I've found the Wii tops out at around 640x360 at 30fps without dropping frames, any higher FPS and it struggles. So if you really want to convert 60fps sources like sports recordings you have to drop it to 30.

I've also found that Mplayer CE is faster overall than WiiMC-SS although not by too much, if you're really struggling to squeeze every last bit of video player performance out of the Wii then Mplayer CE is better but it lacks many features of WiiMC-SS and is much more barebones over all.
I found when experimenting with ffmpeg the single most important factor was the bit rate:

c:\ffmpeg\bin\ffmpeg.exe -i input.mp4 -acodec libmp3lame -qscale:a 4 -vcodec libx264 -profile:v main -crf 14 -maxrate 1600k -bufsize 2M -vf scale=720:576 output.mp4

The bit rate here is 1600K. It seems to be the case the limiting factor isn't the CPU on the Wii, it's transfer speeds on the SD card interface.
 
  • Like
Reactions: Disorarara
I found when experimenting with ffmpeg the single most important factor was the bit rate:

c:\ffmpeg\bin\ffmpeg.exe -i input.mp4 -acodec libmp3lame -qscale:a 4 -vcodec libx264 -profile:v main -crf 14 -maxrate 1600k -bufsize 2M -vf scale=720:576 output.mp4

The bit rate here is 1600K. It seems to be the case the limiting factor isn't the CPU on the Wii, it's transfer speeds on the SD card interface.

Do you think one could get better transfer speeds via USB or network streaming? Also I tried your settings out and I wasn't able to get a video that runs too good unless the deblock filter is disabled which isn't ideal since it doesn't look good at all. there's too many artifacts that are distracting despite being higher resolution. 576p really seems best left to overclocked vwii.

I've been using this ffmpeg command and for me at least it gives the best results across a variety of content

c:\ffmpeg\bin\ffmpeg.exe -i input.mp4 -acodec libmp3lame -qscale:a 4 -vcodec libx264 -profile:v main -crf 24 -filter:v scale=640:360 -pix_fmt yuv420p output.mp4

It isn't the highest possible resolution that the Wii can output but considering there isn't any hardware assisted video decoding that we can rely on I'd say it's pretty good still.

EDIT: crf 24 might be too low quality. The Wii doesn't seem to have any issues at all with playback at crf 14 at 640x360 in MPlayer CE (it does choke on WiiMC) although at such a low resolution you might be seeing diminishing returns in quality vs space saved.

EDIT 2: it seems like WiiMC will choke at around 1600kbps bitrate whereas MPlayer CE won't, just an interesting observation. MPlayer CE seems to be able to handle higher bitrate videos and therefore higher quality video files.
 
Last edited by Disorarara,
Do you think one could get better transfer speeds via USB or network streaming? Also I tried your settings out and I wasn't able to get a video that runs too good unless the deblock filter is disabled which isn't ideal since it doesn't look good at all. there's too many artifacts that are distracting despite being higher resolution. 576p really seems best left to overclocked vwii.

I've been using this ffmpeg command and for me at least it gives the best results across a variety of content



It isn't the highest possible resolution that the Wii can output but considering there isn't any hardware assisted video decoding that we can rely on I'd say it's pretty good still.

EDIT: crf 24 might be too low quality. The Wii doesn't seem to have any issues at all with playback at crf 14 at 640x360 in MPlayer CE (it does choke on WiiMC) although at such a low resolution you might be seeing diminishing returns in quality vs space saved.

EDIT 2: it seems like WiiMC will choke at around 1600kbps bitrate whereas MPlayer CE won't, just an interesting observation. MPlayer CE seems to be able to handle higher bitrate videos and therefore higher quality video files.
USB is likely to be faster, so higher bit rates are likely to work.

That's interesting about MPlayer CE. The performance problem in WiiMC is likely to I/O file handling code.

Based on tests I did there isn't a fundamental problem with the Wii CPU handling 576p video at low CRF. It can do it.
 
Last edited by HandsomeJack,
  • Like
Reactions: Disorarara

Site & Scene News

Popular threads in this forum