That’s an incredibly thorough bug report, looks like your Adobe contact has been very thorough and helpful!
Alas I also haven’t the required skill set to be of use but look forward to seeing this getting resolved.
Thanks @didikunz for initiating this. Will be brilliant to be able to keep using the Flash templates we have!
It currently looks like we could solve the problem, I will post back with more information’s, when the final test are success full. Thanks to all that helped to get to this.
That is good news! but how will this works after windows pushed its update for removal of Flash? I guess after that it doesn’t matter if it works in Caspar again.
https://support.microsoft.com/en-us/help/4577586/update-for-removal-of-adobe-flash-player
As I said: I will post more information’s when we are done with the modifications and the testing.
There is a way to prevent Flash from being uninstalled and also a way to make Flash files from specific locations to run after the EOL deadline of 12th of January 2021. I will write a step by step guide and provide download links etc. to make it work.
Hi,
I want to summarize and share my experiences:
- Microsoft already released KB4577586 Update for the removal of Adobe Flash Player. I suggest to install it ASAP, it should never install again (and remove Flash OCX registration).
- For use with CasparCG, it should be enough to have any previous version of Flash.ocx registered. 32-bit CasparCG (2.0x) requires 32-bit Flash.ocx, registered with regsvr32.exe from c:\Windows\SYSWOW64 folder. 64-bit CasparCG requires 64-bit Flash.ocx registered by “normal” regsvr32.exe from c:\Windows\System32. I tested the 32-bit only and it works very well (see last point).
- The Flash.ocx files can be taken from existing installations (i.e. on Windows 7). 32-bit version is in c:\Windows\SYSWOW64\Marcromed\Flash, and 64-bit version is in c:\Windows\system32\Marcromed\Flash folder. Unfortunately, Adobe disabled download Flash download area on their website. I suggest to use version 11-12, as they were pretty stable (one-time loaded template were running for more than 3 months without interruption at my lab).
- I noticed huge - 2x - performance boost (or return to normal) after the operation. I didn’t noted exact previous version of Flash, so I don’t know if it comes from downgrading Flash or it’s side-effect of removal. The operation reduced CPU and GPU usage as well.
So it seems that we can keep using Flash, unless it’s legal (i.e. Adobe can revoke licence) and we have binaries secured. It will not impact system security, as we play only our own code, and none of browsers uses the OCX (IE was last browser that was using the ActiveX version of Flash).
Sorry @Jurek but this post adds more to the confusion than to help solve the problem.
I spent quite some time getting a solution to materialize by posting to people at Adobe’s Flash EOL team. There is a solution underway, that everybody can use without trying to register old versions via resvr32.exe, what would be a nightmare to support.
The last version of Flash Player allows to specify, that it does not get removed by Windows 10 and also what Flash files can be played. This is done with a simple setting file that needs to be deployed by the user. We currently have the problem, that our way to send template filenames to Caspar is not compatible to this AllowList feature inside Flash.
There is a fix for version 2.3.0 here that @silid did. There is also a bugreport and a corresponding pull request.
I am still waiting for this to be merged into the builds and also merged back to older versions, like 2.0.7 or the NRK branch. That should happen in the next few days, as they promised me. I will then post a step by step guide on how to setup all these things, but can not do that until we have publicly available builds.
So please be patient, everything will turn out well.
@didikunz, I see you have done a lot ot work. But IMHO registering Flash COM classes to allow CasparCG objects it need is pretty simple and conforms to COM standards. I don’t see any drawback of this approach - for me it’s actually much more complex than keep Flash in Windows fully installed according to specs you found and believe that Adobe/MS policy won’t change
And the performance return I noticed is valuable, isn’t it?
Anyway, you (or I if you wish) can delete the post if you perceive it harmful.
Kind regards,
Jurek
Thanks @Jurek
I think it is valuable to know how to restore flash to a machine that has had it removed. Thanks for your work in this area, and very interesting to know about the performance improvement.
I think it is still worth applying the change to CasparCG to call templates by URL rather than path as we will probably have users in both camps.
No, I will not delete it. I just wanted to point out, that there is a “official” way to keep Flash alive and that it will turn out well.
Hi Guys
Sorry if I’m being annoying. Is there an update on the official guide yet @didikunz?
Thanks
Steve
Not yet. I am still waiting for the updated builds of the different version. I expect them to be ready by the end of the week. I will provide a little program, that writes the config files with the correct settings and a how to.
Thank you @didikunz. I’m very appreciative of this.
We were working towards HTML templates by middle 2020 but COVID had other ideas. This removes a lot of pressure .
We reached milestone 1: We have a working CasparCG build, that will run Flash templates after the EOL deadline. It is the 2.3.0 version, the most recent CasparCG version. I hope to receive builds for 2.0.7 and the NRK branch as soon as possible.
Find a little how-to guide here. It is a work in progress, but will help you get ready. Be aware, that if you use any other version than the build mentioned in the guide, after fully updating the system Flash templates will not run any more, until you install an updated build of CasparCG.
Thank you all for your work!
Hope that the build for 2.0.7 will arrive soon
The big work has been done by others, like Simon Liddicott, Robert Nagy and Jullian Waller at the Caspar side and Jeromie Clark, Chris Campbell, Robert Goldberg and Victory Nece at the Adobe side. I only was the guy with the whip, who annoyed everybody.
I’m testing this on a laptop. I did everything as written but I have this error when try to play the flash template from the client.
> [2020-12-07 16:44:30.127] [info] Received message from 127.0.0.1: CG 1-20 ADD 1 "SOCCER/YELLOCARD" 1 "<templateData></templateData>"\r\n
> [2020-12-07 16:44:30.131] [info] flash[file:///C:/Caspar/CasparCG%20Server%202.3.1/template/cg20.fth.1080i5000|0] Initialized
> [2020-12-07 16:44:30.201] [info] flash-player[cg20.fth.1080i5000|1920x1080] Initialized.
> [2020-12-07 16:44:30.201] [warning] flash-player[cg20.fth.1080i5000|1920x1080] Flash call failed:<invoke name="Add" returntype="xml"><arguments><number>1</number><string>file:///C:/Caspar/CasparCG%20Server%202.3.1/template/SOCCER/YELLOCARD.ft</string><true/><string></string><string><![CDATA[<templateData></templateData>]]></string></arguments></invoke>
> [2020-12-07 16:44:30.244] [info] Sent message to 127.0.0.1:202 CG OK\r\n
Can you help me?
What version of CasparCG do you use? What Flash Player version?
- CasparCG Video and Graphics Playout Server 2.3.0 f4879b8e Dev (I downloaded the last one from your post).
- Flash.ocx is 32.0.0.445
- I followed your how-to guide and used Flash Configuration Writer
############################################################################
[2020-12-07 16:40:22.421] [info] Starting CasparCG Video and Graphics Playout Server 2.3.0 f4879b8e Dev
[2020-12-07 16:40:22.808] [info] Initializing OpenGL Device.
[2020-12-07 16:40:22.812] [info] Initialized OpenGL 4.5.13587 Core Profile Context 20.4.2 26.20.15029.27016 ATI Technologies Inc.
[2020-12-07 16:40:22.815] [info] Initialized ffmpeg module.
[2020-12-07 16:40:22.815] [info] Initialized oal module.
[2020-12-07 16:40:22.815] [info] Initialized decklink module.
[2020-12-07 16:40:22.815] [info] Initialized screen module.
[2020-12-07 16:40:22.815] [info] Initialized newtek module.
[2020-12-07 16:40:22.882] [info] Initialized html module.
[2020-12-07 16:40:22.882] [warning] Flash is no longer a recommended way of creating dynamic templates. Adobe have declared flash end-of-life at the end of 2020, and we cannot guarantee it will continue to work in any version after that time.
[2020-12-07 16:40:22.882] [warning] All support for flash templates will be removed in a future release of CasparCG
[2020-12-07 16:40:23.121] [info] Initialized flash module.
[2020-12-07 16:40:23.124] [info] Initialized bluefish module.
[2020-12-07 16:40:23.124] [info] Initialized image module.
[2020-12-07 16:40:23.124] [info] "C:/Caspar\CasparCG Server 2.3.0\casparcg.config":
[2020-12-07 16:40:23.124] [info] -----------------------------------------
[2020-12-07 16:40:23.124] [info] <?xml version="1.0" encoding="utf-8"?>
[2020-12-07 16:40:23.124] [info] <configuration>
[2020-12-07 16:40:23.124] [info] <paths>
[2020-12-07 16:40:23.124] [info] <media-path>media/</media-path>
[2020-12-07 16:40:23.124] [info] <log-path>log/</log-path>
[2020-12-07 16:40:23.124] [info] <data-path>data/</data-path>
[2020-12-07 16:40:23.124] [info] <template-path>template/</template-path>
[2020-12-07 16:40:23.124] [info] <font-path>font/</font-path>
[2020-12-07 16:40:23.124] [info] </paths>
[2020-12-07 16:40:23.124] [info] <lock-clear-phrase>secret</lock-clear-phrase>
[2020-12-07 16:40:23.124] [info] <channels>
[2020-12-07 16:40:23.124] [info] <channel>
[2020-12-07 16:40:23.124] [info] <video-mode>1080i5000</video-mode>
[2020-12-07 16:40:23.124] [info] <consumers>
[2020-12-07 16:40:23.124] [info] <screen>
[2020-12-07 16:40:23.124] [info] <device>1</device>
[2020-12-07 16:40:23.124] [info] <aspect-ratio>default</aspect-ratio>
[2020-12-07 16:40:23.124] [info] <stretch>fill</stretch>
[2020-12-07 16:40:23.124] [info] <windowed>true</windowed>
[2020-12-07 16:40:23.124] [info] <key-only>false</key-only>
[2020-12-07 16:40:23.124] [info] <vsync>false</vsync>
[2020-12-07 16:40:23.124] [info] <borderless>false</borderless>
[2020-12-07 16:40:23.124] [info] <interactive>true</interactive>
[2020-12-07 16:40:23.124] [info] <always-on-top>false</always-on-top>
[2020-12-07 16:40:23.124] [info] <x>0</x>
[2020-12-07 16:40:23.124] [info] <y>0</y>
[2020-12-07 16:40:23.124] [info] <width>0</width>
[2020-12-07 16:40:23.124] [info] <height>0</height>
[2020-12-07 16:40:23.124] [info] </screen>
[2020-12-07 16:40:23.124] [info] </consumers>
[2020-12-07 16:40:23.124] [info] </channel>
[2020-12-07 16:40:23.124] [info] </channels>
[2020-12-07 16:40:23.124] [info] <controllers>
[2020-12-07 16:40:23.124] [info] <tcp>
[2020-12-07 16:40:23.124] [info] <port>5250</port>
[2020-12-07 16:40:23.124] [info] <protocol>AMCP</protocol>
[2020-12-07 16:40:23.124] [info] </tcp>
[2020-12-07 16:40:23.124] [info] </controllers>
[2020-12-07 16:40:23.124] [info] <amcp>
[2020-12-07 16:40:23.124] [info] <media-server>
[2020-12-07 16:40:23.124] [info] <host>localhost</host>
[2020-12-07 16:40:23.124] [info] <port>8000</port>
[2020-12-07 16:40:23.124] [info] </media-server>
[2020-12-07 16:40:23.124] [info] </amcp>
[2020-12-07 16:40:23.124] [info] <flash>
[2020-12-07 16:40:23.124] [info] <buffer-depth>auto</buffer-depth>
[2020-12-07 16:40:23.124] [info] <enabled>true</enabled>
[2020-12-07 16:40:23.124] [info] </flash>
[2020-12-07 16:40:23.124] [info] </configuration>
Oha, I will need to check that.
Can you just double check, that the file mms.cfg
exist under C:\Windows\System32\Macromed\Flash
?
Here is:
AutoUpdateDisable=1
EOLUninstallDisable=1
EnableAllowList=1
AllowListPreview=0
AllowListRootMovieOnly=1
AllowListUrlPattern=file:///C:/Caspar/CasparCG Server 2.3.0/template/