h.264 and 4K in apps

Welcome to our brand new Clickteam Community Hub! We hope you will enjoy using the new features, which we will be further expanding in the coming months.

A few features including Passport are unavailable initially whilst we monitor stability of the new platform, we hope to bring these online very soon. Small issues will crop up following the import from our old system, including some message formatting, translation accuracy and other things.

Thank you for your patience whilst we've worked on this and we look forward to more exciting community developments soon!

Clickteam.
  • Hey all-

    I am in the middle of several proposals for a few museums to develop interactive displays for exhibits. The common 1080P resolution isn't really an issue at this point, but I'm coming into a few issues beyond standard HD.

    This is the idea and some of the requirements:

    I have a 65" 4K monitor hooked to a computer, outputting UHD 4K resolution. That computer will be networked to another computer running a separate app with a touchscreen kiosk to control the 65" display computer. Depending on what the user clicks on the kiosk, it will play a video and then show a slide based on that information. This is for a historical museum, and quality of the end product is of the utmost importance. In this case, standard HD is not an option. As part of the proposal, we are shooting cinema quality 4K video on a RED Epic, which will be graded and edited down into a lower bitrate h.264 file for display.

    I, however, cannot get any of the video plugins to play the mp4 test files I have created. Quicktime, which h.264 is based, won't recognise them. I can rename the mp4 file into a mov, but the playback is incredibly choppy on my edit bay, which is running 32 gigs of memory and dual SLI at 3 gigs a card. (Sufficed to say, this computer eats raw 4K for breakfast) The display computer should be able to play 4K files that we are outputting -- we had a cheap laptop running them on VLC just fine. I don't have any export options for AVI or WMV that would create a 4K video file, and I'm not entirely sure the codecs would support it. I'm not sure adobe FLV would support it at all.

    Anyone have any suggestions or plugins that I can use for this? I would really hate to have to seek out other software options for the development of these displays, as Fusion is where I'm comfortable, and other software we've priced is out of the realm of what we can afford as a small studio -- not to mention the clients would never be able to afford the licencing fees.

    Dustin
    Media Specialist

    [SIGPIC][/SIGPIC]

  • On a process level, I'd personally think letting an external, but dedicated video player (like VLC) to handle the heavy 4K work would be a better option than trying to get one of Fusion's video extension to play 4K video -- its runtime or extensions were never optimised for this sort of appetite. Not only that, but I'd say there would be an increased chance of the runtime hanging/crashing should the video extension become overwhelmed since it runs within the same process (as far as I'm aware). In the past, for instance, I've found DirectShow to "hang" momentarily when it loaded a video.

    I would recommend VLC as a good option, since you are Please login to see this link. it (and hence, Please login to see this link.) in case the target computer does not have it installed or allow it to be installed. VLC can also run without displaying any controls, so providing you'd like these videos to play in full screen, you can set it up with command line parameters to run. As soon as it finishes playing, VLC can quit and return back to your Fusion program.

    In terms of codecs, as long as the video player you use bundles its own codecs (like VLC does, I believe) and have no legal issues (Please login to see this link. for instance is completely free and open) you'll have less of a hard time than going down the route of say, DirectShow, and needing the codecs to be available on the target computer. The same goes for QuickTime, which must be installed on the target computer in order for it to work.

    Please login to see this link. - The encyclopaedia written by clickers, for the community.
    Please login to see this link. | Please login to see this link.

  • Thanks LH. Is there a way to make VLC open and play a specific file from Fusion? I need a higher degree of interactivity with my other exhibit elements.

    Cheers!
    D

    Dustin
    Media Specialist

    [SIGPIC][/SIGPIC]

  • Sure thing, you can use the "Execute an external program" action from the System Object and "Use an evaluated expression":

    For the file name to execute, point it to VLC's executable.

    For the command line expression:

    Code
    --intf dummy --fullscreen --video-on-top --play-and-exit "C:\path\to\file"


    --intf dummy gives VLC no user interface. The other parameters should be self-explanatory.

    The only downside so far I've noticed is that the user could double click into a window... but there might be a way to prevent that. You can get full list of parameters VLC supports by typing " C:\path\to\vlc.exe --help " in a command prompt, they're Please login to see this link.. It's more than a media player. ;)

    Please login to see this link. - The encyclopaedia written by clickers, for the community.
    Please login to see this link. | Please login to see this link.

  • I'll test that out. Thank you so much!

    As far as the double click, the user will not have access to the keyboard or mouse of the display system. I'm going to use two different apps - and the kiosk app will control the display app. Was thinking about using the network object or one of the other network options. I would say which one, but my plugin manager is not populating a list of plugins right now for some reason. :S (I think it was the Moo plugin)

    Thanks again for your awesome help! Is there documentation on those particular commands, perhaps with a list of others? (For example, if the frame ends before the video is finished, send the signal to stop and close the player...)

    Dustin
    Media Specialist

    [SIGPIC][/SIGPIC]

  • I had the same problem before and found a - let's say "different" - way to play every video inside a Fusion app the VLC can play. But it works...

    Okay... So you can embed a VLC plug-in in websites and you can embed websites in Fusion apps via Web View object.
    To control the VLC plug-in you can define JavaScript functions in your internal HTML code inside the Web View and trigger them via Web View.
    So you have good control over the VLC plug-in. It's a bit trial and error but there is a few references from VLC and examples in other forums to find.

  • Is there documentation on those particular commands, perhaps with a list of others?


    Like I say, you can open your command prompt, point to VLC and type "--help" as the parameter, that'll list other possible parameters. You can find advanced usage online too: Please login to see this link.

    In the command prompt, for example:

    Code
    "C:\Program Files (x86)\VideoLAN\VLC\VLC.exe" --help

    You could also trial and test parameters this way too.

    (For example, if the frame ends before the video is finished, send the signal to stop and close the player...)


    I'm not an expert at VLC to know if such functionality exists, but there is another way.

    For the video to be interrupted, you can execute this Windows command:

    Code
    [B]taskkill[/B] /F /IM VLC.exe


    "taskkill" being a program that kills processes. /F to forcefully close the process. /IM Image name being VLC.exe.

    I had the same problem before and found a - let's say "different" - way to play every video inside a Fusion app the VLC can play. But it works...


    Nothing wrong with your different approach Gustav, since it allows control inside Fusion. I'd like to think this might add a bit of unnecessary overhead (for a kiosk computer anyway) and will also depend on having the plug-in installed. The end result might also be disappointing if it struggles with 4K (Never tried it, so I wouldn't know) I came to the conclusion the Please login to see this link.... :(

    I'm guessing I can't get the list right now because it seems ClickTeam.com itself is offline?


    Seems to be fine at this time of writing, try again. I would also recommend Please login to see this link. for networking. It does the job and it will do the job well, for simple communications like your project.

    Please login to see this link. - The encyclopaedia written by clickers, for the community.
    Please login to see this link. | Please login to see this link.

    Edited 3 times, last by lh37: Re-order of words (May 7, 2015 at 2:29 PM).

  • You can choose Firefox as browser in Web View object. Oh no, only in Web Control object...

    I also would like to know a better way to embed VLC in a Fusion app.
    Couldn't manage to get the ActiveX-Plug-in to work...

    Edited once, last by Gustav (May 7, 2015 at 4:29 PM).

  • I too would like some advice on this. My game is 1080p 60fps yet my 30fps rendered cut scenes are lagging like a tortoise with a club foot using DirectShow. It looks choppy and terrible.

    I managed to use the VLC command line as mentioned above but the player is prompted by Windows "Are you sure you wanna run this application vlc.exe" and my game window and graphics go to pot when my runtime minimises and gets pushed to the back.

    Anyone have any idea how to get around this? Is it possible to use cmd directly maybe? Even then Windows security will probably have a fit.

    Why isn't there a better video plugin which can play at 30fps for this app!? It's a bit **** not being able to play HD video in 2015 with a £300 graphics card in my PC. Everything else plays the videos just fine but Fusion struggles with anything beyond 8 bit it seems (BOO!)

    I've been using this product on and off since it was Klick and Play and all I ever seem to do is skate around its limitations and lack of stability. I'm really starting to get pissed off with it!!

    PS: DirectShow won't play anything in Direct3D mode so I'm stuck with crappy Standard graphics mode without a decent video plugin.

  • Unfortunately, that is the case. DirectShow is like the equivalent of playing in Windows Media Player (which I found useless with most formats out of the box) with Fusion's heavy weight on top of it.

    I have had this problem before, where external programs run fine on my PC, but had that dreaded "are you sure?" dialogue box on another machine.

    Off the top of my head, there a few workarounds: When you right click VLC.exe there might be an option that says "Unblock", which stops Windows from being paroniod. If you don't see that option, try sticking "start.exe" in front of the command line, or creating a batch script and calling it. If none of these work, I found an article that will disable it on your PC, but it isn't a good idea to automate this on another user's PC for "security reasons". It might vary depending on the version of Windows you are using.

    I too would love to see a cross platform video plugin with a powerful backend, but I can't see that happening anytime soon.

    Please login to see this link. - The encyclopaedia written by clickers, for the community.
    Please login to see this link. | Please login to see this link.

  • There's the ActiveDirectShow object, which does work in Direct3D mode, and I got a 720p video to play okay. That'd look nasty stretched up to 4K though. 1080p did not work, but it might have been because that video was an uncompressed AVI, so I dunno.

    Definitely sounds like we'll need better video support in Fusion 3. I'll go add it to the wishlist thread.

    In the meantime, we might have to start paying somebody to make us a new video extension. Even if it cost like $5 on the Clickstore, people would buy that.

  • Thanks lh37, I'll try tinkering with VLC some more. My videos play fine in Media Player but the DirectShow plugin is lucky if it manages about 8 frames per second in full HD.

    dsilvers, I tried experimenting with the ActiveDirectShow last night in both graphic modes but it wouldn't even display in my frame. The only extension which attempts to play them is the DirectShow object.

    Yeah, I'd pay $20 for a good video extension to make this work properly and I was surprised one doesn't exist. Fusion has been around now for about 20 year in one form or another. I remember when it was Klick & Play by Europress and to be honest, it hasn't really improved all that much since back then.

    I really hope Fusion 3 will finally be the product we all wanna see because it's got so much potential and the interface is pretty amazing, I just wish it was a bit more stable and robust. Having said that, in my despair yesterday I downloaded a trial of Construct 2 to see if that was any better and it's ten times worse.

  • ducknet, there have been MASSIVE under-the-hood improvements. You don't have to look any further than the patch notes. Fusion can now export to every mainstream mobile device on the market, web games can be run in Flash/HTML5 instead of Vitalize, Box2D physics is now built-in, games can be run in HD resolutions at 60fps...

    You keep knocking Fusion yet, short of tyring to play videos, you haven't stated what you're trying to create in it where Fusion specifically is the culprit as opposed to just not having yet solved the development puzzle. No game is going to come out perfect in 3 clicks, no matter what engine you're using, be it Fusion, Construct 2, or even Unreal. This is an artform that takes a lot of time, energy, mental capacity, problem-solving, and elbow grease. I think your impatience is limiting you more than the engine is.

    Just saying, if video playback is the one thing holding back your project, then you should rethink how the video is played, say as active objects as opposed to an AVI file. One limitation does not mean the entire engine is useless.

  • dsilvers, you make some good points. I guess the video is the main thing holding me back at the moment because I'm aiming for an adventure game with lots of cutscenes rendered using DAZ and iClone. Believe me, when I made an animated movie which took me two years to complete, I learned a thing or two about patience but I admit, when technology or software holds me back, it really discourages and angers me because I feel like the entire project is a waste of time (I guess it kills my creative dream somewhat).

    I've tried loading frames into an active object but as you can imagine, 1080p 30fps 3D animation with lots of texture hits those memory limits in less than 1m30s of cutscene so that's not going to be a solution. I've tried encoding in every video format my editing and animation software can cover (and that's a lot) but it still makes no difference. Animation is painstaking and every frame counts when you can spend days making a 2 minute cut scene so when I see Fusion skipping half of those frames it kinda kills my hard work.

    If you can think of any suggestions in how to solve this using Fusion, believe me I am all ears as I've already spent three weeks building the game's engine and it is really coming together beautifully... but without smooth video playback for cutscenes, my entire idea seems unachievable the way I envisioned it. I find it more than a little disappointing that a product called "multimedia" fusion, fails to handle the external multimedia I'm creating for it. I'm sure you can recognise the irony...?

  • The 'Multimedia' was relevant during the DVD era when video was maximum 720p. I remember when 1080p came out and most dual core computers struggled to play it smoothly, this was without overlaying Fusion's runtime on top which would only add to the complexity.

    Please login to see this link.

  • As it is a custom installation you're making and not one where you have to rely on people's common PC configurations, I recommend you try to embed VLC's ActiveX plugin into your frame.

    Please login to see this link.

    This will run as a surface and not be rendered by Fusion, and if I remember correctly it should get its own thread etc.

  • Hi Simon.

    Thanks so much for this suggestion, I have faith in VLC's capabilities... :) now I just need to get it to work with Fusion haha.

    I've been experimenting with the VLC ActiveX object all night and I can't get it to play a file for the life of me. I assume I use the "SetMRL" command but no matter how I point to a video on my drive, nothing happens. I've read every wiki there is on the ActiveX object but I don't understand the syntax or how to get it to work.

    Do you know how to get it to play a file?

    I tried "D:/Test.avi" "file:///d:/Test.avi" "D:\Test.avi" "[[file][/avi]d:/test.avi]" - nothing happens no matter what I try and I don't know how to get it to work??

    I also tried using mpg, I tried SetBaseURL. I even tried uploading the video to my web server but still had no luck! I've literally ran out of ideas. :(

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!