Req Frame Advance and Slow Motion
#76
(2021-02-21, 20:24)brazen1 Wrote: Hi.  I'm seeking a way to screenshot a frame from an HDR video.  I came across this thread.  I'm able to seek frame by frame with an external player but ...

Kodi is not a video editing tool, and that is what you need to do what you want.  Try Avidemux.  With it, you can find what you want to screenshot, then under the File menu, choose Save as Image.  This will save a single image from the video.
Reply
#77
Thanks for the suggestion but I'm not looking to edit video.  Kodi easily captures screenshots as it is.  I just want to use Kodi frame by frame so I can capture more precisely by pressing Alt + Left/Right arrow keys.  It doesn't work for me but according to posts I read here it does for others.  Maybe they are using a different platform and the Windows 20H2 I use is problematic?  Maybe something has broken functionality in the latest Matrix build?  Maybe there are settings in Kodi that require they be enabled or disabled beyond the Sync Playback to Display?  I don't know?  That's why I'm seeking help here but a 3rd party software is not what I'm after tbh.
HOW TO - Kodi 2D - 3D - UHD (4k) HDR Guide Internal & External Players iso menus
DIY HOME THEATER WIND EFFECT

W11 Pro 24H2 MPC-BE\HC madVR KODI 22 GTX960-4GB/RGB 4:4:4/Desktop 60Hz 8bit Video Matched Refresh rates 23,24,50,60Hz 8/10/12bit/Samsung 82" Q90R Denon S720W
Reply
#78
(2021-02-22, 01:45)brazen1 Wrote: Thanks for the suggestion but I'm not looking to edit video.  Kodi easily captures screenshots as it is.  I just want to use Kodi frame by frame so I can capture more precisely by pressing Alt + Left/Right arrow keys.  It doesn't work for me but according to posts I read here it does for others.  Maybe they are using a different platform and the Windows 20H2 I use is problematic?  Maybe something has broken functionality in the latest Matrix build?  Maybe there are settings in Kodi that require they be enabled or disabled beyond the Sync Playback to Display?  I don't know?  That's why I'm seeking help here but a 3rd party software is not what I'm after tbh.

Frame Advance

You seem to be getting confiused, those Alt + Left/Right arrow keys controls are only for the tempo playback speed feature, this is not frame advance. For frame advance then PlayerControl(FrameAdvance(1)) needs to be added to the keymap. However if you use Estuary then the ability to do this from the skin with no modfications is now possible in v19, first you must pause the video, open the OSD player controls, press up so the nib chages from white to blue to show it's selected, then right arrow can be used to advance.

Image

Note: video must first be paused to use frame advance (sync to playback does not matter for frame advance).

Tempo/Playback speed

Should also mention the tempo/playback speed can also now be controlled via the OSD gui in v19

Image

Image

Note: sync to playback needs to be enabled.
Reply
#79
@jjd-uk 

Thank you very, very much.  Precisely what I needed to know.  Working perfectly.  I did notice Kodi crashes for me with Sync Playback to Display enabled rendering HDR but not SDR.  With it disabled, frame advance works SDR and HDR.  Fortunately, I don't want it enabled anyway.  I didn't try speeds and don't require so can't comment.  I did notice I can only advance frame by frame.  There is no rewind frame by frame and understand there shouldn't be but it would be great if it did.    

An observation that might help others:
HDR .png screenshots were saving to my chosen folder I was prompted to navigate to and select the first time when pressing PrtScn.  These looked washed out.  Not sure how you did it viewing your screenshot above?  However, if I rapidly press the Windows key + PrtScn keys 3 or 4 times, a .png screenshot is also saved to the Windows Pictures/Screenshots folder.  These look perfect as HDR should.  A 3840 x 2160 screenshot from HDR video is about 10MB more or less fwiw.

I'm not clear about "PlayerControl(FrameAdvance(1)) needs to be added to the keymap."  I don't mind switching to Estuary but my daily driver is https://forum.kodi.tv/showthread.php?tid=210069.  I assume I can add PlayerControl(FrameAdvance(1)) to C:\Program Files\Kodi\system\keymaps\keyboard.xml?  If so, under which detent?

<global>
    <keyboard>

?

Thanks again for helping me  Smile
HOW TO - Kodi 2D - 3D - UHD (4k) HDR Guide Internal & External Players iso menus
DIY HOME THEATER WIND EFFECT

W11 Pro 24H2 MPC-BE\HC madVR KODI 22 GTX960-4GB/RGB 4:4:4/Desktop 60Hz 8bit Video Matched Refresh rates 23,24,50,60Hz 8/10/12bit/Samsung 82" Q90R Denon S720W
Reply
#80
(2021-02-22, 19:12)brazen1 Wrote: I did notice I can only advance frame by frame.  There is no rewind frame by frame and understand there shouldn't be but it would be great if it did.    

Yes it is advance only, no back frame function available.

(2021-02-22, 19:12)brazen1 Wrote: I'm not clear about "PlayerControl(FrameAdvance(1)) needs to be added to the keymap." I don't mind switching to Estuary but my daily driver is https://forum.kodi.tv/showthread.php?tid=210069. I assume I can add PlayerControl(FrameAdvance(1)) to C:\Program Files\Kodi\system\keymaps\keyboard.xml? If so, under which detent?  

It needs to be added to the <FullscreenVideo> section, I'd assumed that as you're a long term member here you'd know all about keymaps, see https://kodi.wiki/view/Keymap. Create a new keyboard.xml in the Userdata keymaps folder and then all you need to do is add any changes as Kodi reads both files then uses the one in userdata to override the one if System. So if the same key is used in both for different function, the function specified in the Userdata one takes preference, and anything present in the Userdata one that is not present in the System one gets applied.

The other thing maybe worth pointing out in case it's not obvious is you can specifify the number of frmaes to advance by if you need.

To advance 2 frames at a time PlayerControl(FrameAdvance(2))

To advance 5 frames at a time PlayerControl(FrameAdvance(5))

I'm not sure if the range is limited as I haven't played with much.
Reply
#81
(2021-02-22, 19:12)brazen1 Wrote: Not sure how you did it viewing your screenshot above? 
Well that was just SDR video and I use the built in Windows tool Snip & Sketch for getting any screenshots, that can be launched by Win+Shift+S
Reply
#82
Yes, I am using a custom keyboard.xml but I still can't get frame advance to work in my skin instead of Estuary.  I eliminated my .xml and made a fresh one like this (not sure if it's correct.  Tried quite a few different ways.)

Code:
<keymap>
  <fullscreenvideo>
    <keyboard>
      <PlayerControl(FrameAdvance(1))>
    </keyboard>
  </fullscreenvideo>
</keymap>

Here is my original .xml I want to add the code to if you can provide:

Code:
<keymap>
   <global>
     <keyboard>
      <two>JumpSMS2</two> 
      <three>JumpSMS3</three> 
      <four>JumpSMS4</four> 
      <five>JumpSMS5</five> 
      <six>JumpSMS6</six> 
      <seven>JumpSMS7</seven> 
      <eight>JumpSMS8</eight> 
      <nine>JumpSMS9</nine>
     </keyboard>
   </global>
</keymap>

When I press up so the nib changes, I'm presented with my skin's player controls and they don't react like the Estuary player controls.  Am I understanding correctly that frame advance can be added to a custom skin by adding code to a keyboard.xml in AppData\Roaming\Kodi\userdata\keymaps?  Sorry, I only know enough about things to get myself into trouble and I thank you again for helping me.

Image
HOW TO - Kodi 2D - 3D - UHD (4k) HDR Guide Internal & External Players iso menus
DIY HOME THEATER WIND EFFECT

W11 Pro 24H2 MPC-BE\HC madVR KODI 22 GTX960-4GB/RGB 4:4:4/Desktop 60Hz 8bit Video Matched Refresh rates 23,24,50,60Hz 8/10/12bit/Samsung 82" Q90R Denon S720W
Reply
#83
I don't understand why you think that using Windows Print Screen in Windows will produce a better image than extracting the original image from the video file.  The "washed-out" images you complain about are probably the result of making a copy of the image, instead of using the original image.  If you extract the original image from the video file, it will be unaltered.  It will be the original size & quality of the video.  You can easily resize it if necessary.

In Avidimux (free program BTW), you can go forward or backward frame by frame, and quickly save the original images as they are in the video.  You can also quickly scroll to the locations in the video you want.  It is simple, certainly a lot easier than what you are trying to do now, and will produce better images.

Plus, if you use frame advance in Kodi and Windows Print Screen, you are going to see the playback controls overlaid on the image, as evidenced in the above posts.

Kodi is a great media library & player, and Windows Print Screen can be a useful tool, but nothing beats saving the original images.

If you see a picture on a webpage you like and want to save, do you use Windows Print Screen, or do you right-click on the picture and chose "Save Image As..."?  I would hope the latter, but I wonder.  This is a similar situation.
Reply
#84
(2021-02-22, 22:58)brazen1 Wrote: Yes, I am using a custom keyboard.xml but I still can't get frame advance to work in my skin instead of Estuary.  I eliminated my .xml and made a fresh one like this (not sure if it's correct.  Tried quite a few different ways.)

Code:
<keymap>
  <fullscreenvideo>
    <keyboard>
      <PlayerControl(FrameAdvance(1))>
    </keyboard>
  </fullscreenvideo>
</keymap>

Here is my original .xml I want to add the code to if you can provide:

Code:
<keymap>
   <global>
     <keyboard>
      <two>JumpSMS2</two> 
      <three>JumpSMS3</three> 
      <four>JumpSMS4</four> 
      <five>JumpSMS5</five> 
      <six>JumpSMS6</six> 
      <seven>JumpSMS7</seven> 
      <eight>JumpSMS8</eight> 
      <nine>JumpSMS9</nine>
     </keyboard>
   </global>
</keymap>

When I press up so the nib changes, I'm presented with my skin's player controls and they don't react like the Estuary player controls.  Am I understanding correctly that frame advance can be added to a custom skin by adding code to a keyboard.xml in AppData\Roaming\Kodi\userdata\keymaps?  Sorry, I only know enough about things to get myself into trouble and I thank you again for helping me.

Image

Well in that keymap you've not mapped the action to a key, you can't simply add the action without binding it to a key. For example

xml:
<d>PlayerControl(FrameAdvance(1))</d>

This maps the action to the d key.

Refer System keyboard.xml to see what keys are free, or substitute the frame advance action for any existing key to action binding that is unused by you.

As for doing it in the skin that has nothing to do with the keymap. I simply changed the Estuary videoosd.xml file to apply the frame advance action when nib is selected in the Paused state and right is press, absolutely nothing needed to be done with any keymap.

This is the Estuary code https://github.com/xbmc/xbmc/blob/master...#L242-L249
Reply
#85
@jjd-uk 
By golly... I have it working perfectly now in a custom skin with a mapped key on my remote.  Simply pause and then advance frame by frame with the key.  Pressing Windows + PrtScn once saves the screenshot now.  I have a much better understanding how this works finally.

@Windrider6 
I appreciate your input too.  Fwiw, the playback controls, the pause icon and the clearlogo are present in the screenshots because the video is paused.  It's just how the skin is designed to display in that environment.  After pressing one frame advance, all that disappears and leaves just the picture for a clean screenshot.  At 10MB more or less, I think I'm getting an unaltered .png.  32 bit depth at 3840 x 2160. 

The entire reason I wanted to get this going is so I can display an HDR screenshot on the web for folks that don't have HDR displays and for those that do without converting the thing to SDR so it accommodates everyone.  That would require me to manually tone map my HDR video to SDR and I'm not in to all of that hassle tbh.  I've just checked on my ancient SDR only laptop and the pics posted here look much better than the washed out ones I've posted in the past.  Here's what I'm talking about https://www.avsforum.com/threads/madvr-p...t-60511664

I will keep Avidimux in mind.  It looks like a powerful diverse tool.  Thank you for sharing and providing some insight about it.
HOW TO - Kodi 2D - 3D - UHD (4k) HDR Guide Internal & External Players iso menus
DIY HOME THEATER WIND EFFECT

W11 Pro 24H2 MPC-BE\HC madVR KODI 22 GTX960-4GB/RGB 4:4:4/Desktop 60Hz 8bit Video Matched Refresh rates 23,24,50,60Hz 8/10/12bit/Samsung 82" Q90R Denon S720W
Reply
#86
How has this feature been working in Kodi 19?  I keep getting notifications to upgrade from 18.9.
Also, I'm using this feature with customized Confluence, which last I looked wasn't compatible.
Reply
#87
(2021-02-26, 01:23)Landstander Wrote: How has this feature been working in Kodi 19?  I keep getting notifications to upgrade from 18.9.
Also, I'm using this feature with customized Confluence, which last I looked wasn't compatible.

It works fine in Kodi 19.  I have the functions mapped to my remote, so it's not dependent on the skin (I'm using Estuary, though).
Reply
#88
(2021-02-23, 00:04)Windrider6 Wrote: I don't understand why you think that using Windows Print Screen in Windows will produce a better image than extracting the original image from the video file.  The "washed-out" images you complain about are probably the result of making a copy of the image, instead of using the original image.  If you extract the original image from the video file, it will be unaltered.  It will be the original size & quality of the video.  You can easily resize it if necessary.

In Avidimux (free program BTW), you can go forward or backward frame by frame, and quickly save the original images as they are in the video.  You can also quickly scroll to the locations in the video you want.  It is simple, certainly a lot easier than what you are trying to do now, and will produce better images.

Plus, if you use frame advance in Kodi and Windows Print Screen, you are going to see the playback controls overlaid on the image, as evidenced in the above posts.

Kodi is a great media library & player, and Windows Print Screen can be a useful tool, but nothing beats saving the original images.

If you see a picture on a webpage you like and want to save, do you use Windows Print Screen, or do you right-click on the picture and chose "Save Image As..."?  I would hope the latter, but I wonder.  This is a similar situation.

I record videos of myself and others with iPhone. Then use Avidimux to save hi-res images as reference for my illustrations in Adobe Illustrator.
Reply
#89
Thumbs Up 
thanks this worked for me on Macos and apple remote
Reply
#90
Thumbs Up 
(2019-09-29, 00:28)jf43 Wrote: I've come across this post while searching for how to watch some of the sport that I have recorded off the TV in slow-motion, and seem to be within touching distance of a solution, but not quite there, so if anyone can help me finish off the setup, it would be much appreciated.

I'm running Kodi 17.6 on Ubuntu 18.04 on a dedicated box.

So I've tried to add a single frame advance to my MCE remote 'next chapter' button and also to 'Alt-a' on the keyboard, with the following keyboard.xml file :
<?xml version="1.0" encoding="UTF-8"?>
<keymap>
  <FullscreenVideo>
    <remote>
      <skipplus>PlayerControl(frameadvance(1))</skipplus>
    </remote>
    <keyboard>
      <a mod="alt">PlayerControl(frameadvance(1))</a>
    </keyboard>
  </FullscreenVideo>
</keymap>

And this seems to have worked, as I get the following entries in the log (with debug logging enabled) when I pause a video and then press the relevant buttons :
22:55:34.266 T:139761216188352   DEBUG: LIRC: Update - NEW at 68975:000000037ff07be5 00 KEY_NEXT mceusb (KEY_NEXT)
22:55:34.266 T:139761216188352   DEBUG: OnKey: sleep (0xdf) pressed, action is PlayerControl(frameadvance(1))
22:55:37.126 T:139761216188352   DEBUG: Keyboard: scancode: 0x40, sym: 0x0134, unicode: 0x0000, modifier: 0x100
22:55:37.127 T:139761216188352   DEBUG: OnKey: alt-leftalt (0x4f0d4) pressed, action is
22:55:37.633 T:139761216188352   DEBUG: Keyboard: scancode: 0x26, sym: 0x0061, unicode: 0x0061, modifier: 0x100
22:55:37.633 T:139761216188352   DEBUG: OnKey: alt-a (0x4f041) pressed, action is PlayerControl(frameadvance(1))

HOWEVER Kodi just doesn't seem to do anything with the order it's being given.

For other keypresses, there appears to be feedback from the executed command in the log file, but no such info here, so it appears that Kodi is just not executing the command - do I need to enable something somewhere, or compile something in to get FrameAdvance functionality?

Thanks in advance for any help
Reply

Logout Mark Read Team Forum Stats Members Help
Frame Advance and Slow Motion3