Image Sequence Recorder

Post your working scripts, libraries and tools for AHK v1.1 and older
User avatar
rommmcek
Posts: 1480
Joined: 15 Aug 2014, 15:18

Re: Image Sequence Recorder

24 Dec 2019, 04:54

Thanks for feedback!
Fixed Frame resize and other quirks!
malcev
Posts: 1769
Joined: 12 Aug 2014, 12:37

Re: Image Sequence Recorder

26 Dec 2019, 15:23

@rommmcek, if You run my code without adding coordinates will it work for You?
What NVIDIA videocard do You have?
I suppose that some NVIDIA videocards do not support GPU hardware acceleration in ID3D11DeviceContext::CopySubresourceRegion method and therefore You capture with CPU hardware acceleration that does not support MFVideoFormat_ARGB32 format.
User avatar
rommmcek
Posts: 1480
Joined: 15 Aug 2014, 15:18

Re: Image Sequence Recorder

26 Dec 2019, 23:45

You can review some of my equipment.
My NVIDIA Sys Info:
Your code yields: hardware-encoder - NVIDIA H.264 Encoder MFT
If run without adding coordinats or with them, works the same, i.e. if hardware_encoding:= true (reintroduced by me) I get upside down video.

P.s.: Don't know which "version" of holydays you celebrate, nevertheless: Marry Christmas and Happy New Year!!!
User avatar
rommmcek
Posts: 1480
Joined: 15 Aug 2014, 15:18

Re: Image Sequence Recorder

27 Dec 2019, 04:03

Thank you for the instructive question: Mistery Solved!

After answering to you, I've got flash of wit, so I specified: hardware_encoder:= "GeForce MX 660M" and I got correct output, however CPU usage during recording was ~6% (that is 1% more then with hardware_encoding := false)
A few iteration later I tried: hardware_encoder:= "H.264 Encoder GeForce MX 660M", with marginal CPU usage (0.1%-0.4%)!

Conclusion: It seems that your code does not identify my hardware encoder correctly.
Last edited by rommmcek on 28 Dec 2019, 17:08, edited 1 time in total.
malcev
Posts: 1769
Joined: 12 Aug 2014, 12:37

Re: Image Sequence Recorder

27 Dec 2019, 04:14

rommmcek, Thank You! Marry Christmas and Happy New Year!!!
If we talking about this code
https://www.autohotkey.com/boards/viewtopic.php?p=306894#p306894
then You do not need to add this line - hardware_encoder:= "H.264 Encoder GeForce MX 660M", because it does nothing.
Script just enumerates all Your hardware codecs and shows friendly name of the first one, because Microsoft Media Foundation does not let You which codec to choose - it chooses codec by their merit.
You can only indicate "MF_READWRITE_ENABLE_HARDWARE_TRANSFORMS", and then Microsoft Media Foundation will try to use hardware codec.
Also You can change merit of encoders-decoders by editing Your registry. (Do not recommend to do it without making copy of registry before editing).
Please try this code with coordinates and without.
https://www.autohotkey.com/boards/viewtopic.php?p=306894#p306894
Conclusion - May be some software sometimes does not let You to use GPU?
User avatar
rommmcek
Posts: 1480
Joined: 15 Aug 2014, 15:18

Re: Image Sequence Recorder

28 Dec 2019, 17:00

- thanks to have patience with me!

- since 22 Dec 2019, 21:07 I use only code with audio (don't be misled by hardware_encoding:= false which I added to get correct output. It only prevents hardware_encoder:= MFTEnumEx(...) to execute). So this is true:
If run without adding coordinats or with them, works the same, i.e. if hardware_encoding:= true (reintroduced by me) I get upside down video.

- my statements about CPU usage are wrong. CPU usage is depending of the frame size and even of the dynamic of the recorded aria. Besides my unprecedented low CPU usage result came due to mistakenly changing: video_fps:= 5!!!

- you're basically right, assigning hardware_encoder:= "H.264 Encoder GeForce MX 660M" or whatever does nothing, however if the string contains "NVIDIA" (case insensitive) then I get inverted upside down output (again: w/ or w/o assigned coordinats).

Updated the code to allow recording the whole screen through only one hotkey F2 (long press) and rearranging some of the hotkeys.
malcev
Posts: 1769
Joined: 12 Aug 2014, 12:37

Re: Image Sequence Recorder

28 Dec 2019, 18:15

I update code
Now position of cursor is calculated with hotspot.
Try to uncomment "Rotate".
User avatar
rommmcek
Posts: 1480
Joined: 15 Aug 2014, 15:18

Re: Image Sequence Recorder

29 Dec 2019, 02:00

First tests are very good! Using Rotate := true yields correct output.
P.s.: I noticed a difference: capture_cursor := true yields now less offset as before. (in this case Rotate was commented to be comparable with previous code)
Edit: Made one more test: Rotate := true uncommented vs hardware_encoder := MFTEnumEx(…) commented: The latter has ~3% less CPU usage (whole screen - no coordinats, static picture).
Attachments
Cursors.zip
(2.58 KiB) Downloaded 95 times
User avatar
iilabs
Posts: 296
Joined: 07 Jun 2020, 16:57

Re: Image Sequence Recorder

04 May 2022, 10:44

Hi Hellbent,
Do you have an updated version of this script?
User avatar
Hellbent
Posts: 2114
Joined: 23 Sep 2017, 13:34

Re: Image Sequence Recorder

04 May 2022, 20:48

iilabs wrote:
04 May 2022, 10:44
Hi Hellbent,
Do you have an updated version of this script?
No I don't. This does exactly what I had needed it to do so I didn't do anymore work on it once it checked the boxes I needed checked. I didn't really want to make this script but I needed something that did what this did so I made it rather than searching endlessly for something that sort of does what I wanted.

What is it you are looking to do?
User avatar
iilabs
Posts: 296
Joined: 07 Jun 2020, 16:57

Re: Image Sequence Recorder

05 May 2022, 10:24

Its great as is, just wondering if you modified it like your other work. Keep the Sistine Chapel as is.

Return to “Scripts and Functions (v1)”

Who is online

Users browsing this forum: No registered users and 308 guests