How to make youtube like your textmode demos
category: offtopic [glöplog]
While doing captures of my textmode stuff for youtube I figured some steps that may help others.
1. Use some program such as bandicam to capture a screen region. This region should include your textmode window.
2. Having a getch() at start helps with aligning the windows and stuff before starting to record.
3. With virtualdub, do a filter chain with a null transform and two scales.
4. Null transform: crop the window borders and other extra crap off.
5. Scale 1: do a 2x scale, point sampling.
6. Scale 2: add letterboxing to end up with 1920x1200 video (with black borders on sides).
7. Remember to turn on video compression, xvid with general purpose profile seems to work fine.
Alternatively, just scale up to 1920x1200 with point sampling if you want a horribly wide charset (it's basically 2.5x2 scaling assuming you use the default console parameters to begin with).
Result: youtube doesn't blur the heck out of your characters, and the result looks pretty nice fullscreen, too.
As for audio, record as PCM so that youtube doesn't need to re-re-encode your audio into a muddy pulp. It's possible, although I'm not sure, that youtube also gives you higher quality audio if you give it "full hd" video.
1. Use some program such as bandicam to capture a screen region. This region should include your textmode window.
2. Having a getch() at start helps with aligning the windows and stuff before starting to record.
3. With virtualdub, do a filter chain with a null transform and two scales.
4. Null transform: crop the window borders and other extra crap off.
5. Scale 1: do a 2x scale, point sampling.
6. Scale 2: add letterboxing to end up with 1920x1200 video (with black borders on sides).
7. Remember to turn on video compression, xvid with general purpose profile seems to work fine.
Alternatively, just scale up to 1920x1200 with point sampling if you want a horribly wide charset (it's basically 2.5x2 scaling assuming you use the default console parameters to begin with).
Result: youtube doesn't blur the heck out of your characters, and the result looks pretty nice fullscreen, too.
As for audio, record as PCM so that youtube doesn't need to re-re-encode your audio into a muddy pulp. It's possible, although I'm not sure, that youtube also gives you higher quality audio if you give it "full hd" video.
So how do you make Win7 like your textmode demos? (I'm serious, atm there's no fullscreen wrapper that I know of.)
sol: do you mean 1920x1080?
This is what I do with all my VCS captures, except I scale to 1408x1036 nearest point. Making sure the audio stream is stream zero (not stream one) also helps with maintaining A/V sync.
@psonice: since the window is 600 pixels high normally, 2x makes it 1200.
@Gargaj: I haven't been inspired enough to make that wrapper.. yet.. =) I suppose one could use console2 and maximize it, but there's no real "full screen" mode as far as I know.
@Gargaj: I haven't been inspired enough to make that wrapper.. yet.. =) I suppose one could use console2 and maximize it, but there's no real "full screen" mode as far as I know.
Since I didn't manage to get a TMDC demo started this time, I yesterday started working on a wrapper for console demos. Should be out soooon. That should solve all fullscreen support, codepage madness and capturing related issues :P
sol: cool, just thought it'd be good to clarify.
For future reference, here's the ffmpeg command I use:
Code:
ffmpeg -i /media/Acer/Users/Hemma/Downloads/mess0143b_x64/snap/a2600p.avi -map 0:a:0 -map 0:v:0 -vf "scale=1408:1036:neighbour" -y -acodec copy -crf 20 -profile main -pix_fmt yuv420p capture.mov
fragment: cant await it! although i have another year time, now that i didnt do anything for TMDC, again :(
Based on a little bit of googling, the roguelike community is the #1 target for a wrapper like that, and demoscene comes only after that =)
well, i AM missing my Angband a lot!!! but being able to watch textmos fullscreen again would be even way better/cooler!
@hArDy.tRSi: I'm not entirely sure. Our 27" widescreen LCD panels are a long way from the blurry 14" CRTs we used to have..
http://www.pouet.net/topic.php?which=9151
Well...got stuck with that somewhen (no time/mood, mostly).
Well...got stuck with that somewhen (no time/mood, mostly).
Actually, most of the demos only really need WriteConsoleOutput, should be simple to hack up a .kkapture driver for that...
Teaser;) Almost there.. Launching, injecting, hooking and wrapping is working. Currently only rendering the background color of the characters.
\o/ scenepoints, kudo's and wurstpaket to fragment! Keep up the good work.
fragment: Very cool! Are you going to implement proper 9x8 cells or will it be 8x8 only?
I think there's a curses compatible library that targets an SDL surface, maybe that could be a good starting point if your demo is curses-based.
When the first version is done, it can be easily made configurable to support any font sizes, aspect ratios, scaling and full screen. Also I'm planning to put the code freely available to Google Code so it can be further developed for other uses (games, apps,..).
The rendering is now working with the 8x8 font.
The images differ because the GL renderer is a frame or two behind. I don't think the lag will be noticeable when the original window is hidden.
The rendering is now working with the 8x8 font.
The images differ because the GL renderer is a frame or two behind. I don't think the lag will be noticeable when the original window is hidden.
@linde: why on earth would your demo be curses-based?
Damn, you're going to beat me to it: http://www.pouet.net/topic.php?which=8617
Hey Moerder I didn't know you had been working on similar project as well:) Did you run into any surprises or problems?
Nothing ugly. Some demos try resizing your window, so you might want to hook into SetWindowPos or whatever Win32 calls it. Also, some for some reason call PeekMessage/DispatchMessage while others don't. The last animation in Superkiller runs faster for some reason in ftw7. Most demos behave nicely and take their timing from their sound library and simply throw frames at WriteConsoleOutput, allowing a specialized demo viewer to be much simpler than e.g. console2.
fragment:
i knew you are going to fulfill your promises!
Moerder: to me it felt like you abandoned your project! (didnt click and re-read tho) ...maybe just help fragment and you two share the credz ;)
as Sol said: the Roguelike-Community is waiting for a proper Solution aswell: you both could get some BigName in the net(.hack) aswell this way :D just make it all you promise(d)!
if my Angband works as should again and even Textmos work your names will stay in my HEad forever for sure ;)
Thanx in advance and keep up the good work!
greetingz,
hArDy./TRSi
i knew you are going to fulfill your promises!
Moerder: to me it felt like you abandoned your project! (didnt click and re-read tho) ...maybe just help fragment and you two share the credz ;)
as Sol said: the Roguelike-Community is waiting for a proper Solution aswell: you both could get some BigName in the net(.hack) aswell this way :D just make it all you promise(d)!
if my Angband works as should again and even Textmos work your names will stay in my HEad forever for sure ;)
Thanx in advance and keep up the good work!
greetingz,
hArDy./TRSi
Nah, got sidetracked and eventually spring and then summer came. Anyway, Hedelmae demos provide their built-in Textmode emulation for Windows 7, and that's what the Roguelike community should be doing, really.