Core-2-Extreme / Video_player_for_3DS

Video player for 3ds
https://gbatemp.net/threads/release-video-player-for-3ds.586094
GNU General Public License v3.0
180 stars 17 forks source link

Cannot play long videos #41

Closed Gamer654 closed 2 years ago

Gamer654 commented 2 years ago

The video player works fine with videos that aren't too long, but there's one that I downloaded which is 51 minuets, and it can't open it and it gives me an error in message which is provided in the attachment. is there any way to fix this? 2022_02_03_22_51_35.txt

Core-2-Extreme commented 2 years ago

This error will occur if format is not supported or may occur if you run out of memory (in case of using old 3ds).

Tell me if you know : Video resolution Video codec Audio codec FIle extension

Gamer654 commented 2 years ago

I'm using my new nintendo 3ds xl, so I downloaded it from a video downloader website, the video should be in 480p, it's an mp4 file, it reads the other mp4 files just fine, but not this one for some reason, and I don't know how to check video and audio codec. @Core-2-Extreme

Core-2-Extreme commented 2 years ago

ok, download ffmpeg then run ffprobe -i [video_file_name] You should see something like : ...Stream #0:0(und): Video: h264 (High)... ...Stream #0:1(und): Audio: aac (LC)... In above case, video codec is h264 audio codec is aac. If you are not sure just paste the result here.

Gamer654 commented 2 years ago

ok, download ffmpeg then run ffprobe -i [video_file_name] You should see something like : ...Stream #0:0(und): Video: h264 (High)... ...Stream #0:1(und): Audio: aac (LC)... In above case, video codec is h264 audio codec is aac. If you are not sure just paste the result here.

@Core-2-Extreme ok, here's the result I got. screen shot

Core-2-Extreme commented 2 years ago

Hmm, it looks your video is different from regular video. Videos that I have say : Video: h264 (High) (avc1 / 0x31637661) Audio: aac (LC) (mp4a / 0x6134706D) Your video says : Video: h264 (High) ([27][0][0][0] / 0x001B) Audio: aac (LC) ([15][0][0][0] / 0x000F)

I don't know exactly what is different, but I think reencoding your video with ffmpeg -i [input] -acodec aac -vcodec libx264 -bf 0 -s [width]x[height] [output] will fix the problem.

Gamer654 commented 2 years ago

Hmm, it looks your video is different from regular video. Videos that I have say : Video: h264 (High) (avc1 / 0x31637661) Audio: aac (LC) (mp4a / 0x6134706D) Your video says : Video: h264 (High) ([27][0][0][0] / 0x001B) Audio: aac (LC) ([15][0][0][0] / 0x000F)

I don't know exactly what is different, but I think reencoding your video with ffmpeg -i [input] -acodec aac -vcodec libx264 -bf 0 -s [width]x[height] [output] will fix the problem.

@Core-2-Extreme can you show me how you run the command? I'm not sure if it's an error but it gave me: Unable to find a suitable output format for 'pipe: pipe:: Invalid argument

Core-2-Extreme commented 2 years ago

Rename your original video to video.mp4 then use ffmpeg -i video.mp4 -acodec aac -vcodec libx264 -bf 0 -s 800x240 video_out.mp4 video_out.mp4 will be created so play it on your 3DS.

TehFridge commented 2 years ago

I made a script that is supposed to make things easier, i hope it helps with your problem @Gamer654 https://github.com/JustScratchCoder/VideoPlayer3DS-DS-Assistant/releases/tag/1.1

Gamer654 commented 2 years ago

Rename your original video to video.mp4 then use ffmpeg -i video.mp4 -acodec aac -vcodec libx264 -bf 0 -s 800x240 video_out.mp4 video_out.mp4 will be created so play it on your 3DS.

@Core-2-Extreme I already figured it out, I just wasn't giving the output a name for the file, but it works, and I can watch it on my 3ds. thanks