this site contains flashing imagery
please click here to disable the flashing effects
or anywhere else to hide this message
My last blog post told the woeful story of my development laptop dying an ungraceful death. It served well, and gave a very respectable number of years of service.
I'm back up and running now, luckily without having to pay to get the laptop repaired (not worth it), or buying a new development machine (can't afford it).
Fortunately, my work provide me with a laptop - a Thinkpad T420s. This is a fantastic machine, and having it has been my salvation. The specs on it are better than my old laptop (HP Pavillion dv6700), though it doesn't have a dedicated graphics card, the specs are a bit more beefy.
|HP Pavillion dv6700||Lenovo ThinkPad T420s|
2.4 GHz Intel Centrino Core 2 Duo (T8300)
[Passmark score: 1481]
2.5 GHz Intel Core i5 (2520M)
[Passmark score: 3559]
|RAM||3GB DDR2||4GB DDR3|
NVIDIA GeForce 8400M GS
[Passmark score: 85]
Intel HD 3000
[Passmark score: 312]
Passmark scores the CPU with over twice the rating, and the integrated Intel GPU comes in at nearly 4 times the rating. I had no idea that this machine was potentially so much better. My perception of it had been shaped by my assumption that the integrated graphics card would be less performant, and also because I use Linux (Debian) on it for work, and had never managed to configure it correctly to utilise the graphics chip. So this was quite the surprise!
The ThinkPad T420s had no DVD drive, but it did have the empty drive bay. I picked up a 2nd hard drive caddy from Amazon and slapped my old Windows hard drive in there. Pressing F12 on booting the laptop brings up the boot menu so I can choose which HDD to boot from, so I can keep all my work stuff in place and then reboot into my game development machine as and when I need it! This is like a dream come true! I recommend the HD caddy linked above, it fit perfectly into the 9.5mm bay on this machine, and was beveled to match. The HD feels very snug and secure.
So.. back to recording video right? NOPE! The ThinkPad doesn't have a HDMI port for some reason, and I need that for connecting to the Elgato. Hmm, so how is this going to work? CABLES
So, what was my original recording setup? Laptop to TV: to make sure that the output was 1080p (laptop was not). Display duplicated to Elgato, to also record in 1080p. Elgato connects back to the computer to save the video. Fine.
Now, with my original hard drive in the new computer, I've piped the single VGA out into a splitter, which in one direction goes to the TV as VGA and establishes my 1080p output. The other cable from the VGA splitter goes into an HDMI converter, which goes to the Elgato. The VGA to HDMI converter has an audio jack so that you can also carry sound, which VGA cannot do.
Initial tests looked great. I can comfortably record 1080p 30fps footage, and in testing 60fps looks like it might be alright too. The video was crystal clear. The same can't be said when I uploaded to YouTube:
You can see that the recompression applied by YouTube still left the video with artefacts - there's a lot of fast moving content, and understandably their algorithm loses some of the video fidelity in such situations. After hours of testing different formats, I came across a post someone had made saying that if you upload a video at 4K resolution, YouTube reencodes the video at a higher bitrate - so instead of being around 5-9Mbps we're looking at 15-20! Sounds great!
I used ffmpeg to upscale the video, with the following commannd:
ffmpeg -i input.mp4 -sws_flags neighbor -vf scale=3840:2160 output.mp4
The '-vf scale' operator sets the target resolution to that of 4K video, and the '-sws_flags neighbor' setting is to tell ffmpeg to the use 'nearest neighbor' algorithm when scaling, ensuring we keep our crisp, sharp pixels.
OK, now we are getting somewhere. This looks a lot better. One small problem remains - the colours are not as rich and vibrant as in the game itself.
Looking at the captured footage, this seems to have been due to some configuration at the time of recording, so I'm going to experiment with the capture settings a little more and hopefully record the game in it's full over-saturated glory.
Nearly there! Maybe one day I'll actually be able to work on the game again!