Archive for the ‘Videos’ Category

Capture videos of your Atari in action.

February 4, 2011

As you might or might not know I have this hobby of capturing falcon and ST stuff and uploading them to youtube with mixed results as far as quality goes. For that reason I have bought an Easycap DC60 USB 2.0 capture device from somewhere in China, in all likelyhood a clone of the original device now called EzCap.

The device I bought feature the STK1160 chipset which doesn’t allow capture of PAL 60. And though this isn’t much of a problem for capturing from an ST(E) since most software works on 50Hz ,this isn’t always the case for the falcon or for newer demos. Otherwise the DC60 allows capturing from either composite video or s-video and in stereo in resolutions up to 720×576 and in 25 or 30 fps(PAL/NTSC). It also comes bundled with video editing software and drivers.

The first problem I witnessed with the device was installing appropriate drivers for it since it does have problems with windows 7. I believe that now they have been included in the windows update service but I am not quite sure. After a few hours of fighting with it I started capturing using the debut capture software which is a pretty cool program that works very well with the Easycap. Unfortunately I noticed that there was frame drop when recording and having deinterlacing on, probably something to do with my 3.06GHz Hyperthreading processor and IDE hard drive. So I went to the best in my view pieces of software for this kind of work. DScaler and Virtual dub.

Dscaler is a free software solution for viewing video from a capture source that has some excellent and fast deinterlacing algorithms. Unfortunately you can only record the interlaced video and since hard drive space is a commodity I don’t want to waste, I am using the Hufyuv codec.

Virtual Dub is used for post processing and mainly for 3 things.  Removing of unwanted video segments and cropping, deinterlacing and compressing video and audio.

So the process is somewhat like this:

1. Record the video in full size from dscaler using the YUV format since it’s faster.

2. Load the video in Virtual Dub and select the following. Full processing mode in the video and audio menus so as to compress the video and audio parts of the video to mp4 and mp3 respectively (of course you can use your favourite codecs).

3. Go to the filters option in the video menu and select the method to deinterlace. After that you’ll see the cropping button being selectable. Pressing it will allow you to crop the video image.

4. Save as avi.

Now, I’ve found the deinterlace methods already in Vdub to be somewhat lacking for our purposes, perhaps because the atari outputs such a strange signal. However since Vdub is such a nice program, you can find various loadable filters. As such I’ve found the Smart Deinterlace filter that provides very good results. There are various options but I found that the combination of:

-Frame only differencing

– Edge directed interpolate

– Compare color channels

– Motion threshold 15

Deinterlace settings

Deinterlace settings for the smart deinterlacer.

to be more than adequate. After that you can upload the final video on youtube or wherever else you want. The above method can be used with any other capture device as well.

Links:

1. Dscaler: http://deinterlace.sourceforge.net/

2. VirtualDub: http://www.virtualdub.org/

3. Smart deinterlace filter: http://neuron2.net/smart/smart.html

Advertisements

YouTube on the Falcon!

February 4, 2011

A fairly simple guide to playing YouTube movie content on your Atari Falcon 030.

Well here’s another potential revolution in human affairs coming up from behind, threatening to hit you smartly on the back of the head, laugh at your prostrate unconscious form and steal your shoes. Yes, you will rue the day that you wore those smart brown loafers in these cold mean streets!

YouTube on the Falcon“, that’s a big statement making some bold claims in the teeth of doubt right there pal. So how’s it done then? You skeptically ask.

First the gentle letting down process starts. This paragraph will tell you how it is not done. There are no clever networking gizmo’s to connect in a high speed fashion to the intertubes without fuss or faff, no stunning new browser concepts allowing Flash video playback in its latest versions, and definitely no superhuman coding feats to bring a super-optimised Flash player to the Falcon in the first place.

So we’re talking about movie conversion again, are we not?

Well yes, but here’s where the building up hope again part of the article starts off. It is a fairly simple process involving a tool-chain with just three components. I’m sure you’ve already worked this one out for yourselves, but just in case you haven’t, it’s nice to share.

This handy screenshot of a typical open YouTube page shows our starting point. The subject matter is short and personally appealing. I think you’ll like it as well, featuring a better than average mid-eighties commercial for my favourite lost home computer before the Falcon 030 came along.

The original movie on YouTube.

The direct link is here.

http://www.youtube.com/watch?v=Yp6wc6YJpn4

Step 1. Getting the Youtube content down from its gilded cage..

As we all know, Youtube does not feature any direct download access by itself. Fortunately there are a number of methods to get around this. There are download websites such as www.kissyoutube.com or www.downloadhelper.net where you can copy and paste the Youtube URL to download the video stream as an .FLV file.

Alternatively, you can use something like the ‘UnPlug’ Firefox extension. For Mac fans, there is a backdoor method in Safari. When the YouTube browser window is opened, find and double click on the video replay file in the activity window. This file is typically several megabytes and still growing. This then opens a new blank browser window and the download manager appears and shows a file called something like ‘videoreplay’ downloading to the desktop. Once there, it just remains for you to rename it with a filename of your choice with an .flv extension.

For Mac fans, you will still have to transfer the collected Flash video files to a Windows system for steps 2. and 3. unfortunately. Unless you have one of those dual booting Macs that gives house-room to a Windows option of course.

Step 2. Preparing for Step 3.

Right now, we have an .FLV file. This can play back nicely on current versions of the Videolan VLC player, and if that is all you want to do, then you can stop reading right here. For the rest of you who wish to see this content playing back decently on an Atari TOS system, read on.

The problem with .FLV files is that they are definitely not supported by Aniplayer for one thing. Another issue is that the other software at the end of the tool-chain, VirtualDub, is not .FLV friendly by itself. There are plugin’s available to help VirtualDub load these in, but this involves a whole world of extra libraries and poking around in old support sites and obscure parts of Microsoft itself. Yes I tried that, and gave up! This is not recommended for the headache factor alone. Also VirtualDub is quite an old program itself and I’m not sure how well installing ancient libraries would sit with a more modern Windows machine?

So clearly we need an intermediate step, the The crucial ‘bit in the middle’. As it happens I found an application that does the job nicely. In this case I’m using the Pazera FLV to AVI converter. It is a free download and it works.

The current version of the FLV to AVI/MPEG converter is 1.2. It is a Windows pc application. It offers to convert to .avi or .mpg from .flv. Both of these file types are read in by VirtualDub. I seemed to get on better with converting to MPEG. The user interface is intuitive and easy to follow and all of the options are visible and usable upfront. You can play around with the various video and audio settings, a degree of customization from here is possible, but most of the time you should leave them on their default auto settings. I’d personally wait until you’ve got to VirtualDub before making any big changes to your movie.

You may want to customize the video resolution if you encounter an odd screen format, say a very widescreen movie trailer or similar. The audio settings should be left as they are. You will need to change them back afterwards as Pazera tends to ‘remember’ the amended settings, even after quitting.

(Update:- Generally I find it best to set up and stick with the horizontal resolution best suited to your Falcy’s abilities. From there, the vertical resolution, regardless of how widescreen it is, should tuck in nicely under the horizontal rez that you asked for in the first place.

So to use a specific example from when I’ve been playing, a 640 x 480 VGA-sized movie slims down to something like 240 x 180 pixels, but I’ve encountered at least one movie trailer which went down to 240 x 80 to keep the aspect ratio looking decent. Other examples have been less extreme, say 240 x 120 pixels or similar.

As well as avoiding fugliness, it also means you should be pushing a bit less video data through Aniplayer when playing back the end result, which is helpful with a slower machine.)

The end result should be an .avi or .mpg file which is ready for the third and final stage. The site URL for the Pazera converters is here: www.pazera-software.com

Step 3. Final conversion to an Aniplayer friendly format.

This third and final step is simple, for me to write down at least. Go to Beetle’s tuition article from the last issue of Low Res Mag and proceed from there to get to an Aniplayer friendly .avi movie file. If you are taking a close interest in this article, you probably already have VirtualDub set up and are comfortable with how to use this application. If you need a reminder, here’s the link for you.

https://lowresmag.wordpress.com/2010/05/15/how-to-encode-video-for-playback-on-falcon/

And just to show that there was a satisfactory end result, here’s a screengrab of the converted movie playing in Aniplayer.

Youtube movie on the Aranym desktop!

So now you can add YouTube content to your soon to be vast libraries of Atari-friendly media material. Happy days!

CiH for Low Res Mag, Dec 2010.

Movie porting for Aniplayer supplemental.

February 4, 2011

Additional notes on Beetle’s Tutorial for Aniplayer video encoding.

Ho there eagerly awaiting Low Res fans, it’s time for some more article reading related fun with some educational tips thrown in. In my token nod to the latter part of our mission, here’s some of my observations made after I followed Beetle’s excellent tutorial from last issue. As you may recall he was sharing his hard-won secrets about converting movie files to allow them to play without stuttering or stopping on Didier Mequignon’s Aniplayer program.

Beetle’s tutorial was written mostly for the benefit of those of us using very high-end Falcons, with some fairly specific tips about getting the best trade-off between the original movie and an end-product which would still have a reasonable quality and play back comfortably on the CT60 family.

Now I didn’t follow the exactly specified steps with his suggested example movie file. Instead for my first attempt, I broke from the tutorial in two important respects.

Firstly, the choice of film, as I decided to make the first attempt from one of my own ill-advised ‘home movies’. In this case it was the compilation of my bits recorded from the Sundown 2010 demo party. A report for which is elsewhere in this issue.

Secondly, I decided to try converting for a different level of Atari hardware.   At the end of his article, Beetle threw in some useful suggestions about converting a movie file to play on a standard unexpanded Falcon. I opted for something in between the CT60 and the bog standard machine, namely the Centurbo 2 (CT2) accelerated Falcon.

The CT2 series, just to remind you, adds a 50 Mhz 68030 CPU, up to 64 MB Fast RAM, with DSP  clocked from 32 to 50 Mhz and bus speed boosted from 16 to 25 Mhz offering an option for enhanced truecolor resolution. So it has sheer processor grunt somewhat better than the baseline machine but still quite low compared to the CT60 and it also has enhanced data bus speed. I opted for an in-between size to go with the in-between hardware, converting my original 640 x 480 resolution source file to something more suitable for my choice of target hardware.

Here are some notes about the movie file which was created from following Beetle’s tutorial. Much of this information  being taken from Aniplayer itself of course 🙂

On-Screen Size 240 x 180 pixels (actually 240 x 176)
Played at 16 frames per second, frame skip enabled on Aniplayer
Key frame interval = 0
Number of frames – 9575
File size – 98825858 KB
Length of movie playback – 6 minutes, 23 seconds
Audio 16 bit mono at 16390 Hz with APCM compression

The movie played back pretty faithfully in the recommended non-GEM windowed mode with no noticeable time lag and only the occasional hint of slowdown on the audio. The windowed mode was a slightly different story with an increased playback time at 9 minutes and 58 seconds. This is quite a difference from 6 minutes 23 seconds. I didn’t really notice any major video slowdown but the audio slowed noticeably when onscreen traffic was busy and started to distort very slightly.

The intensity of CPU usage varied when running the sample movie in windowed mode. This went from 25 percent as a base, settling around the middle between 66 and 83 percent, but sometimes going up to 91 or 100 percent. And before you ask, of course the DSP was enabled! So it is possible to run this type of file windowed on a CT2 machine but still better to play back in non-GEM mode.

In non-GEM mode, the 240 x 176 resolution offered a reasonable quality playback, a little bit compromised with some degradation of video quality, but not fatally so. In fact I think that added to the overall charm when combined with what is properly a retro platform. The onscreen viewing window for non-GEM display was a reasonable size, with subtitling still legible. This confirms to me that the 240 x 180 size is an acceptable compromise for CT2 and similar specified Falcons.

Other observations and points of interest.

The size of the movie file is hefty. In this case it works out at around 12-15 megabytes per minute of onscreen footage. There is no reduction over the file size of the source material in spite of the big screen resolution drop. This suggests that a less fierce compression method is being used to give Aniplayer a fighting change of depacking it with limited CPU power. (Limited when compared with a modern machine of course.) Can someone who knows what they are talking about confirm this?

Never mind, one thing that has got abundant and cheap these days is bulk storage.

The created movie file tended to crash fatally on the Windows version of the Videolan VLC player. This really killed that program, freezing or locking up completely and needing to delve into the program manager to unblock the application. This made me very nervous in case I’d somehow missed something important from the tutorial and I’d just created a ruined and useless file. The Mac version of VLC was alright with it though, and more importantly, Aniplayer was completely happy with it!

* Further note. This issue went away once I upgraded my older version of VLC player.

I decided to go that extra unnecessary step and see how this movie managed on a 16 mhz Falcon. Beetle recommended a video mode of 160 x 80 with audio set at 16390 Hz when porting movies for the baseline machine. Well I would charitably say that a valiant attempt was made by Aniplayer. The soundtrack and video playback could be described as ‘languorous’ or on opiates, but we got there in the end, at about 10 minutes and 24 seconds. But it didn’t drop anything, played back completely and still performed a lot better than an unconverted movie would have on a CT60.

* Further note – I’m finding out new things all the time here. I converted an ultra widescreen movie trailer for Deathly Hallows to a somewhat letterboxed 240 x 80 pixel format, audio as before, and this played back just fine with no slowdown on a 16 mhz Falcon. Which is as far as you can push that one, I guess?

Hey, now we’re here and going wildly out of context, let’s see how it did on Aranym. My version of Aranym is for a Power PC Mac. That is without the super turbo native processor mode to fudge the speed issue. This offers a semi-realistic 68040 environment to play with.

I say semi-realistic as it demanded between 50 and 66 percent of the CPU. You can tell this is still a work in progress as sound quality via the emulated DSP was severely compromised. It was both slower with a fair bit of distortion and forced high pitch as if force fed helium. So I don’t fancy that one again, thanks very much.

*Further further observations, made some time later*

Thus suitably equipped, I tried my movie porting magic on a number of other short films close to my heart. I’m gratified to say that results there were generally fine but with one or two caveats.

1. When I converted the ‘Outline 2009 from above’ movie, I seemed to get reasonable video playback but very slow sound. This may have been down to me playing around with the sound settings, so I’m inclined to blame that one on user inattention.

2. A couple of movies suffered from noticeable artifacting or black speckles on screen after dropping down to a lower resolution. These were taken from a low quality source though, so this just might be a case of choosing your subject matter carefully, or going through with it anyway and to hell with the consequences.

Final words.

I hope this article adds some extra value to the already excellent work done by Beetle for the previous issue of Low Res Mag. The tutorial proved to be easy to adapt according to taste and hardware levels. I’m certainly going to go through my collection to see what else can be ported. Not to mention I might get around to doing some specifically for CT60 as well soon 🙂

CiH for Low Res Mag, Nov/Dec 2010.

How to encode video for playback on Falcon

May 15, 2010

For some years available there is that nice software called “Aniplayer”. Its capable of replaying audio and video files of several formats. Those video files you have on your PC’s and laptops are, however, most likely not playable on the Falcon, even if powered up with a whopping 100 MHz ct63 upgrade.

Either the file is replayed without picture or audio, or Aniplayer rejects the file with some ‘codec xyz not supported’ message. Its also possible that it gets replayed in speed of a snail on Valium…

But somehow it had to be possible, i was sure.

So i tried various tools, encoders and codecs and came to a solution that finally enables to replay fullscreen video with enjoyable audio quality.

So, what is my goal? What its not?

I want the best possible video playback i can reach with a Falcon 060. I am not really looking for the most efficient compression (although i try not to make unnessecary large files).

Some basic conclusions right here in front:

  • Aniplayer can do Xvid in 320×200 but only manages to depack 15 frames per second
  • Aniplayer can decode mp2/mp3 audio but video stutters horribly then
  • mpeg2 needed a hardware decoder on Pentium 1 class PC, remember?
  • Radius Cinepak codec depacks with a lot less CPU work, no problem at 320×240, 30 fps
  • for audio stream wave or Microsoft ADPCM works good
  • use native Falcon clocks to avoid high cpu load and clicks/cracks

Needed Tools:

  • PC with Windows XP/Vista/7
  • XviD [1] and DivX [3] installed (some files need one or other)
  • VirtualDub [2]
  • optionally some tools to convert your wanted source (DVD or MP4/MKV/whatever) into AVI

That last point i use ‘SUPER’ [4] for, which is a frontend to various commandline de/encoder and tools. Here on my machine it works (most of the time) but crashes sometimes, too. Your mileage may vary.

Here we go!

First thing is of course getting a source video you want to encode. For this howto, we should take something easy available. Try it with this file on your setup, and after the result works for you, too, proceed with the video of your choice.

Connect to internet and download the fr-025 video [5]

Save it in a folder of your choice, i suggest making a new one that ends with /source. Also create a folder that holds the encoded Falcon videos.

Launch VirtualDub and choose File -> Open File. Point to your source folder, choose the popular demo.

Now choose Video -> Filter . Click Add and select resize. The config dialopgue of the added filter appears, check Pixels: Absolute and Aspect Ratio: disabled. Now enter destination size: 320×152 for this very widescreen video. The cinepak codec is fine with multiples of 8, so you should check that, too. If you enter a size not a multiple of 8, VirtualDub will choose the next matching size for you. We do not crop or letterbox anything here, so close the dialogue.

Some videos look a bit too dark on my Falcon, so in that case i also add filter Brightness/Contrast and and slighty brighten up the video by around 5%.

Now select File->File information. You see, our fr-025 video is 640×320, 60 fps. The size we already scale, but 60 fps is too much for the Falcon. Close the infobox, choose Video->Frame Rate. Here check Frame Rate conversion and enter 30 fps. If your source Video is 50fps, convert it to 25fps – logically 25 and 30 fps video don’t need any framerate conversion. A mistake here, like converting a 25 fps video to 30 fps or similar will result in subtle but annoying stutter of video playback.

Now go to Video-> compression and choose the cinepak by Radius. The quality slider has no effect on the cinepak codec, so check use target rate of and enter 350 kilobytes/second. Feel free to experiment with your quality/size tradeoff.

Now we move on to the audio stream. Select Audio->Interleave and enter Interleave audio every 1 frame. Also, enter 500 ms in the Audio skew correction field. Not that i knew why, but this is the key to get 100% synced Audio. If your video’s audio does not sync, play around here to make it match.

Next check Audio->Full processing mode and then open Audio->Conversion. We don’t want to have the CPU need to resample the audio during playback so we check Custom and enter one of the native Falcon frequencies.

Those are 49170, 32780, 24585, 19668, 16390, 12292, 9834, 8195 Hz. A very good quality you get with 32780. This is the sample rate, and the highest frequency you can replay with that rate is half of the sample rate. So 32780 is good for audio up to 16kHz and good enough. If you’re keen on filesize, save 30% by entering 19668 without a too big impact on quality. Select 16 Bit precision and check High quality . Using Stereo is okay, but of course takes twice the size. Decide what you need. For the howto we use 32780 stereo.

If you need to keep filesize down, compress audio with ADPCM. Its by no means a lossless compression and, especially in more quiet parts, compression is audible. When converting an STe demo with YM chiptune you’ll hardly notice, though.

The bandwitdh usage below is before compression, anyway. This leads to the next point, choose Audio->compression. Here you select the audio compression Microsoft ADPCM, then click the “32,780Khz, 4bit, stereo” option. I’d have liked to choose the IMA ADPCM instead, but that one adds annoying clicking to the Falcon audio. Feel free to try it. You see, we now use ‘only 33kByte/s for audio, not the 129 kByte/s without compression.

Sometimes the source audio is too loud. Your mediaplayer on the PC won’t have a problem with that, it softclips during playback. The ADPCM encoder doesn’t do that, so, to avoid problems here, you may open the Audio->Volume window, check the Adjust volume of audio channels checkbox and lower the volume to 90%. This is safe for me and i use it by default.

Okay, this is what we needed to do to start encoding! The process with your own source video will most likely need some trial and error, to find matching aspect ratio for example. Here the job control comes in handy: Select File-> Queue batch operation->Save as AVI… and choose the destination filename and folder for example D:/videos/Falcon converted/fr-025.avi . Nothing happens, but the Options we entered are now stored along with this job. Press F4 or open File->Job control and you find the prepared jobs. You can enter many jobs and let them encode overnight, and you can select a job and press Reload button, which enters all the options of that particular job into VirtualDub. So, you can save some jobs as a kind of template, reload it, and then only select File->Open video file to choose a different source, all other setting stay as in the job you reloaded.

But this is for your later work. Now we want to encode: Choose File->Save as AVI and point to your destination folder, choose your filename. Now have a coffee with your GF or similar. If you abort the encode, you can test the partly saved AVI on your Falcon, good for testing.

The resulting file you can transfer to your Falcon and open it with Aniplayer. Check ‘No GEM’ to get fullscreen, truecolor display.

Using a FAT32 formated CF card on the Falcon’s IDE bus, i can flawlessly replay a 2 GB large movie (That was the largest i ever made, unrestricted video bitrate, 32.780 kHz wave Audio uncompressed)

If you want to try out how good the results are before you install the software and go through the howto, you can download some videos of Atari ST/STe/Falcon Demos, that do not run on a Falcon060 usually [6]

Cheers!

I’m pretty sure you have also ideas on how to improve video quality more, mpeg1 video might be a way between cinepak and xvid – but i had no success there yet.

And by the way, now that you know where to tweak in VirtualDub: if you reduce destination resolution to 160×80  (unrestricted video bitrate) and choose 16390 Hz Audio, the resulting video  will replay on a stock 16MHz Falcon030, too.


Links:

  1. xvid
  2. virtualdub
  3. divx
  4. Super
  5. fr – 025 video
  6. sample videos