I think the player can't play 3D videos encoded side by side, I must be dual channel (1 video track left eye, 2 video track right eye)
Does this mean that 800x240 videos play in 800px mode even if the 3D slider is off? (sorry if this is a dumb question)
No matter 3d slider is ON or OFF, you can still play 800px videos, but you just see lower quality images as screen resolution will be 400x240.you must have the 3d slider off when playing horihd videos (though it can be turned on if you have the display mode set to 800px manually instead of using auto)
Yes, currently, side by side 3D videos are not supported.I think the player can't play 3D videos encoded side by side, I must be dual channel (1 video track left eye, 2 video track right eye)
Your settings are frankly nonsensical. The 3DS has an 800x240 screen, so you should never encode at a resolution higher than that. All video sources already use 4:2:0 chroma subsampling, so converting to 4:4:4 is also nonsense.
This is true; however, I don't think it's the cause of your problems. It's very hard to see any difference with chroma subsampling, unless you're using synthetic images, e.g. with perfectly straight parallel lines one pixel apart. Chroma subsampling is extremely useful for live-action images, which is why it's always used by default. Your problems are more likely caused by a) using the ultrafast preset, which disables nearly every encoding option and will likely cause unnecesary artifacts, and b) using a constant bitrate. You should use CRF mode and let the encoder decide what bitrate is appropriate. Try the veryfast preset at RF 18 and see if you get better results, then compare 4:2:0 with 4:4:4. I highly doubt you'll be able to see any difference.I am not an expert on video encoding by any means, yet to my understanding a 1920x1080 video with 4:2:0 chroma contains 960x540 color data. When you re-encode such a video to yuv420p 800x226, that color data is compressed to just 400x113 despite there being enough color data in the original file to saturate 800x226 w/ full color 4:4:4 - leading to what is to my eye highly compressed jpg looking videos even when allocating like 12mbps (which should be complete overkill for 800x226).
Tried this out and this change helps a lot. Videos no longer look as bad as they did in my previous encodings @226p, tyyyyy.This is true; however, I don't think it's the cause of your problems. It's very hard to see any difference with chroma subsampling, unless you're using synthetic images, e.g. with perfectly straight parallel lines one pixel apart. Chroma subsampling is extremely useful for live-action images, which is why it's always used by default. Your problems are more likely caused by a) using the ultrafast preset, which disables nearly every encoding option and will likely cause unnecesary artifacts, and b) using a constant bitrate. You should use CRF mode and let the encoder decide what bitrate is appropriate. Try the veryfast preset at RF 18 and see if you get better results, then compare 4:2:0 with 4:4:4. I highly doubt you'll be able to see any difference.
For Old 3DS I used MPEG2 as the Video codec and MP2 for the Audioi was wondering how i can get videos to play smoothly on the video player i downloaded them in 360p but it's lagging pretty bad is there any solid and simple method to get smooth video playback
i am on the original 3ds
thanks
what could i change in ffmpeg commands to make it play smoother on OG 3DS models that have less processing power?NEW GUI CONVERTOR
3D conversion guide V2
i fully automated the command so you only need to change the INPUT and it will do everything else for you
if you have nvidia maxwell gpus or newer (+- GTX 960 and newer) you can use hardware acceleration version of commands to speed up the converting a lot.
replace the INPUT at the beggining with your movie file name. dont change ANYTHING else.
it will spit you out movie1.avi and movie2.avi
For videos and films longer than 1 hour and 30 minutes, use these commands:
Code:ffmpeg -i INPUT -vf scale=800:240:flags=neighbor scaled.mkv && ffmpeg -i scaled.mkv -filter_complex "split[l][r];[l]stereo3d=sbsl:ml[left];[r]stereo3d=sbsl:mr[right]" -map [left] -map 0:a -c:a copy left.mkv -map [right] -map 0:a -c:a copy right.mkv && mkdir 1 && mkdir 2 && ffmpeg -to 1:30:00 -i right.mkv -c:v copy -c:a copy .\1\right.mkv && ffmpeg -to 1:30:00 -i left.mkv -c:v copy -c:a copy .\1\left.mkv && ffmpeg -ss 1:30:00 -to 3:00:00 -i right.mkv -c:v copy -c:a copy .\2\right.mkv && ffmpeg -ss 1:30:00 -to 3:00:00 -i left.mkv -c:v copy -c:a copy .\2\left.mkv && ffmpeg -i .\1\left.mkv -i .\1\right.mkv -map 0:v:0 -map 0:a:0 -map 1:v:0 -vcodec mjpeg -b:v 3M -ac 2 movie1.avi && ffmpeg -i .\2\left.mkv -i .\2\right.mkv -map 0:v:0 -map 0:a:0 -map 1:v:0 -vcodec mjpeg -b:v 3M -ac 2 movie2.avi
Hardware accelerated version:
Code:ffmpeg -i INPUT -vf scale=800:240:flags=neighbor -c:v h264_nvenc -maxrate 100M -b:v 12M -minrate 6M scaled.mkv && ffmpeg -i scaled.mkv -filter_complex "split[l][r];[l]stereo3d=sbsl:ml[left];[r]stereo3d=sbsl:mr[right]" -map [left] -map 0:a -c:a copy -c:v h264_nvenc -maxrate 100M -b:v 12M -minrate 6M left.mkv -map [right] -map 0:a -c:a copy r-c:v h264_nvenc -maxrate 100M -b:v 12M -minrate 6M ight.mkv && mkdir 1 && mkdir 2 && ffmpeg -to 1:30:00 -i right.mkv -c:v copy -c:a copy .\1\right.mkv && ffmpeg -to 1:30:00 -i left.mkv -c:v copy -c:a copy .\1\left.mkv && ffmpeg -ss 1:30:00 -i right.mkv -c:v copy -c:a copy .\2\right.mkv && ffmpeg -ss 1:30:00 -i left.mkv -c:v copy -c:a copy .\2\left.mkv && ffmpeg -i .\1\left.mkv -i .\1\right.mkv -map 0:v:0 -map 0:a:0 -map 1:v:0 -vcodec mjpeg -b:v 3M -ac 2 movie1.avi && ffmpeg -i .\2\left.mkv -i .\2\right.mkv -map 0:v:0 -map 0:a:0 -map 1:v:0 -vcodec mjpeg -b:v 3M -ac 2 movie2.avi
if you have video shorter than 1 hour and 30 minutes use these commands
hardware accelerated version:Code:ffmpeg -i INPUT -vf scale=800:240:flags=neighbor scaled.mkv && ffmpeg -i scaled.mkv -filter_complex "split[l][r];[l]stereo3d=sbsl:ml[left];[r]stereo3d=sbsl:mr[right]" -map [left] -map 0:a -c:a copy left.mkv -map [right] -map 0:a -c:a copy right.mkv && ffmpeg -i left.mkv -i right.mkv -map 0:v:0 -map 0:a:0 -map 1:v:0 -vcodec mjpeg -b:v 3M -ac 2 movie.avi
Code:ffmpeg -i INPUT -vf scale=800:240:flags=neighbor -c:v h264_nvenc -maxrate 100M -b:v 12M -minrate 6M scaled.mkv && ffmpeg -i scaled.mkv -filter_complex "split[l][r];[l]stereo3d=sbsl:ml[left];[r]stereo3d=sbsl:mr[right]" -map [left] -map 0:a -c:a copy -c:v h264_nvenc -maxrate 100M -b:v 12M -minrate 6M left.mkv -map [right] -map 0:a -c:a copy -c:v h264_nvenc -maxrate 100M -b:v 12M -minrate 6M right.mkv && ffmpeg -i left.mkv -i right.mkv -map 0:v:0 -map 0:a:0 -map 1:v:0 -vcodec mjpeg -b:v 3M -ac 2 movie.avi
And if you wonder why it needs to be split in two, why not just lower the bitrate...
If you put the 3hour movie into the 4GB, it would look like this...
![]()
![]()
Nice JPEG ヾ(•ω•`)o
that why it needs to be split into two
if you have MacOS or Linux, you need to convert it manually
[/SPOILER]SPLITTING (skip if your movie is shorter than 1 hour and 30 minutes)
3DS uses Fat32 which has max 4GB file size. Avi needs at least 3Mb/s with the resolution that 3ds uses to look averagely good (6Mb/s with the 2 video tracks)
with that bitrate, it can fit only fit 1 hour and 30 minutes. but most movies are longer. so we need to split it. use these commands
Code:ffmpeg -to 1:30:00 -i YOURMOVIE -vf scale=852:240:flags=neighbor -c:a copy part1.mkv
Code:ffmpeg -ss 1:30:00 -i YOURMOVIE -vf scale=852:240:flags=neighbor -c:a copy part2.mkv
hardware accelerated version
Code:ffmpeg -to 1:30:00 -i YOURMOVIE -vf scale=852:240:flags=neighbor -c:a copy -c:v h264_nvenc -minrate 5M -b:v 12M -maxrate 100M part1.mkv
Code:ffmpeg -ss 1:30:00 -i YOURMOVIE -vf scale=852:240:flags=neighbor -c:a copy -c:v h264_nvenc -minrate 5M -b:v 12M -maxrate 100M part2.mkv
do the following commands to both parts of your movie
3d in video files is side by side in one video track. we first need to extract the 3D into two separate video track so we can convert it to the format that 3ds needs
select either the side by side command or top/bottom command based on your source video
side by side video:
open command prompt in the same directory as your media file, and copy the command, and change INPUT to your video files
![]()
hardware accelerated version:Code:ffmpeg -i INPUT -filter_complex "split[l][r];[l]stereo3d=sbsl:ml[left];[r]stereo3d=sbsl:mr[right]" -map [left] -map 0:a -c:a copy left.mkv -map [right] -map 0:a -c:a copy right.mkv
Code:ffmpeg -i INPUT -filter_complex "split[l][r];[l]stereo3d=sbsl:ml[left];[r]stereo3d=sbsl:mr[right]" -map [left] -map 0:a -c:a copy -c:v h264_nvenc -maxrate 100m -b:v 18m -minrate 10m left.mkv -map [right] -map 0:a -c:a copy -c:v h264_nvenc -maxrate 100m -b:v 18m -minrate 10m right.mkv
top/bottom video
![]()
We need to convert the top bottom video to side by side video
hardware accelerated version:Code:ffmpeg -i INPUT -vf stereo3d=abl:sbsl -c:a copy output.mp4
now you have side by side video. use the command in "side by side video" section to separate itCode:ffmpeg -i INPUT -vf stereo3d=abl:sbsl -c:a copy -c:v h264_nvenc -b:v 20m -maxrate 100m -minrate 10m output.mp4
now we have the separate left eye video track and right eye video track
The actual conversion
in this step, we take the left eye video and right eye video and put it into 1 file with two video tracks that the 3DS consumes
Code:ffmpeg -i left.mkv -i right.mkv -map 0:v:0 -map 0:a:0 -map 1:v:0 -vcodec mjpeg -s 426x240 -b:v 3M -ac 2 movie.avi
Copy the output file onto your SD card and play it
Cropping the leterboxing so its 16:10 and fill whole screen (OPTIONAL] (DONT DO THIS IF YOU ARE NOT WELL FAMILIAR WITH FFMPEG!)
the video will be stretched, but will fill the whole screen
first, export some frame from the left/right video. then open the frame with gimp (can be photoshop). select everything except the black borders
copy the information about the selection, and paste it into this command (replace out_x with the selection width, out_y with selection heigh, X and Y with the start position of the selection)(replace the LEFTRIGHTVIDEO with your source movie source):
follow the code in left/right video to separate the files into left right filesCode:ffmpeg -i LEFTRIGHTVIDEO -vf "crop=out_x:out_y:x:y:" crop.mp4
change the codec after -c:v to mpeg2what could i change in ffmpeg commands to make it play smoother on OG 3DS models that have less processing power?
Hello, I really appreciate the converter that you made, it did a great job, the only problem I'm having now is that the 3d videos I have been working on are a lil squished on the left and right side and the sound is out of sync, also certain videos pause and stop and it says "processing", otherwise the 3d looks fantastic, any tips you can give me would be appreciated. I'm hoping to get the videos to play as well as the .cia .moflex 3d videos on the clownsec site, those are truly amazing conversions.....change the codec after -c:v to mpeg2
alternatively use the GUI thats linked in the post you quoted and select MPEG2
View attachment 427931