Overlaying on video

classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Overlaying on video

Monte Goulding via use-livecode
I'm trying to overlay some graphics on a video, and hit a couple of problems.

The first, which drove me somewhat mad until I found an out, was that the
video was always displayed on top of other LC elements - graphics, fields.
This is using a player object; I found that the controller would be rendered
correctly layered among other objects, and indeed would obey blending levels;
and occasionally in tool mode the video frame would also; but once I switched
back to browse mode and played the video, it invariably displayed on top of
everything else, at 100% opacity. Toggling the "buffer" property did not
appear to make a difference.

Eventually I discovered by accident that this only applies to some videos. For
now, I got the job I needed to do done by rendering the original .mp4 into a
.mov with QuicktimePlayer's default settings; I haven't had time to establish
what the crucial factors are. Is this known/documented anywhere?

The second problem - which I also found frustrating because I'm sure I've done
something similar before without this arising - was in triggering the updates
to my overlay graphics. I thought that I could have a timer sending a regular
message to my code which would check the time of the movie, and adjust
graphics appropriately. The code worked but I only saw an update twice; when
the movie started, and when it stopped. As far as I could tell this wasn't an
issue about the screen not updating; but that the message genuinely wasn't
sent while the movie was playing. Again, is this a known issue? Or do others
think this should work, and I was just doing something wrong?

TIA,

Ben

_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Overlaying on video

Monte Goulding via use-livecode

Hi Ben,

To try to answer the second part of your question first.
I think once a movie starts playing other LC messages don’t
have time to be sent. The video just takes over because
it’s showing each frame quickly so your eye tells you
it’s a movie.

One solution I had to use in the past to make a decent
animation was to break the movie into each frame and
then put each frame onto each card.  I had a short
movie so it ended up being 254 cards.  It was for iOS
so I needed to optimize for a cell phone processor.
Then I was able to have a graphic which appeared
on every card move on top of the changing cards.
So my animated character was able to move around
freely on top of a video background.  I was able to
adjust the timing of the loops so it looked pretty good.

Regarding the first part of your message:
I’m trying to duplicate some of your experience here.

> Eventually I discovered by accident that this only applies to some videos. For now, I got the job I needed to do done by rendering the original .mp4 into a .mov with QuicktimePlayer's default settings; I haven't had time to establish what the crucial factors are. Is this known/documented anywhere?

I tried importing a Quicktime movie which had the .mov suffix into LC.
I put a graphic on top of the movie and when I went to play the movie
the movie put itself on top of the graphic.  So what to I need to do to
recreate your solution?

Thanks,

Rick




> On Mar 26, 2017, at 6:54 PM, Ben Rubinstein via use-livecode <[hidden email]> wrote:
>
> I'm trying to overlay some graphics on a video, and hit a couple of problems.
>
> The first, which drove me somewhat mad until I found an out, was that the video was always displayed on top of other LC elements - graphics, fields. This is using a player object; I found that the controller would be rendered correctly layered among other objects, and indeed would obey blending levels; and occasionally in tool mode the video frame would also; but once I switched back to browse mode and played the video, it invariably displayed on top of everything else, at 100% opacity. Toggling the "buffer" property did not appear to make a difference.
>
> Eventually I discovered by accident that this only applies to some videos. For now, I got the job I needed to do done by rendering the original .mp4 into a .mov with QuicktimePlayer's default settings; I haven't had time to establish what the crucial factors are. Is this known/documented anywhere?
>
> The second problem - which I also found frustrating because I'm sure I've done something similar before without this arising - was in triggering the updates to my overlay graphics. I thought that I could have a timer sending a regular message to my code which would check the time of the movie, and adjust graphics appropriately. The code worked but I only saw an update twice; when the movie started, and when it stopped. As far as I could tell this wasn't an issue about the screen not updating; but that the message genuinely wasn't sent while the movie was playing. Again, is this a known issue? Or do others think this should work, and I was just doing something wrong?
>
> TIA,
>
> Ben
>
> _______________________________________________
> use-livecode mailing list
> [hidden email]
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode


_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Overlaying on video

Monte Goulding via use-livecode
Hi Rick

Thanks for your reply.

 > I think once a movie starts playing other LC messages don’t
 > have time to be sent. The video just takes over because
 > it’s showing each frame quickly so your eye tells you
 > it’s a movie.

I don't think that's it. I've had time codes displays running before, achieved
in this way, so something that normally works, doesn't. I haven't worked out
if this is an issue with 8.1.3 or another side effect of the particular movie.
Or just that working late on a small screen, I made some other stupid mistake.

 > One solution I had to use in the past to make a decent
 > animation was to break the movie into each frame and
 > then put each frame onto each card.

I took a similar approach for now - rather than playing the movie and then
catching the currenttime, I used my timer to keep setting the current time,
moving it on a frame at a time (in fact for now I wanted to export a timelapse
of the movie anyway, so was happy to jump it along half-a-second at a time).
But in my ideal world I'd have this working interactively, including allowing
the user to scrub the movie to a different time and have the data graphics
update as they did.

 > I tried importing a Quicktime movie which had the .mov suffix into LC.
 > I put a graphic on top of the movie and when I went to play the movie
 > the movie put itself on top of the graphic.  So what to I need to do to
 > recreate your solution?

That's what I don't know yet! Obviously it's not enough that it's a .mov
instead of a .mp4; when I exported it, the movie also changed codec,
resolution, framerate... (partly because I was in a hurry so I decided to work
with a smaller lighter version to make progress). I'll need to try some
experiments with changing fewer attributes to find out which is the crucial one.

What are the characteristics of the movie you tried it with, that didn't work?

Ben


On 27/03/2017 01:30, Rick Harrison via use-livecode wrote:

>
> Hi Ben,
>
> To try to answer the second part of your question first.
> I think once a movie starts playing other LC messages don’t
> have time to be sent. The video just takes over because
> it’s showing each frame quickly so your eye tells you
> it’s a movie.
>
> One solution I had to use in the past to make a decent
> animation was to break the movie into each frame and
> then put each frame onto each card.  I had a short
> movie so it ended up being 254 cards.  It was for iOS
> so I needed to optimize for a cell phone processor.
> Then I was able to have a graphic which appeared
> on every card move on top of the changing cards.
> So my animated character was able to move around
> freely on top of a video background.  I was able to
> adjust the timing of the loops so it looked pretty good.
>
> Regarding the first part of your message:
> I’m trying to duplicate some of your experience here.
>
>> Eventually I discovered by accident that this only applies to some videos. For now, I got the job I needed to do done by rendering the original .mp4 into a .mov with QuicktimePlayer's default settings; I haven't had time to establish what the crucial factors are. Is this known/documented anywhere?
>
> I tried importing a Quicktime movie which had the .mov suffix into LC.
> I put a graphic on top of the movie and when I went to play the movie
> the movie put itself on top of the graphic.  So what to I need to do to
> recreate your solution?
>
> Thanks,
>
> Rick
>
>
>
>
>> On Mar 26, 2017, at 6:54 PM, Ben Rubinstein via use-livecode <[hidden email]> wrote:
>>
>> I'm trying to overlay some graphics on a video, and hit a couple of problems.
>>
>> The first, which drove me somewhat mad until I found an out, was that the video was always displayed on top of other LC elements - graphics, fields. This is using a player object; I found that the controller would be rendered correctly layered among other objects, and indeed would obey blending levels; and occasionally in tool mode the video frame would also; but once I switched back to browse mode and played the video, it invariably displayed on top of everything else, at 100% opacity. Toggling the "buffer" property did not appear to make a difference.
>>
>> Eventually I discovered by accident that this only applies to some videos. For now, I got the job I needed to do done by rendering the original .mp4 into a .mov with QuicktimePlayer's default settings; I haven't had time to establish what the crucial factors are. Is this known/documented anywhere?
>>
>> The second problem - which I also found frustrating because I'm sure I've done something similar before without this arising - was in triggering the updates to my overlay graphics. I thought that I could have a timer sending a regular message to my code which would check the time of the movie, and adjust graphics appropriately. The code worked but I only saw an update twice; when the movie started, and when it stopped. As far as I could tell this wasn't an issue about the screen not updating; but that the message genuinely wasn't sent while the movie was playing. Again, is this a known issue? Or do others think this should work, and I was just doing something wrong?
>>
>> TIA,
>>
>> Ben

_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Overlaying on video

Monte Goulding via use-livecode
Hi all,

Before LC 8.1.0, one could put other objects on top of the player object,
if alwaysBuffer==true. This has broken in LC 8.1.0+.

A workaround is described in this bug report:

http://quality.livecode.com/show_bug.cgi?id=19444

Best,
Panos
--

On Mon, Mar 27, 2017 at 1:35 PM, Ben Rubinstein via use-livecode <
[hidden email]> wrote:

> Hi Rick
>
> Thanks for your reply.
>
> > I think once a movie starts playing other LC messages don’t
> > have time to be sent. The video just takes over because
> > it’s showing each frame quickly so your eye tells you
> > it’s a movie.
>
> I don't think that's it. I've had time codes displays running before,
> achieved in this way, so something that normally works, doesn't. I haven't
> worked out if this is an issue with 8.1.3 or another side effect of the
> particular movie. Or just that working late on a small screen, I made some
> other stupid mistake.
>
> > One solution I had to use in the past to make a decent
> > animation was to break the movie into each frame and
> > then put each frame onto each card.
>
> I took a similar approach for now - rather than playing the movie and then
> catching the currenttime, I used my timer to keep setting the current time,
> moving it on a frame at a time (in fact for now I wanted to export a
> timelapse of the movie anyway, so was happy to jump it along half-a-second
> at a time). But in my ideal world I'd have this working interactively,
> including allowing the user to scrub the movie to a different time and have
> the data graphics update as they did.
>
> > I tried importing a Quicktime movie which had the .mov suffix into LC.
> > I put a graphic on top of the movie and when I went to play the movie
> > the movie put itself on top of the graphic.  So what to I need to do to
> > recreate your solution?
>
> That's what I don't know yet! Obviously it's not enough that it's a .mov
> instead of a .mp4; when I exported it, the movie also changed codec,
> resolution, framerate... (partly because I was in a hurry so I decided to
> work with a smaller lighter version to make progress). I'll need to try
> some experiments with changing fewer attributes to find out which is the
> crucial one.
>
> What are the characteristics of the movie you tried it with, that didn't
> work?
>
> Ben
>
>
>
> On 27/03/2017 01:30, Rick Harrison via use-livecode wrote:
>
>>
>> Hi Ben,
>>
>> To try to answer the second part of your question first.
>> I think once a movie starts playing other LC messages don’t
>> have time to be sent. The video just takes over because
>> it’s showing each frame quickly so your eye tells you
>> it’s a movie.
>>
>> One solution I had to use in the past to make a decent
>> animation was to break the movie into each frame and
>> then put each frame onto each card.  I had a short
>> movie so it ended up being 254 cards.  It was for iOS
>> so I needed to optimize for a cell phone processor.
>> Then I was able to have a graphic which appeared
>> on every card move on top of the changing cards.
>> So my animated character was able to move around
>> freely on top of a video background.  I was able to
>> adjust the timing of the loops so it looked pretty good.
>>
>> Regarding the first part of your message:
>> I’m trying to duplicate some of your experience here.
>>
>> Eventually I discovered by accident that this only applies to some
>>> videos. For now, I got the job I needed to do done by rendering the
>>> original .mp4 into a .mov with QuicktimePlayer's default settings; I
>>> haven't had time to establish what the crucial factors are. Is this
>>> known/documented anywhere?
>>>
>>
>> I tried importing a Quicktime movie which had the .mov suffix into LC.
>> I put a graphic on top of the movie and when I went to play the movie
>> the movie put itself on top of the graphic.  So what to I need to do to
>> recreate your solution?
>>
>> Thanks,
>>
>> Rick
>>
>>
>>
>>
>> On Mar 26, 2017, at 6:54 PM, Ben Rubinstein via use-livecode <
>>> [hidden email]> wrote:
>>>
>>> I'm trying to overlay some graphics on a video, and hit a couple of
>>> problems.
>>>
>>> The first, which drove me somewhat mad until I found an out, was that
>>> the video was always displayed on top of other LC elements - graphics,
>>> fields. This is using a player object; I found that the controller would be
>>> rendered correctly layered among other objects, and indeed would obey
>>> blending levels; and occasionally in tool mode the video frame would also;
>>> but once I switched back to browse mode and played the video, it invariably
>>> displayed on top of everything else, at 100% opacity. Toggling the "buffer"
>>> property did not appear to make a difference.
>>>
>>> Eventually I discovered by accident that this only applies to some
>>> videos. For now, I got the job I needed to do done by rendering the
>>> original .mp4 into a .mov with QuicktimePlayer's default settings; I
>>> haven't had time to establish what the crucial factors are. Is this
>>> known/documented anywhere?
>>>
>>> The second problem - which I also found frustrating because I'm sure
>>> I've done something similar before without this arising - was in triggering
>>> the updates to my overlay graphics. I thought that I could have a timer
>>> sending a regular message to my code which would check the time of the
>>> movie, and adjust graphics appropriately. The code worked but I only saw an
>>> update twice; when the movie started, and when it stopped. As far as I
>>> could tell this wasn't an issue about the screen not updating; but that the
>>> message genuinely wasn't sent while the movie was playing. Again, is this a
>>> known issue? Or do others think this should work, and I was just doing
>>> something wrong?
>>>
>>> TIA,
>>>
>>> Ben
>>>
>>
> _______________________________________________
> use-livecode mailing list
> [hidden email]
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Overlaying on video

Monte Goulding via use-livecode
Aha! Thanks, Panos.

So probably what made the difference for me wasn't the re-encoded movie, it
was all the messing about I did in the process that at some point had the
right effect...

Ben

On 27/03/2017 13:47, panagiotis merakos via use-livecode wrote:

> Hi all,
>
> Before LC 8.1.0, one could put other objects on top of the player object,
> if alwaysBuffer==true. This has broken in LC 8.1.0+.
>
> A workaround is described in this bug report:
>
> http://quality.livecode.com/show_bug.cgi?id=19444
>
> Best,
> Panos
> --
>
> On Mon, Mar 27, 2017 at 1:35 PM, Ben Rubinstein via use-livecode <
> [hidden email]> wrote:
>
>> Hi Rick
>>
>> Thanks for your reply.
>>
>>> I think once a movie starts playing other LC messages don’t
>>> have time to be sent. The video just takes over because
>>> it’s showing each frame quickly so your eye tells you
>>> it’s a movie.
>>
>> I don't think that's it. I've had time codes displays running before,
>> achieved in this way, so something that normally works, doesn't. I haven't
>> worked out if this is an issue with 8.1.3 or another side effect of the
>> particular movie. Or just that working late on a small screen, I made some
>> other stupid mistake.
>>
>>> One solution I had to use in the past to make a decent
>>> animation was to break the movie into each frame and
>>> then put each frame onto each card.
>>
>> I took a similar approach for now - rather than playing the movie and then
>> catching the currenttime, I used my timer to keep setting the current time,
>> moving it on a frame at a time (in fact for now I wanted to export a
>> timelapse of the movie anyway, so was happy to jump it along half-a-second
>> at a time). But in my ideal world I'd have this working interactively,
>> including allowing the user to scrub the movie to a different time and have
>> the data graphics update as they did.
>>
>>> I tried importing a Quicktime movie which had the .mov suffix into LC.
>>> I put a graphic on top of the movie and when I went to play the movie
>>> the movie put itself on top of the graphic.  So what to I need to do to
>>> recreate your solution?
>>
>> That's what I don't know yet! Obviously it's not enough that it's a .mov
>> instead of a .mp4; when I exported it, the movie also changed codec,
>> resolution, framerate... (partly because I was in a hurry so I decided to
>> work with a smaller lighter version to make progress). I'll need to try
>> some experiments with changing fewer attributes to find out which is the
>> crucial one.
>>
>> What are the characteristics of the movie you tried it with, that didn't
>> work?
>>
>> Ben
>>
>>
>>
>> On 27/03/2017 01:30, Rick Harrison via use-livecode wrote:
>>
>>>
>>> Hi Ben,
>>>
>>> To try to answer the second part of your question first.
>>> I think once a movie starts playing other LC messages don’t
>>> have time to be sent. The video just takes over because
>>> it’s showing each frame quickly so your eye tells you
>>> it’s a movie.
>>>
>>> One solution I had to use in the past to make a decent
>>> animation was to break the movie into each frame and
>>> then put each frame onto each card.  I had a short
>>> movie so it ended up being 254 cards.  It was for iOS
>>> so I needed to optimize for a cell phone processor.
>>> Then I was able to have a graphic which appeared
>>> on every card move on top of the changing cards.
>>> So my animated character was able to move around
>>> freely on top of a video background.  I was able to
>>> adjust the timing of the loops so it looked pretty good.
>>>
>>> Regarding the first part of your message:
>>> I’m trying to duplicate some of your experience here.
>>>
>>> Eventually I discovered by accident that this only applies to some
>>>> videos. For now, I got the job I needed to do done by rendering the
>>>> original .mp4 into a .mov with QuicktimePlayer's default settings; I
>>>> haven't had time to establish what the crucial factors are. Is this
>>>> known/documented anywhere?
>>>>
>>>
>>> I tried importing a Quicktime movie which had the .mov suffix into LC.
>>> I put a graphic on top of the movie and when I went to play the movie
>>> the movie put itself on top of the graphic.  So what to I need to do to
>>> recreate your solution?
>>>
>>> Thanks,
>>>
>>> Rick
>>>
>>>
>>>
>>>
>>> On Mar 26, 2017, at 6:54 PM, Ben Rubinstein via use-livecode <
>>>> [hidden email]> wrote:
>>>>
>>>> I'm trying to overlay some graphics on a video, and hit a couple of
>>>> problems.
>>>>
>>>> The first, which drove me somewhat mad until I found an out, was that
>>>> the video was always displayed on top of other LC elements - graphics,
>>>> fields. This is using a player object; I found that the controller would be
>>>> rendered correctly layered among other objects, and indeed would obey
>>>> blending levels; and occasionally in tool mode the video frame would also;
>>>> but once I switched back to browse mode and played the video, it invariably
>>>> displayed on top of everything else, at 100% opacity. Toggling the "buffer"
>>>> property did not appear to make a difference.
>>>>
>>>> Eventually I discovered by accident that this only applies to some
>>>> videos. For now, I got the job I needed to do done by rendering the
>>>> original .mp4 into a .mov with QuicktimePlayer's default settings; I
>>>> haven't had time to establish what the crucial factors are. Is this
>>>> known/documented anywhere?
>>>>
>>>> The second problem - which I also found frustrating because I'm sure
>>>> I've done something similar before without this arising - was in triggering
>>>> the updates to my overlay graphics. I thought that I could have a timer
>>>> sending a regular message to my code which would check the time of the
>>>> movie, and adjust graphics appropriately. The code worked but I only saw an
>>>> update twice; when the movie started, and when it stopped. As far as I
>>>> could tell this wasn't an issue about the screen not updating; but that the
>>>> message genuinely wasn't sent while the movie was playing. Again, is this a
>>>> known issue? Or do others think this should work, and I was just doing
>>>> something wrong?
>>>>
>>>> TIA,
>>>>
>>>> Ben

_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Overlaying on video

Monte Goulding via use-livecode
In reply to this post by Monte Goulding via use-livecode
Will there be a similar capability to allow objects (buttons and fields) to
overlay a browser widget, which might also be displaying a video?  I
believe there is a need to make this possible for any situation.

~Roger


On Mon, Mar 27, 2017 at 8:47 AM, panagiotis merakos via use-livecode <
[hidden email]> wrote:

> Hi all,
>
> Before LC 8.1.0, one could put other objects on top of the player object,
> if alwaysBuffer==true. This has broken in LC 8.1.0+.
>
> A workaround is described in this bug report:
>
> http://quality.livecode.com/show_bug.cgi?id=19444
>
> Best,
> Panos
> --
>
> On Mon, Mar 27, 2017 at 1:35 PM, Ben Rubinstein via use-livecode <
> [hidden email]> wrote:
>
> > Hi Rick
> >
> > Thanks for your reply.
> >
> > > I think once a movie starts playing other LC messages don’t
> > > have time to be sent. The video just takes over because
> > > it’s showing each frame quickly so your eye tells you
> > > it’s a movie.
> >
> > I don't think that's it. I've had time codes displays running before,
> > achieved in this way, so something that normally works, doesn't. I
> haven't
> > worked out if this is an issue with 8.1.3 or another side effect of the
> > particular movie. Or just that working late on a small screen, I made
> some
> > other stupid mistake.
> >
> > > One solution I had to use in the past to make a decent
> > > animation was to break the movie into each frame and
> > > then put each frame onto each card.
> >
> > I took a similar approach for now - rather than playing the movie and
> then
> > catching the currenttime, I used my timer to keep setting the current
> time,
> > moving it on a frame at a time (in fact for now I wanted to export a
> > timelapse of the movie anyway, so was happy to jump it along
> half-a-second
> > at a time). But in my ideal world I'd have this working interactively,
> > including allowing the user to scrub the movie to a different time and
> have
> > the data graphics update as they did.
> >
> > > I tried importing a Quicktime movie which had the .mov suffix into LC.
> > > I put a graphic on top of the movie and when I went to play the movie
> > > the movie put itself on top of the graphic.  So what to I need to do to
> > > recreate your solution?
> >
> > That's what I don't know yet! Obviously it's not enough that it's a .mov
> > instead of a .mp4; when I exported it, the movie also changed codec,
> > resolution, framerate... (partly because I was in a hurry so I decided to
> > work with a smaller lighter version to make progress). I'll need to try
> > some experiments with changing fewer attributes to find out which is the
> > crucial one.
> >
> > What are the characteristics of the movie you tried it with, that didn't
> > work?
> >
> > Ben
> >
> >
> >
> > On 27/03/2017 01:30, Rick Harrison via use-livecode wrote:
> >
> >>
> >> Hi Ben,
> >>
> >> To try to answer the second part of your question first.
> >> I think once a movie starts playing other LC messages don’t
> >> have time to be sent. The video just takes over because
> >> it’s showing each frame quickly so your eye tells you
> >> it’s a movie.
> >>
> >> One solution I had to use in the past to make a decent
> >> animation was to break the movie into each frame and
> >> then put each frame onto each card.  I had a short
> >> movie so it ended up being 254 cards.  It was for iOS
> >> so I needed to optimize for a cell phone processor.
> >> Then I was able to have a graphic which appeared
> >> on every card move on top of the changing cards.
> >> So my animated character was able to move around
> >> freely on top of a video background.  I was able to
> >> adjust the timing of the loops so it looked pretty good.
> >>
> >> Regarding the first part of your message:
> >> I’m trying to duplicate some of your experience here.
> >>
> >> Eventually I discovered by accident that this only applies to some
> >>> videos. For now, I got the job I needed to do done by rendering the
> >>> original .mp4 into a .mov with QuicktimePlayer's default settings; I
> >>> haven't had time to establish what the crucial factors are. Is this
> >>> known/documented anywhere?
> >>>
> >>
> >> I tried importing a Quicktime movie which had the .mov suffix into LC.
> >> I put a graphic on top of the movie and when I went to play the movie
> >> the movie put itself on top of the graphic.  So what to I need to do to
> >> recreate your solution?
> >>
> >> Thanks,
> >>
> >> Rick
> >>
> >>
> >>
> >>
> >> On Mar 26, 2017, at 6:54 PM, Ben Rubinstein via use-livecode <
> >>> [hidden email]> wrote:
> >>>
> >>> I'm trying to overlay some graphics on a video, and hit a couple of
> >>> problems.
> >>>
> >>> The first, which drove me somewhat mad until I found an out, was that
> >>> the video was always displayed on top of other LC elements - graphics,
> >>> fields. This is using a player object; I found that the controller
> would be
> >>> rendered correctly layered among other objects, and indeed would obey
> >>> blending levels; and occasionally in tool mode the video frame would
> also;
> >>> but once I switched back to browse mode and played the video, it
> invariably
> >>> displayed on top of everything else, at 100% opacity. Toggling the
> "buffer"
> >>> property did not appear to make a difference.
> >>>
> >>> Eventually I discovered by accident that this only applies to some
> >>> videos. For now, I got the job I needed to do done by rendering the
> >>> original .mp4 into a .mov with QuicktimePlayer's default settings; I
> >>> haven't had time to establish what the crucial factors are. Is this
> >>> known/documented anywhere?
> >>>
> >>> The second problem - which I also found frustrating because I'm sure
> >>> I've done something similar before without this arising - was in
> triggering
> >>> the updates to my overlay graphics. I thought that I could have a timer
> >>> sending a regular message to my code which would check the time of the
> >>> movie, and adjust graphics appropriately. The code worked but I only
> saw an
> >>> update twice; when the movie started, and when it stopped. As far as I
> >>> could tell this wasn't an issue about the screen not updating; but
> that the
> >>> message genuinely wasn't sent while the movie was playing. Again, is
> this a
> >>> known issue? Or do others think this should work, and I was just doing
> >>> something wrong?
> >>>
> >>> TIA,
> >>>
> >>> Ben
> >>>
> >>
> > _______________________________________________
> > use-livecode mailing list
> > [hidden email]
> > Please visit this url to subscribe, unsubscribe and manage your
> > subscription preferences:
> > http://lists.runrev.com/mailman/listinfo/use-livecode
> >
> _______________________________________________
> use-livecode mailing list
> [hidden email]
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Overlaying on video

Monte Goulding via use-livecode
In reply to this post by Monte Goulding via use-livecode
Hi Ben,

The movie that didn’t work for me was:

640 × 360, AAC, H.264   as a .mov  quicktime movie.

Let me know what you learn and discover!

Thanks,

Rick

> On Mar 27, 2017, at 8:35 AM, Ben Rubinstein via use-livecode <[hidden email]> wrote:
>
> Hi Rick
>
> Thanks for your reply.
>
> > I think once a movie starts playing other LC messages don’t
> > have time to be sent. The video just takes over because
> > it’s showing each frame quickly so your eye tells you
> > it’s a movie.
>
> I don't think that's it. I've had time codes displays running before, achieved in this way, so something that normally works, doesn't. I haven't worked out if this is an issue with 8.1.3 or another side effect of the particular movie. Or just that working late on a small screen, I made some other stupid mistake.
>
> > One solution I had to use in the past to make a decent
> > animation was to break the movie into each frame and
> > then put each frame onto each card.
>
> I took a similar approach for now - rather than playing the movie and then catching the currenttime, I used my timer to keep setting the current time, moving it on a frame at a time (in fact for now I wanted to export a timelapse of the movie anyway, so was happy to jump it along half-a-second at a time). But in my ideal world I'd have this working interactively, including allowing the user to scrub the movie to a different time and have the data graphics update as they did.
>
> > I tried importing a Quicktime movie which had the .mov suffix into LC.
> > I put a graphic on top of the movie and when I went to play the movie
> > the movie put itself on top of the graphic.  So what to I need to do to
> > recreate your solution?
>
> That's what I don't know yet! Obviously it's not enough that it's a .mov instead of a .mp4; when I exported it, the movie also changed codec, resolution, framerate... (partly because I was in a hurry so I decided to work with a smaller lighter version to make progress). I'll need to try some experiments with changing fewer attributes to find out which is the crucial one.
>
> What are the characteristics of the movie you tried it with, that didn't work?
>
> Ben
>
>
> On 27/03/2017 01:30, Rick Harrison via use-livecode wrote:
>>
>> Hi Ben,
>>
>> To try to answer the second part of your question first.
>> I think once a movie starts playing other LC messages don’t
>> have time to be sent. The video just takes over because
>> it’s showing each frame quickly so your eye tells you
>> it’s a movie.
>>
>> One solution I had to use in the past to make a decent
>> animation was to break the movie into each frame and
>> then put each frame onto each card.  I had a short
>> movie so it ended up being 254 cards.  It was for iOS
>> so I needed to optimize for a cell phone processor.
>> Then I was able to have a graphic which appeared
>> on every card move on top of the changing cards.
>> So my animated character was able to move around
>> freely on top of a video background.  I was able to
>> adjust the timing of the loops so it looked pretty good.
>>
>> Regarding the first part of your message:
>> I’m trying to duplicate some of your experience here.
>>
>>> Eventually I discovered by accident that this only applies to some videos. For now, I got the job I needed to do done by rendering the original .mp4 into a .mov with QuicktimePlayer's default settings; I haven't had time to establish what the crucial factors are. Is this known/documented anywhere?
>>
>> I tried importing a Quicktime movie which had the .mov suffix into LC.
>> I put a graphic on top of the movie and when I went to play the movie
>> the movie put itself on top of the graphic.  So what to I need to do to
>> recreate your solution?
>>
>> Thanks,
>>
>> Rick
>>
>>
>>
>>
>>> On Mar 26, 2017, at 6:54 PM, Ben Rubinstein via use-livecode <[hidden email]> wrote:
>>>
>>> I'm trying to overlay some graphics on a video, and hit a couple of problems.
>>>
>>> The first, which drove me somewhat mad until I found an out, was that the video was always displayed on top of other LC elements - graphics, fields. This is using a player object; I found that the controller would be rendered correctly layered among other objects, and indeed would obey blending levels; and occasionally in tool mode the video frame would also; but once I switched back to browse mode and played the video, it invariably displayed on top of everything else, at 100% opacity. Toggling the "buffer" property did not appear to make a difference.
>>>
>>> Eventually I discovered by accident that this only applies to some videos. For now, I got the job I needed to do done by rendering the original .mp4 into a .mov with QuicktimePlayer's default settings; I haven't had time to establish what the crucial factors are. Is this known/documented anywhere?
>>>
>>> The second problem - which I also found frustrating because I'm sure I've done something similar before without this arising - was in triggering the updates to my overlay graphics. I thought that I could have a timer sending a regular message to my code which would check the time of the movie, and adjust graphics appropriately. The code worked but I only saw an update twice; when the movie started, and when it stopped. As far as I could tell this wasn't an issue about the screen not updating; but that the message genuinely wasn't sent while the movie was playing. Again, is this a known issue? Or do others think this should work, and I was just doing something wrong?
>>>
>>> TIA,
>>>
>>> Ben
>
> _______________________________________________
> use-livecode mailing list
> [hidden email]
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode


_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Overlaying on video

Monte Goulding via use-livecode
In reply to this post by Monte Goulding via use-livecode
> Roger E. wrote
> Will there be a similar capability to allow objects (buttons and fields)
> to overlay a browser widget, which might also be displaying a video?
> I believe there is a need to make this possible for any situation.

As I'm currentl refershing my 'web-knowledge' I made a demo.

An overlay by a LC window. You can set its transparency and could even
use this technique to make windowshaped 'overlay-stacks' (so that you can look
through and click through the 'holes' of that stack).

Widget usage example #3
http://forums.livecode.com/viewtopic.php?p=152773#p152773

It's not perfect, you will have to add scripts, but the HTML is fully included.
Stack size (incl. browser widget and HTML+CSS+javascript) < 30 KByte.

May be this is not really what you want, but TMHO an overlay by a lot of single
objects will slow down the performance of the video dramatically.

HTH, Hermann
_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Loading...