Simulating projection on a rectangular screen at an angle with perspective distortion

In a presentation where the lighting conditions make the powerpoint projection barely visible, I would like to superimpose the actual powerpoint slides simulating the projection in the screen area.

The video was shot at an angle. Therefore, I need to accordingly stretch the projection, so that the corners of the powerpoint slides coincide with the corners of the screen. First, I experimented in a composite shot, with a jpg image of the same resolution as the video of the powerpoint. After some tweaking, I managed a quite good approximation by turning the layer of the image to 3d and by changing its parameters.

I then tried to do the same with the video of the powerpoint. The video would show only in 2d and would disappear as soon as I turned it to 3d.

(If things come to worst, I could do a sequence of images, but I would lose the animations of the powerpoint).

Does anyone know why this problem happens with the video and if there is some way around it?

Thank you in advance.

Comments

  • FilmSensei
    FilmSensei Posts: 3,127 Expert
    edited March 2017

    enasperi Try using the quad warp effect. To get an idea, check out my video on super imposing a video on a television screen. Good luck!

  • Aladdin4d
    Aladdin4d Posts: 2,466 Enthusiast

    @HitFilmSensei is right Quad Warp is what you want to do what you describe. If the camera is locked down throughout then great you won't have to do any tracking but if there is movement, you'll have to track 4 corners for Quad Warp to follow during the movement(s).

    You may want to work with images (note you can use video IF you have a quality PowerPoint capture) and change things up a little instead by cropping to just the presenter and showing the slides head on in a picture in picture type setup. This lets you present the slides in the best possible way without sacrificing the most important part of the live recording, the presenter.

    Here's an example starting @1:00

    Other thoughts:

    The PowerPoint capture - If you have one and it was done with screen recording software or even an Epiphan box odds are it has a variable frame rate and you'll need to convert it to a constant frame rate first otherwise you'll have sync issues. Options for doing that are discussed or linked to in this thread

    https://hitfilm.com/forum/discussion/42349/transcoding-for-better-performance-and-easier-editing

    Another issue with using a capture is the quality isn't always that good and generational loss becomes a problem. Exporting images from PowerPoint solves that problem but it is more work to assemble them on a timeline.

    If the capture was done by using PowerPoint to record the slide timings then exporting a video based on those then things to be aware of are:

    • The PowerPoint timer is NOT a high accuracy, high performance timer so slide changes could end up a little bit off the 'real' slide changes. This compunds the next issue
    • PowerPoint's default frame rate for animations is 15 fps. The video export frame rate is double that @ 30 fps. 30 fps is NOT the same as 29.97 and there will be sync issues with the live video which get even worse if your live video was recorded @  23.976, 24, or 25 fps.
    • You might be able to use an add-in or a macro to get around the above issues but my luck with either has been spotty .

    Exporting images to use - Don't worry about losing the animations quite yet. If you have the actual presentation to be able to export the slides then you have the animations. A PowerPoint file is essentially a Zip archive of assets plus some XML to sort it all out. If you change the extension of a PowerPoint file to .zip Windows will treat it just like any other zip file but it's a pain to do that. Instead grab 7-Zip. Once it's installed you can right click a PowerPoint file and select 7-Zip to extract the contents to a new folder leaving the original file untouched. Animations should be in the ppt\media folder. 

    Many things that appear to be animations are animated but they aren't actual animations. Instead they are types of transitions or motion paths for other elements to follow. These will not be something you can easily extract for reuse but that doesn't mean all is lost. First  +99% of this type of thing is poorly used and hurts the presentation instead of helping it so unless it's critical to the information being presented you're better off dumping most of it and sticking to basic transitions, fades or cuts which are easily done. Remember you're doing this for others that couldn't see it live to begin with. They have no clue what the original looked like and if they're going to watch this it's because they want the information not superfluous text effects. 

    Dealing with slides that have a lot of stacked elements like bullet points displaying one at a time after advancing - These can be broken out into individual slides by using the PPSplit add-in allowing you to export each one as an image. 

    Image export resolution - This can be changed by changing the default PowerPoint DPI in the registry. The maximum DPI value is 307 resulting in a max 4:3 image size of 3072 × 2304 and a max 16:9 image size of 4096 x 2304.  There's instructions and a table of values here:

    https://support.microsoft.com/en-us/help/827745/how-to-change-the-export-resolution-of-a-powerpoint-slide

    If you don't want to mess with registry there's a commercial add-in along with sample VBA code to roll your own solution here:

    http://www.pptfaq.com/FAQ00052_Improve_PowerPoint-s_GIF-_BMP-_PNG-_JPG_export_resolution.htm

     

     

     

     

     

     

  • enasperi
    enasperi Posts: 4

    Thank you so much, both @HitFilmSensei and  Aladdin4d !

    HitFilmSensei describes exactly what I needed! My camera was fixed. My problem was that because of the strong lights in the room, the colors of the projection were not as visible as I wanted them.

    I give here details about what I did, in case someone else has the same problem:

    The video of my powerpoint presentation was very clear, as I did not use screen capture. I actually created a video, using the "File>Export>Create a Video" Powerpoint's feature. There you can set the resolution too. I did not need too high a resolution, as the projection was occupying  a rather small part of the 1920x1080 presentation video.

    I wish they had not forgotten to press the "Slide Show>Record Slide Show" and then the Record button, during the original presentation. That would have allowed to immediately produce a video with exact changes of slides.

    To simulate the presentation, I recorded it again in Powerpoint during a video playback (You can also record the sound and that may be useful for synchronisation). So the timings of the slides were almost the same with  the presentation's (with some deviations due to the inaccuracy of my reflexes). Then I exported the video.

    Being picky about having the slide transitions at the exact same frames as in the presentation video, I did some small adjustments in the duration of each slide. I did this in HitFilm, by slicing the old video, moving the parts so that transitions are accurate and then filling any gaps with copy/paste of static parts of the presentation. I suspect there must be some easier way to close gaps by repeating the first or last frame of a part of a video, but I could not find how to do it. Then produced a new video with the same resolution. If there was some lost of accuracy there, it is not visible.

    Finally I combined the video of the presentation with the (shorter) powerpoint video.

    Thank you, again, both for your help!

     

  • Palacono
    Palacono Posts: 3,414 Enthusiast

    To close/adjust those gaps you could have probably got away with using the Rate Stretch Tool. It would have added/removed any extra frames from somewhere in the middle of the clip section and would not have been noticed if it was, say, a 5 seconds slide and you wanted to add/subtract 3 or 4 frames.

  • enasperi
    enasperi Posts: 4

    Thank you @Palacono! This will save me much trouble.

    I assume that if I slice the PPT video near the gap, leaving a uniform clip with the single image that I need to close to that gap, I can safely use the rate stretch and stay assured that all my frames will remain the same.

    As I understood from "Shiny Films" "Hitfilm 4 Express Slow Motion - Rate Stretch Tool and Speed Effect" video, stretching a sequence of frames:

    12345

    creates

    1i2i3i4i5, where each "i" is an intermediate frame, created by fading the adjacent frames.

    Now, if the extension is not a multiple of the clip, I assume the resulting clip may be

    12i34i5 or 1i23i45

    1ii2i3ii4i5 or 1i2ii3i4ii5 depending on how it chooses the frames.

    Generally, I assume that somehow it arranges so that the number of in-between frames may be off only by one in a stretched clip and tries to spread the different numbers as evenly as possible (e.g. [0,1], [1,2] like above or even [5,6] with questionable results). If k1 is the number of the "i groups" with j intermediate frames and k2 the number of the other "i-groups" which all have the same number of j+1 or j-1 frames, then k1 should be ranging from 0 to n-2 and k2 should be n-1-k1.

    In any case, I assume that if all frames are the same in a clip (as it happens in most parts of my powerpoint presentation) then this clip can be extended as much as needed, giving crisp-clear frames, since they result from the fading of identical frames.

    This means that 

    11111

    can be stretched to

    1111111111111 (since i must be the same as 1)

    or even

    11111111111111111111111111111111111111111111

     

    Am  I correct?

  • Triem23
    Triem23 Posts: 20,190 Power User

    Your summation is correct. :-)

  • Palacono
    Palacono Posts: 3,414 Enthusiast
    edited March 2017

    @Triem23 Not quite...it's based on an incorrect starting point ;)

    @esasperi Speed does indeed interpolate Opacity between frames as you suggested, although if you made a Speed Effect change that expanded 1,2,3,4 by only one frame, you'd actually end up with not a single frame that wasn't touched, as it would blend 4 frames over 5, so each would be some combination of the ones either side of it.

    Whole amounts, such as doubling, and halving are easier to see,
    Speed=0.5 and get 1,(1+2)/2,2,(2+3)/2,3,(3+4)/2,4,(4+5)/2 - where if 4 was the last frame, it would blend with a non-existent frame 5, which would be black, or perhaps transparent (can't remember :) )

    Rate Stretch just duplicates or discarded whole frames, so goes 1,1,2,2,3,3,4,4

    Or going the other way, where you reduce by 50% it goes: 1,3

    Frames 2 and 4 are just discarded.

    With your PowerPoint clips, Rate Stretch is fine because as you say: most of the frames are the same.

    Even if they're not and you have something like this:
    1,2,3,4,5,6,7,8,9 and you expand into a two frame gap, they'll be chosen from somewhere evenly distributed in the frame list and you'll get 1,2,3,3,4,5,6,7,7,8,9, which I doubt anyone would notice.

    Add one frame and you'd get 1,2,3,4,5,5,6,7,8,9
    Add three frames and you'd get 1,2,2,3,4,5,5,6,7,8,8,9

  • FilmSensei
    FilmSensei Posts: 3,127 Expert

    I am glad you found the solution!

  • enasperi
    enasperi Posts: 4

    One more question about quad warp: I did manage to have an excellent coincidence manually, by zooming as HitfilmSensei suggests.

    However, before this, I tried without success to make a 1280x720 jpg coincide with my already inserted 1280x720 mp4 video (I needed to substitute just one slide, and thought the easiest would be to "cover" the powerpoint video with a jpg image there).

    I thought that I could easily achieve this, by setting the quad wrap parameters of the jpg to be the same with the ones of the mp4. However, this was not the case and the jpg went off the screen. I assume that these parameters build on top of some other parameters (maybe position or scale of the medium, which indeed were different). Are there any references on such details?

  • Triem23
    Triem23 Posts: 20,190 Power User

    @Palacono yeah, well, A) I assume as the OP is talking interpolation frames to be frame/opacity blended. :-) You've presented a more thorough discussion. 

  • Triem23
    Triem23 Posts: 20,190 Power User

    Um, at 25:35 in this tutorial I discuss render order for 2D layers. 

    Transforms happen after effects, so if you're applying any scaling or positioning in the Transform properties after the Quad Warp. Could that be it? 

  • Palacono
    Palacono Posts: 3,414 Enthusiast
    edited March 2017

    @Triem23 I just assumed it was tl;dr and you missed that I'd suggested Rate Stretch, which he said he was going to use, then asked if it did Opacity Interpolation like the Speed Effect does...but - for anyone else reading this thread - it doesn't, it's just a quick'n'dirty frame duplicator/chuckerawayer. 

    Just like when you exported your tutorials at the wrong speed...extra whole frames. ;)