This post will show how to make a decent 3DS video without advance video editing software like Adobe Premiere Pro & Sony Vegas.
First of all, you'll need to download
Anri-Chan, this should include Virtualdub as well Anri-Chan only works on Windows atm)
http://kb.speeddemosarchive.com/Anri-chan
and have Avisynth installed
http://www.avisynth.org/
Step one
Install the two programs I've mentioned on what to download.
Step two
Make sure you have a recorded RAW avi and save it in a new folder in the the Anrichan MPEG directory
[C:\AnrichanMPEG\NAMENEWFOLDER]
Step three
Run Anri-Chan
Anri-Chan commands:
* Select number 2 by typing 2 to start a new project
* Type in a name of your project.
In this case my video was called "World82" as a reference to the screenshot sample on this page.
This project will create a folder that is automatically saved to your Desktop.
Now these questions are taken from anri-chan, so my answers will be in blue
Is this PC recorded from screen capture software, or simply a non-console run?
Yes
Anri-chan will now ask you if you want to trim unwanted content off the video, If you wish to answer 'y', if not answer 'n'.
NOTE: To trim unwanted content, enter in a starting frame and an ending frame for each section. Each section is continuous. Such that if you end Range#1 at frame 1882 and start Range#2 at frame 2480, then the movie will play as if 2480 was right after 1882, cutting out the middle frames. You can have as many ranges as you need. Enter in 'n' when you are done. Virtual Dub will be opened to help you select the frames you wish for this process.
Set the Aspect Ratio
For the triple screen layout it's 1200/480
Open crop settings.
No
Station ID
This is used for speed runners submitting their published videos to Speed Demos Archive, a station ID is the information you'll see at the very start & end of the video, it's pretty much not required for video makers who uploads a LP or a small video such as a trick or a blooper to Youtube. So it's mostly no to this answer.
Do you want to encode these settings?
Yes, however if you choose no, you'll have to go back to the start asking if the video was PC recorded or a DVD/analogue capture card recording.
Your settings has been saved to job_PROJECTname.bat to resume the project double click that file.
Basically this setting is used if you want to start encoding the video much later on without having to answer the previous questions. If you want to encode the video as soon as possible, then answer Yes.
Read carefully here
Now comes to the quality settings. Now minimize Anri-Chan and open up the project folder (my one was World82) from your Desktop.
Find the project name_HQ file, my one is "World82_HQ". Open this file up with Notepad.
You'll usually see something like this:
Code: Select all
import("C:\Program Files\anrichan3.3\plugins\plugins.avs")
import("World82_source.avs")
converttoyuy2
trim(19881,24485)
sourcewidth=last.width
sourceheight=last.height
DAR=1200./480 * float(last.width)/last.height * float(sourceheight)/sourcewidth
prenmfrate=last.framerate
Try{import("World82_source_nmf.avs")
nmf=true}catch(err_msg){nmf=false}
last.height > 700 ? (last.width > 480 * DAR ? lanczos4resize(sda_even(round(480 * DAR)),480) : lanczos4resize(last.width,480)) : (last.width > last.height * DAR ? lanczos4resize(sda_even(round(last.height * DAR)),last.height) : NOP)
last.height % 2 == 1 ? AddBorders(0,0,0,1) : NOP
last.width % 4 <> 0 ? AddBorders(floor((4 - last.width % 4) / 2.), 0, ceil((4 - last.width % 4) / 2.), 0) : NOP
changefps(prenmfrate/1)
statid=nate_statid(last,"\n\n\n","","")
statid=statid.AddBorders(int((statid.width * float(1200*statid.height)/float(480*statid.width) - statid.width) / 2.), 0, int((statid.width * float(1200*statid.height)/float(480*statid.width) - statid.width) / 2.), 0).Lanczos4Resize(statid.width,statid.height)
changefps(last.framerate)
assumeframebased
import("C:\Program Files\anrichan3.3\plugins\plugins.avs")
ChangeFPS(30)
miniScreens = last
upperScreen = Crop(0,0,400,240).BilinearResize(800,480)
lowerScreen = Crop(0,240,400,240).PointResize(800,480)
mainScreen = upperScreen
# If you want to switch the main screen display, write something like the following line instead:
# mainScreen = lowerScreen.Trim(0,630)+upperScreen.Trim(631,1414)+lowerScreen.Trim(1415,Framecount-1)
mainScreen.Stackhorizontal(miniScreens)
# Framerate reduction, if needed: ChangeFPS(FrameRateNumerator, FrameRateDenominator*2)
# If you want to blend every 2 frames, instead: AssumeFieldBased.Weave.VerticalReduceBy2
Subtitle("Greenalink",1094,215,first_frame=0,last_frame=200000, font="comic sans ms", size=30,text_color=$66FF00,lsp=10)
ConvertToYV12()
# If you want to switch the main screen display, write something like the following line instead:
# mainScreen = lowerScreen.Trim(0,630)+upperScreen.Trim(631,1414)+lowerScreen.Trim(1415,Framecount-1)
These two lines means that it's possible to change the giant left screen by showing either the top/3D screen and the touch screen. This script is VERY useful for games that changes the main screen focus for example Ocarina of Time 3D's Gameplay uses the upperscreen code and the item select should use the lowerScreen code.
A rough example would be like this
mainScreen = Upperscreen.Trim(0,630)+Lowerscreen.Trim(631,1414)+Upperscreen.Trim(1415,Framecount-1)
Here assuming the made video is 30fps, The giant left screen shows the upperscreen for exactly 21 seconds, then on the next frame it shows the lower screen that lasts for 26.1 seconds, then if you have a last screen change (Top screen for the rest of the video) then put (X,Framecount-1) assuming X is any number.
Subtitle("Greenalink",1094,215,first_frame=0,last_frame=200000, font="comic sans ms", size=30,text_color=$66FF00,lsp=10)
ConvertToYV12()
This line enables me to add simple text onto the video, in this case a simple watermark. Unfortunately I haven't figured out how to insert actual logos without the white background on Avi-Synth, I know it's possible on virtualdub.
upperScreen = Crop(0,0,400,240).BilinearResize(800,480)
lowerScreen = Crop(0,240,400,240).PointResize(800,480)
PointResize simply upscales the image, some viewers says it's better for 2D sprite based games like Mighty Switch Force.
BilinearResize not only upscales but makes the visuals less jagged, some viewers says it's better for 3D polygon based games like Super Mario 3D Land.
With the majority of the 3DS games focusing on the top screen, you'll be using this script sample a lot.
ChangeFPS(30)
I use this IF:
* You are planning to upload this video only onto Youtube, especially if the AVI raw was 60fps
* You used FRAPS to record the original AVI raw. Yeah FRAPS cannot record accurately if it is set to 30, so any 3DS recording via FRAPS will need to be set to 60FPS, make sure you have a huge space of memory as you use up ~30GB after 45 minutes of recording.
Once you have done it, save this file, then bring back up Anri-Chan that you've minimized before the edits.
Remember that you've opened up & updated the HQ version of the project file (project name_HQ), so this means that you have to say no (n) on both Low and Medium Quality questions, then say yes (y) on the High Quality question, this encodes the 3DS video with a triple screen layout and other edits thanks to the tweaks we did on the project name_HQ document.
I'll tweak this page later to make it tidier, etc.