High End Video Capture?
A reader asks: "I work for a very well known company specializing in Game Engine Middleware. Recently we've been trying to gather together marketing material for some new products, and one step towards that end is capturing high resolution gameplay footage (1280x1024) into some kind of movie file for editing. According to the 'experts', the best solution is to scan convert the DVI out into HDTV 1080p, and then HD capture it back into another PC for editing. Surely all this conversion to 'broadcast' quality is pointless - has anyone come across a pure DVI capture solution?"
You'd probably be better off listening to the experts, because the bandwidth off a high-res video connection is monstrous, but...
I'm thinking it might be possible to intercept the stream of data the game is sending to DirectX or whichever 3D library you're using, and record it. This data stream should be orders of magnitude lower than the actual video data, and you ought to be able to record it without much disruption to the game performance. Once you had the data, you could then re-render the game play frame-by-frame, and then convert it to video and compress it.
Hum. You might be able to hack this into your game code; but if you can do it externally, it might be a saleable product.
20 minutes with Google and all my fantastic video expertise (!) and I can't find a thing for you. All the HD stuff uses HD Serial Digital Interfaces, not DVI (except for monitoring). Those HD boys work in a different world to us.
I looked at BlackMagic, AJA and Canopus.
Capturing HD takes a lot of grunt and space.
I'll be interested to see the final answers here.
When they came for the communists, I said "He's next door. Take him away. Goddam commies."
Step 1: DVI (Analogue or Digital)->HD-SDI - XDVI-20s
1 5.html
http://www.doremilabs.com/products/XDVI-20.htm
http://www.onevideo.co.uk/xdvi20s-p-359.html
(In the UK £2,687.23 inc VAT)
Step 2: HD-SDI capture board - Blackmagic decklink HD pro 4:4:4
http://www.blackmagic-design.com/products/hd/
http://www.onevideo.co.uk/decklink-hd-pro-444-p-1
(In the UK £959.98 inc VAT)
There are many other alternatives to this. This is just one suggestion that I have tested to work.
For my capture PC:
Opteron 254 (2.8ghz)
Tyan Thunder K8WE
Adaptec PCI-X Ultra 320 SCSI Raid controller (39320 series)
4 x 300GB 10,000rpm Seagate SCSI disks running as raid0 (6-8 would be best)
New Nvidia graphics card
2GB ECC RAM
-- Samir Gupta, Ph. D. Head, New Technology Research Group, Nintendo Co. Ltd., Kyoto, Japan.
I know I'm not adding a solution here, but I was attempting to think outside the box here:
PVR's? just off the top of my head, can they record from aux sources? most have DVI output, but do any have DVI input? that would be a nice pure DVI solution if such a device existed. or DVI-To-HDMI.... keeping it digital.
----- Concentrate on promoting more than demoting.
Have you looked into FRAPS (http://www.fraps.com/)? It doesn't quite meet your resolution requirements, but still gets you most of the way there.
It can record at 1152x864 (4:3) or 1280x720 (16:9) as a max resolution.
1280x1024 is only about a third higher resolution. Perhaps there is some technical limit that prevents fraps from passing one megapixel per frame (both supported max res are slightly below that mark), and 1280x1024 is 1.3 megapixels. But maybe they just picked a megapixel as an arbitrary ceiling to prevent customer complaints from slow performance.
I don't know anything about the internals of FRAPS, but it seems ideally suited to a dualcore system.
I suggest you contact the FRAPS people and ask them:
1) If a special build can be produced that supports 1280x1024
2) If FRAPS can take advantage of a second core (Game on one, FRAPS on the other) for such intensive recording
The demo videos are impressive. The UT2003 one at 1024x768 is just the intro and title screen, but the 800x600 Doom 3 demo is a minute of gameplay, and it doesn't seem to be dropping any frames.
I can't vouch for it, but the $3,000 AccuStream 170 is the only DVI capture card I've seen. It looks like the cost is almost a tie between DVI capture and DVI -> HD-SDI capture.
There is a way to do this where you don't have to write a single line of code, it is full resolution (up to 1600x1200) and can be done on the same machine you are creating the stuff on through hardware (not recommended because of bandwidth issues). I have done it. My NDA says I can't say how. Sorry.
http://techpubs.sgi.com/library/manuals/4000/007-4 663-002/pdf/007-4663-002.pdf
:(
"
The Silicon Graphics SGC option is a video frame capture PCI-X card that allows a stream
of digital computer resolution video (as compared to Standard Definition or High
Definition Digital TV signals) to be read into the memory of a Silicon Graphics Prism
system. The computer resolution video is delivered in a digital form to the card via a
single link DVI-D connector.
The card itself is seen as an OpenML 1.1 device, and can be programmed for use by
applications, video ingest from external DVI sources, or it can be used directly by
OpenGL Vizserver to support a Visual Area Networking (VAN) environment. Multiple
cards may be configured in a single system to support multiple input streams in an SGI
Reality Center or multiple remote VAN sessions. Note that the SGC card is required
when OpenGL Vizserver is used with the hardware compositor.
"
I guess you need an SGI computer though
Max.
Some of the nvidia cards have sdi output. Plug that into a sdi capture card and you are done.
Comment removed based on user account deletion
Comment removed based on user account deletion
Unless you're doing this a lot, you probably can find a facility that will have the appropriate scan converters. The easiest way is probably going to be DVI->HD-SDI->Capture Card. There are lots of places that have this (expensive) equipment. You're going to need very fast disks - uncompressed HD is huge.
-According to the 'experts'-
Well, It just so happens that I am an expert and I do have an easy solution for you but I might add that your experts don't know what they are talking about when they say to scan convert to 1050P when in fact the best HDTV signal is 1080I. I=interlaced P=Progressive scanning.
Having said that my solution is to purchase a medium end HDTV prosumer camera and shoot the picture off of your biggest and best monitor. All you have to do is tweak the monitor and camera (Color temperature and scan rate are the biggies but not that difficult) and you will be amazed at the results. Also you will know exactly how much you are cropping because you can look at the camera output while you are recording and not be at the mercy of a expensive post-production house because the "scan converting" was not done right on the first pass.
After all Lucas did it for years shooting hi-res monitors with 35mm film at ILM and those films at least looked good. Todays HDTV cameras are the very close equivalent of 35mm film.
It is because the spcs are what is required.
/. response:
This is a typical
You could use X. It doesn't meet your requirements.
I know I oversimplify what you stated, but the bottom line is: He is talking business here. Rule #1 will be that the solution will have to meet the requirements.
Sig (appended to the end of comments I post, 54 chars)
Simple:
Output video through a usb2-to-video adapter and capture all the usb data with a hardware debugging tool to another computer, then decode the data back into video.
...use a Wiki.
I know this might not be entirely useful, but we've got a card from SGI that does this:
i g_media.html#graphics_capture
http://www.sgi.com/products/visualization/media/d
jh
Check out http://rgb.com/, they have this type of equipment.
IIRC there are a few manufacturers who have firewire attached standalone harddrives. Plug DV right into them and big-fiddle, you have files.
Maybe peruse Markertek's website http://www.markertek.com/
Technology -- No Place For Wimps! Grateful Dead and Jerry Garcia Chatroom -- http://www.wemissjerry.org
We recently had a similar situation. We ended up going with an all-software solution, but screen-scraping may not be for you. One hardware solution we looked at, however, was the DGy system made by RGB Spectrum. They claim 30fps at 1280x1024 resolution, plus these boxes will do sound as well, and you can just FTP the recordings off them afterwards. We ended up not going for them because they were overkill for our needs. I have no idea on pricing, but I'm guessing that's not your primary concern.
Hopefully someone will mod this up.
I ran into the same problem recently. All you have to do is get one of the latest nvidia Quadro cards, they support a daughtercard with HD-SDI output, and then you can use whatever flavor of HD video editing system you want.
Take a look at http://www.unigraf.fi/?page=64 We've been using an earlier version to capture analog video at 1280x1024@67Hz. It does support DVI input; we just haven't needed to use it. It was the only board we found that supported Linux, and it has worked very well for us. A bit expensive, but it is a very nice board.
Chromium (http://chromium.sourceforge.net/) is an opengl wrapper lib that can intercept openGL calls and farm them out to rendering nodes - why not do something similar, but your wrapper lib lets the openGL calls go to the local hardware, and then captures the raw pixels coming back from the hardware?
You really need to decide exactly what you want to end up with before you start talking about how to start. The point of all this is to have something to show people.
Will you stream it from the web? -- I doubt you'll be able to stream high def very well
Will you distribute DVDs? -- There's not much use for HD here for a while
Will you show it at trade shows? -- Renting an HD deck & plasma will be extremely pricey
For a real world solution, go to an Audio Visual company and rent a "Folsom ImageProHD" scan converter. Use that to dump it as Component, Standard Def video into a DVCAM or miniDV deck and then edit that as you would any other video. The ImagePro is an extremely high quality scan converter. You should be able to rent it for about $500 a day, plus about $100 a day for a good component input DV deck. The quality will be very good and anyone can look at the finished product.
If you're really stuck on HD, the ImagePro will also output various HD formats. I rent these units regularly in my work (they go for between $8K & $12K depending on the model) and they are great.
Don't get too caught up on theoretical quality issues. I see people do it all the time, and they waste a lot of money that would be better spent on beer. IMHO
How the hell that becomes +4 Interesting ?
It is enough to say "I solved your problem, but I can't tell you how" to get modded Interesting now ?
Good, so mod me up.
I've a working prototype of cold fusion reactor here just next my time machine. But I can't show you or tell you more because NSA is spying on me.
High-def TV not ready for Net's prime time http://news.com.com/2100-1034_3-6058744.html?part= rss&tag=6058744&subj=news
What if you used a multi-core system (probably an AMDX2) and streamed the output via gigabit LAN?
Since you're not writing to HD you would just need a bunch of RAM to store frames while it gets streamed. Then you can use another system in a striped RAID-0 configuration to store the output quickly.
My other vote would go towards a frame-by-frame rendering situation. 1280x1024 is small potatoes for current graphics hardware. The resulting video won't be something you can't get in realtime.
Why 1080p? Is the display going on a 1080p TV?
I haven't tested it but I've heard that UltraVNC, with it's own video driver and the UltraRecorder program can do these things.
Just show your footage on a huge LCD and get a room full of people to stand in front of a guy with a shaky camcorder. Then watch as every games newssite discusses your video, which is near-unwatchable.
Small potatoes make the steak look bigger.
In the CoD/CoDUO tutorial section they have video tutorials. I don't remember the name of the software that they used, but you can see it in some of the video tutorials when they minimize programs.
This is a job for those idiot coders in the geek pen 40 feet away from you, you know.. those funny looking guys with posters of scantily-clad night elves on their cube walls.
Seriously, you've got "Game Engine Middleware" which is just a fancy way of saying "graphics and sound engine". Is it that difficult to just tap the output of your own in-house graphics renderer and send it to a file ? Then all you need to do is encode it to something slimmer like h.264 or WMV HD.
If you're too lazy (or your geeks are too incompetent to do it), you could always contact the people who make Fraps and convin$e them to up the maximum resolution for your purpose.
One thing is certain, this DVI to HDTV conversion is all wrong for you. The only reason a professional recommended this route, is because these "professionals" do many other things beyond capturing some in-house game engine's output, thus the DVI-HDTV capture is more versatile and polyvalent for their needs.
-Billco, Fnarg.com
Would that be a Wiki running on Gentoo (or is Ubuntu the default solution-for-everything fanboy distribution of choice these days)?
Look at Matrox, specifically at Matrox Axio product line on MAtrox Video page. Still strong in this market...
One that hath name thou can not otter
Why not just run your sequence at an artificially low framerate and use ffmpeg to encode it on the fly?
Simply put, in Soviet Russia, high res video converts you!!