# Thread: h.264 and 4K in apps

1. ## h.264 and 4K in apps

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.

2. 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 free to redistribute it (and hence, could use a portable version) 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 (OGG Theora 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.

3. 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

4. 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 documented online too. It's more than a media player.

5. 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...)

6. I'm guessing I can't get the list right now because it seems ClickTeam.com itself is offline? I'm guessing community is on a different host.

7. 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.

8. Originally Posted by Lenchantin
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: https://wiki.videolan.org/VLC_command-line_help

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.

Originally Posted by Lenchantin
(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:
taskkill /F /IM VLC.exe
"taskkill" being a program that kills processes. /F to forcefully close the process. /IM Image name being VLC.exe.

Originally Posted by Gustav
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 Web View objects are powered by the monstrous Internet Explorer...

Originally Posted by Lenchantin
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 Lacewing for networking. It does the job and it will do the job well, for simple communications like your project.

9. 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...

10. 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.

#### Posting Permissions

• You may not post new threads
• You may not post replies
• You may not post attachments
• You may not edit your posts
•