Homebrew [Release] Video Channels Creator - Custom CIA videos for everyone!

Ev1l0rd

(⌐◥▶◀◤) girl - noirscape
Member
Joined
Oct 26, 2015
Messages
2,004
Trophies
1
Location
Site 19
Website
catgirlsin.space
XP
3,441
Country
Netherlands
Too bad OP wont swap to making his homebrew play another format like MP4.

look at this file size lul (can make it smaller but then quality would take a hit)

and heres the potential of running it through an actual video conversion not OPs shitting JPG making resize script. (btw still worse quality than the MP4) screenshots dont show blocking in scenes


Too bad MJPEG avi doesnt support 2pass encoding VBR/CRF
You're starting to become annoying. If you think you can do this better, do it and show us an example of an mp4 player on a 3ds+tell us how you did it. Rinnegatamante probably has his reasons for not using mp4 and using JPGV instead.
 

izy

Advanced Tech Pleb
Member
Joined
Sep 17, 2010
Messages
2,311
Trophies
2
XP
4,000
Country
United Kingdom
You're starting to become annoying. If you think you can do this better, do it and show us an example of an mp4 player on a 3ds+tell us how you did it. Rinnegatamante probably has his reasons for not using mp4 and using JPGV instead.

You mean like https://github.com/Lectem/3Damnesic

https://gbatemp.net/threads/release-3damnesic-a-poc-video-player.396184/

Problem is devs are focusing on useless stuff like JPGV when theres is stuff like above

  • MPEG4, H.264
  • Hardware acceleration with Y2R for YUV -> RGB conversions

  • 400x240 mpeg4 -> 37fps
  • 400x240 h264 -> 16fps
The new3ds is way faster


Videos up to 1024x1024 are supported (but eh, that won't run fullspeed you know)

  • Actually only if width < 800 if you set up the framebuffers to be using RGBA
Prefer simple MPEG4 to H.264 ! (H.264 is ~4 times slower)

But hey we his PoC is 6 months old and practically untouched but its miles ahead, now imagine what it would be like with an optimized code.

Like i said we have ARM cpus at least one guy is compiling FFMPEG for it.

But hey gotta give this thread more focus, its going places.
 

Rinnegatamante

Well-Known Member
OP
Member
Joined
Nov 24, 2014
Messages
3,162
Trophies
2
Age
29
Location
Bologna
Website
rinnegatamante.it
XP
4,857
Country
Italy
Hey Rinnegatamante thanks for this is awesome!

I'm porting this to mac (almost done) but can you tell me what exactly is hex_set.exe?

Thanks!

hex_set just make a little change through a simple fopen / fwrite / fclose in binary mode to change unique_id in cia_workaround.rsf file ;)
 

Ev1l0rd

(⌐◥▶◀◤) girl - noirscape
Member
Joined
Oct 26, 2015
Messages
2,004
Trophies
1
Location
Site 19
Website
catgirlsin.space
XP
3,441
Country
Netherlands
You mean like https://github.com/Lectem/3Damnesic

https://gbatemp.net/threads/release-3damnesic-a-poc-video-player.396184/

Problem is devs are focusing on useless stuff like JPGV when theres is stuff like above



But hey we his PoC is 6 months old and practically untouched but its miles ahead, now imagine what it would be like with an optimized code.

Like i said we have ARM cpus at least one guy is compiling FFMPEG for it.

But hey gotta give this thread more focus, its going places.
3DAmnesic is still under development. JPGV is more stable and older than what 3DAmnesic is right now. That's because it's been around for quite a while (longer than 3damnesic) and uses an engine that is probably the most popular homebrew development... thingy for the 3ds.
 

izy

Advanced Tech Pleb
Member
Joined
Sep 17, 2010
Messages
2,311
Trophies
2
XP
4,000
Country
United Kingdom
3DAmnesic is still under development. JPGV is more stable and older than what 3DAmnesic is right now. That's because it's been around for quite a while (longer than 3damnesic) and uses an engine that is probably the most popular homebrew development... thingy for the 3ds.
Uses an engine MJPEG has been around since the 90s yeah its more stable because it literally is just playing JPG images at a set framerate aka its a fast slideshow. Literally any device that can view a JPG image.

Technology improvements can be found in the designs of H.263v2 Annex I and MPEG-4 Part 2, that use frequency-domain prediction of transform coefficient values, and in H.264/MPEG-4 AVC, that use spatial prediction and adaptive transform block size techniques. There are also more sophisticated entropy coding than what was practical when the first JPEG design was developed. All of these new developments make M-JPEG an inefficient recording mechanism.

also JPGV isnt even a real format its Just a roundabout way to create a MJPG file by extracting all the frames froma video with FFMPEG and Batch resizing them (isnt optimal at all)

Doesnt help that Dev doesnt know how video encoding works in the first place, " Converting anime results in lower framerates and 29fps is the video standard" lolwut

Also this line transpose=1" -s 240x400

I like how it takes in input resolution and outputs it resized sideways lol (3ds is 400x240) which makes no sense as it will have to output as 400x240 anyway unless he has some how encoded his app to decode it like this (dafuq?)

c2a8d2c46f95cf7e8eb956b473fd2f80.png
 

olizbu

Member
Newcomer
Joined
Feb 22, 2016
Messages
5
Trophies
0
Age
25
XP
84
Country
Colombia
hex_set just make a little change through a simple fopen / fwrite / fclose in binary mode to change unique_id in cia_workaround.rsf file ;)
Ok, thanks :D

So here is a mac version of Video Channels Creator

To run it you will need to install ffmpeg
First install Hombrew (http://brew.sh/)
Once Hombrew is installed run this command to install ffmpeg
brew reinstall ffmpeg --with-libvorbis

Download: https://mega.nz/#!BtcGwRKT!sC9xfVZDfbE_LDtoDXCwH3yO0gi7Fbz4KCCB5TVh6dQ

Then simply follow the same instructions but instead of the build.bat run the build.py (from a terminal: "python build.py")
 

sweis12

Well-Known Member
Member
Joined
Oct 20, 2013
Messages
1,248
Trophies
0
Age
32
XP
1,368
Country
Saint Kitts and Nevis
One small thing you might want to look into.
If you close the screen while the video app is open, it black screens the console.
 

sweis12

Well-Known Member
Member
Joined
Oct 20, 2013
Messages
1,248
Trophies
0
Age
32
XP
1,368
Country
Saint Kitts and Nevis
Anyone can help with this error?

Building cia file...
[NCCH ERROR] Failed to open banner file '../tmp/banner.bin'
[NCCH ERROR] NCCH Build Process Failed
[RESULT] Failed to build outfile

Edit:
It seemed to be an issue in my audio.wav file because switching that back to the default seemed to fix the issue.
Its odd though because it was less than 3 seconds :unsure:
 
Last edited by sweis12,

Damin72

Well-Known Member
Member
Joined
Aug 17, 2015
Messages
284
Trophies
0
Age
27
XP
1,735
Country
Russia
After i rip from the bat-file part "Create banner..." And make this banner and icon manually, i have a cia, but... After launch i get error "Error: missing index.lua". 0_о
 

xXDungeon_CrawlerXx

Well-Known Member
Member
Joined
Jul 29, 2015
Messages
2,092
Trophies
1
Age
28
Location
Liverpool
XP
3,718
Country
Any chances of reading subtitles from a mkv or a srt?
Great work btw.
Reading subtitles? not sure. But you can draw subtitles in Lua Script:
Code:
-- Drawing lyrics
	if (Timer.getTime(timer) <= 3500) then
		Screen.debugPrint(0,14,"Seid ihr das Essen?",white,TOP_SCREEN)
		Screen.debugPrint(0,28,"Nein, wir sind der Jaegar",white,TOP_SCREEN)
	end
	if (Timer.getTime(timer) > 14500 and Timer.getTime(timer) <= 20500) then
		Screen.debugPrint(0,14,"Fumareta hana no",white,TOP_SCREEN)
		Screen.debugPrint(0,28,"namae mo shirazu ni",white,TOP_SCREEN)
	end
	if (Timer.getTime(timer) > 20500 and Timer.getTime(timer) <= 25500) then
		Screen.debugPrint(0,14,"Chi ni ochita tori wa",white,TOP_SCREEN)
		Screen.debugPrint(0,28,"kaze wo machiwabiru",white,TOP_SCREEN)
	end
	if (Timer.getTime(timer) > 25500 and Timer.getTime(timer) <= 31500) then
		Screen.debugPrint(0,14,"Inotta tokoro de",white,TOP_SCREEN)
		Screen.debugPrint(0,28,"nani mo kawaranai",white,TOP_SCREEN)
	end
	if (Timer.getTime(timer) > 31500 and Timer.getTime(timer) <= 36500) then
		Screen.debugPrint(0,14,"Ima wo kaeru no wa",white,TOP_SCREEN)
		Screen.debugPrint(0,28,"tatakau kakugo da",white,TOP_SCREEN)
	end
	if (Timer.getTime(timer) > 36500 and Timer.getTime(timer) <= 41500) then
		Screen.debugPrint(0,14,"Shikabane fumikoete",white,TOP_SCREEN)
		Screen.debugPrint(0,28,"susumu ishi wo",white,TOP_SCREEN)
		Screen.debugPrint(0,42,"warau buta yo ",white,TOP_SCREEN)
	end
	if (Timer.getTime(timer) > 41500 and Timer.getTime(timer) <= 47500) then
		Screen.debugPrint(0,14,"Kachiku no annei",white,TOP_SCREEN)
		Screen.debugPrint(0,28,"kyogi no han'ei",white,TOP_SCREEN)
		Screen.debugPrint(0,42,"shiseru garou Jiyuu wo!",white,TOP_SCREEN)
	end
	if (Timer.getTime(timer) > 47500 and Timer.getTime(timer) <= 57500) then
		Screen.debugPrint(0,14,"Torawareta kutsujoku wa",white,TOP_SCREEN)
		Screen.debugPrint(0,28,"hangeki no Koushi da",white,TOP_SCREEN)
		Screen.debugPrint(0,42,"jouheki no sono kanata",white,TOP_SCREEN)
		Screen.debugPrint(0,56,"emono wo hofuru Jaeger ",white,TOP_SCREEN)
	end
	if (Timer.getTime(timer) > 57500 and Timer.getTime(timer) <= 65500) then
		Screen.debugPrint(0,14,"Hotobashiru Shoudou ni",white,TOP_SCREEN)
		Screen.debugPrint(0,28,"sono mi wo yakinagara",white,TOP_SCREEN)
		Screen.debugPrint(0,42,"tasogare ni hi wo ugatsu",white,TOP_SCREEN)
	end
	if (Timer.getTime(timer) > 65500 and Timer.getTime(timer) <= 70500) then
		Screen.debugPrint(0,14,"GUREN NO YUMIYA!",white,TOP_SCREEN)
	end
	if (Timer.getTime(timer) > 75000) then
		Screen.debugPrint(0,14,"Shingeki no Kyojin Opening",white,TOP_SCREEN)
		Screen.debugPrint(0,28,"Title: Guren no Yumiya",white,TOP_SCREEN)
		Screen.debugPrint(0,42,"Song by Linked Horizon",white,TOP_SCREEN)
	else
		Screen.debugPrint(0,0,"Lyrics:",white,TOP_SCREEN)
	end
	if (Timer.getTime(timer) > 78000) then
		Screen.debugPrint(0,60,"Achieved with LPP!",white,TOP_SCREEN)
	end
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Psionic Roshambo @ Psionic Roshambo: One of the worst games I have ever played