I understand that in version 8.1 of LiveCode, it now uses the DirectShow Player for player objects instead of QuickTime. I am running LiveCode in Windows 10 and I am finding that the player control now only supports WMV and AVI files, not MP4 or MOV files. Is that just the way it is right now?

I did a bit of research on this forum and found a thread where someone mentioned installing third-party codecs to get other video formats working, but I just wanted to confirm that the player control is no longer meant to support MP4 or MOV video files natively?

Also, is there an easy to embed a streaming video (YouTube) into a LiveCode stack? Thanks!

I'm just trying out this new player too, but my findings do show that you have to install a 3rd party MP4 codec. I used LAV Filters pack and it worked fine.

The easiest way to play youtube content in a stack is to use the youtube embed code in a revbrowser instance, its always been like that. It's not impossible to play youtube content in the player, but you have to find a way to get around the way Google hides the actual files URL in javascript. It's not trivial.

Personally, I'm a bit underwhelmed with the new player. Codec install and loss of features make it almost as bad as the old one.

Last edited by windowsLC on Sat Dec 16, 2017 6:20 am, edited 2 times in total.

While we are on the topic, is there any workaround for not being able to export snapshot of the player object and have it contain image from the video???? I've tried it several ways an I just get a blank player image.

I am talking about the new directshow player object for windows version introduced in version 8.1

In older versions both import and export snapshot of player contained an image of the video playing in the player. Now with the new player the import or exported image has just a blank player, the video playing is not in the image

I know exactly what you were referring to, but it is still just a player object. When I read your post I pulled up the Lc I use most often, and tested it out on that.

I got exactly what you described when using export from the player to a file directly, a view of the player object with nothing in it. That is all the way back to 6.5.2 on linux, so I felt it was worth posting about the only solution I did find.
.. I will test it on Windows to see if it is the same since I know there are differences in the way somethings work on both Os's.

I do not have a win box currently running anything later than XP available to test on, however I will attempt to secure one later (probably much later, as it is not one of my preferred Os's) and test it again there.

So, again I realize this is not Win10 yet, but it is XP running 8.1.8, which I assume is using directShow, since there is no quick time installed.

I did notice a bit of oddness in getting the shot of the player, but suspect my code rather than something actually being off too much.

Whats going on in the picture? Well, the topRight is the player, the topLeft is the first image taken, the bottomRight is the start of fine tuning the position, the bottomLeft is the snapshot of the video playing. Rather than figuring out what was off in code, I just moved the window around till it got it. The code window should be self explanatory.

Edit - so, Win10, no qt, Lc 8.1.8, alignment still off on the rectangle (it shot from 0,0,playerW/H of the stack), but obviously the player playing the sample movie screen shot to an image on the center of the card, using nothing more than (more or less) the code I linked to wayyyy up there.
At this point, I would guess that when I said ~

I just tried import snapshot from player "myplayername" and it did not work for me. I got an image of just a blank player in the middle of the card. I'm using LiveCode Community 9.0 (dp 10) so I will download 8.1.8 to see if that gets it to work, but here are the results I got from 9.0 dp 10

Screenshot of what resulted (taken with an external tool):

Another screenshot where imported snapshot of the whole card then sized the image down. Still no video in the player in the image.

EDIT

Ok so I kept trying having seen that you were using a rect and not just the player or card like I tried. I had trouble getting the player in the shot, but when I did, the video image was there. Pretty wonky but I think I can get something to work

It's not so much a bug as a limitation. Images extracted from LC objects are copied from the engine's internal buffer of the object. Players are drawn by the OS and are basically overlays on top of the card, so the engine has no internal representation of it to reproduce.

The "rect" form doesn't use internal buffers, it simply reproduces the actual bitmap currently on screen which is why it works.

There may be a way to incorporate the overlay though, so reporting it might be productive.

Thank you for clearing me up Jacque If not a bug, she's right, feature request would be the way to go. Something along the lines of "if taking a snapshot of the player, snapshot should default to not using internal buffer" or some such.

For me it would make no difference, and the way you did it works as good as any other.