View Full Version : Encoding real-time H.264 video game footage using Quick Sync?
whiplash000
2nd November 2011, 23:57
Hi everyone, I've been looking for quite a while for the best way to capture video game footage from my PC without having to resort to expensive dedicated hardware.
Say I'm playing a round of BF3 and I want to record it. My PC's already running at its maximum just rendering the frames (near-ultra settings :)). This means that both the CPU (2600k) and GPU (5850x2) are already in use. Adding the task of encoding 1920x1200 video at 60fps, in real time, is just too much for my computer.
However, there's untapped/unused potential in my computer. While all this is happening my 2600k's integrated GPU is idle, this could be put to work encoding H.264 video. I have Lucid Virtu installed on my PC. All I need to get this working is a VFW codec (that will work with Dxtory, a screen capture program). Does anyone know of one in development, or if one's already made that's free?
Dark Shikari
3rd November 2011, 00:30
An i7 2600K should be plenty fast enough to run a simple software encoder on the side (HufffYUV, x264 on ultrafast, xvid, etc) during the game without framerate loss.
whiplash000
3rd November 2011, 01:05
An i7 2600K should be plenty fast enough to run a simple software encoder on the side (HufffYUV, x264 on ultrafast, xvid, etc) during the game without framerate loss.
From my experience, not at 1920x1200. At that res there are bottlenecks that I hit. In the case of HufffYUV, it's my HDD write speed. I own an SSD, but that fills far too quickly at those bitrates.
I should also point out that I record at 60fps. Youtube doesn't do 60fps, but interpolating frames gives smoother motion at 30fps than if I were to just record at 30fps from the get-go.
Blue_MiSfit
3rd November 2011, 02:43
Tried x264 on --preset ultrafast?
Derek
whiplash000
3rd November 2011, 02:52
Tried x264 on --preset ultrafast?
Derek
Can't seem to get the command line to work on x264vfw...
looney
4th November 2011, 16:02
From my experience, not at 1920x1200. At that res there are bottlenecks that I hit. In the case of HufffYUV, it's my HDD write speed. I own an SSD, but that fills far too quickly at those bitrates.
You should have separate HDD, I dont know what bitrates you're talking about but if you want 40fps+ of 7MB/frame you'll obviously need either separate big SSD or bunch of slower HDDs (which prices skyrocketed btw, damn ssd will sell itself now when hdds are insanely high) in raid0. I'd go for two HDDs in raid 0 just for that purpose. At least you'd have plenty of space, and even 1+0 if you have money isn't such a bad idea (4HDDs at least)
Then you have to have dediacted core for that, and HYUV is the best if you're know what you're doing and have dedicated transcoding machine lying around for later to encode it w/ x264, and prefilter it before encode. tedious job.
Can't seem to get the command line to work on x264vfw...
vfw needs a tool/app from which it'd be called. Use x264 instead, and not x26vfw.dll ;)
CruNcher
4th November 2011, 16:09
look in the MPC test thread and see some Aero Desktop Quicksync Recording in Action, gonna release some different 3d Engine Records soon (OpenGL,DirectX) though everything on the GT1 nothing discrete (Rendering) yet :)
Though i realized it's still rather Problematic if GPU resources fight with each other to keep Recording Stable (Especially Recording Scene Demos seems problematic) its easier and more efficient currently to Record something entirely CPU driven that uses not so much GPU resources then the other way around with Quick Sync on the other side Recording with x264 seems more efficient for GPU driven Applications also latency feels better but those are only pre results guess also Preemption is the Keyword here and most probably it would look better with Windows 8 and WDDM 1.2.
ChiDragon
4th November 2011, 21:48
Can't seem to get the command line to work on x264vfw...
Preset is the first option in the GUI too.
CruNcher
6th November 2011, 15:40
Here is something i Recorded recently http://www.mediafire.com/download.php?lr93jn6pnut54bg you can also nicely see the Recording GPU utilization (Aero,DWM) :) the Performance Counter are updating @ 500ms (adds additional stress).
whiplash000
6th November 2011, 20:01
Here is something i Recorded recently http://www.mediafire.com/download.php?lr93jn6pnut54bg you can also nicely see the Recording GPU utilization (Aero,DWM) :) the Performance Counter are updating @ 500ms (adds additional stress).
So, this is taking advantage of Sandy Bridge to encode the video? I couldn't find what you were talking about in the MPC test thread. Can I have a link?
By the way, I just want to clarify what I'm asking about. Say I'm playing a round of BF3 and I want to record it. My PC's already running at its maximum just rendering the frames. This means that both the CPU (2600k) and GPU (5850x2) are already in use. Adding the task of encoding 1920x1200 video at 60fps is just too much for my computer.
However, there's untapped/unused potential in my computer. While all this is happening my 2600k's integrated GPU is idle, this could be put to work encoding H.264 video. I have Lucid Virtu installed on my PC. All I need to get this working is a VFW codec (that will work with Dxtory, a screen capture program). Does anyone know of one in development, or if one's already made that's free?
whiplash000
6th November 2011, 20:04
Preset is the first option in the GUI too.
http://i.imgur.com/4TWHx.png
Don't see it...
ChiDragon
7th November 2011, 05:11
I'm using the June build. Is it not on one of those other tabs?
MasterNobody
7th November 2011, 06:36
There are 2 different x264vfw GUIs:
- ChiDragon probably use one from project page on sourceforge (http://sourceforge.net/projects/x264vfw/).
- whiplash000 use builds from komisar (http://komisar.gin.by/) (they updated more frequently but use old GUI where there was no presets/tunes/profiles support but more options were available without command line params).
CruNcher
7th November 2011, 12:57
So, this is taking advantage of Sandy Bridge to encode the video? I couldn't find what you were talking about in the MPC test thread. Can I have a link?
By the way, I just want to clarify what I'm asking about. Say I'm playing a round of BF3 and I want to record it. My PC's already running at its maximum just rendering the frames. This means that both the CPU (2600k) and GPU (5850x2) are already in use. Adding the task of encoding 1920x1200 video at 60fps is just too much for my computer.
However, there's untapped/unused potential in my computer. While all this is happening my 2600k's integrated GPU is idle, this could be put to work encoding H.264 video. I have Lucid Virtu installed on my PC. All I need to get this working is a VFW codec (that will work with Dxtory, a screen capture program). Does anyone know of one in development, or if one's already made that's free?
It should be doable yes (that's the final goal) currently im restricting myself to the GT1 directly :) optimizing for this which is somewhat easier to reach maximum performance and testing different things but definitely discreet Capturing is the Goal (also take into account this hasn't been done before, not aware of it at least) (i also still have several problems i have to find solutions first for) :)
So until then http://forum.doom9.org/showpost.php?p=1537038&postcount=688
Lighto
9th November 2011, 16:25
AFAIK even if you are using a Z68 Intel chip set motherboard with a Lucid Virtu set up, only one graphic hardware will be in use at any one time.
In your case it will be either Intel HD 3000 or your 5850 in CrossFireX mode.
The QuickSync technology can only be utilized when you are using the integrated graphics.
As such, I believe that as of now it is impossible to make use QuickSync for encoding during game play as it is impossible to use your 5850 in CFX and Intel HD 3000 at the same time.
Shark007
9th November 2011, 16:53
AFAIK even if you are using a Z68 Intel chip set motherboard with a Lucid Virtu set up, only one graphic hardware will be in use at any one time.
I have an ASUS P8Z68-V LE
Installed on this board is an i7 2600k and an AMD 6870
As long as I make the Intel graphics the boot device in BIOS,
I can use both the Intel and the AMD graphics simultaneously in Windows.
Lighto
10th November 2011, 06:41
I have an ASUS P8Z68-V LE
Installed on this board is an i7 2600k and an AMD 6870
As long as I make the Intel graphics the boot device in BIOS,
I can use both the Intel and the AMD graphics simultaneously in Windows.
It would seem that I was wrong.
•Virtu i-Mode allows seamless switching between integrated Intel HD graphics and a separate graphics card, resulting in significant power savings when the power of the graphics card isn't required. In this mode the monitor is plugged into one of the motherboard's video ports.
•Virtu d-Mode enables the use of a separate graphics card while allowing the use of Intel's "Quick Sync" video transcoding technology, which runs on the iGPU. In this mode the monitor must be plugged into the graphics card.
Virtu d-Mode would allow OP to achieve his objective on a Z68 motherboard.
CruNcher
15th November 2011, 22:52
AFAIK even if you are using a Z68 Intel chip set motherboard with a Lucid Virtu set up, only one graphic hardware will be in use at any one time.
In your case it will be either Intel HD 3000 or your 5850 in CrossFireX mode.
The QuickSync technology can only be utilized when you are using the integrated graphics.
As such, I believe that as of now it is impossible to make use QuickSync for encoding during game play as it is impossible to use your 5850 in CFX and Intel HD 3000 at the same time.
This isn't completely correct it's restricted yes but it's not undoable its just what you hear in the media for several reasons but others also have quiet good progress and workarounds already without even needing to use Virtu @ all the magic is in NT6 not Virtu ;)
I successfully captured my first Game Engine (D3D9) run though i have sync issues currently (OpenGL also works) :)
The first real Fraps Killer will be released tomorrow though :)
PS: Im currently conducting more Performance testing and im pretty happy with the results from a Practical point of view, my latest Realtime Desktop Recording result http://forum.doom9.org/showpost.php?p=1538822&postcount=30 :)
win8_pro
25th October 2012, 17:27
I was also looking for a solution for encoding video in realtime with quick sync for a long time for video capture software. Currently the only working and stable solution found is Action! made by Mirillis. Seems like quick sync was added just some weeks ago but performance is nice on notebook with Optimus (nvidia+intel).
Cruncher: do you have something working? Your posts seem to be interesting concerning video capture.
Sorry for poping old thread but maybe Action! will be helpfull for someone and im curiious about Crunchers solution...
whiplash000
25th October 2012, 18:20
From what I can tell, Action! uses Quick Sync only when exporting the video to an MP4 file. It uses some proprietary codec to encode the captured video. It has some good performance on a slow hard drive, I must say. It doesn't bog down BF3's fps too much but the captured video does seem to drop below 60fps occasionally. Shame.
Not only that, but it won't let me export to 1920x1200!? It doesn't even have any way to set custom resolutions!
EDIT: Scratch that, I didn't look hard enough. There's an option to encode realtime using Quick Sync. Quality is average at best, and it still doesn't encode beyond 1080p, unfortunately.
vivan
26th October 2012, 00:59
whiplash000,
Action! comes with vfw decoder for their codec, so you can easily edit/encode using almost anything (e.g. avisynth + x264).
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.