Try removing this portion of code:
This script tag will cause the Brightcove Players defined above it to be created as soon
as the line is read by the browser. If you wish to have the player instantiated only after
the rest of the HTML is processed and the page load is complete, remove the line.
UPDATE: Disregard my earlier statement. The video was using http, while our LPs are https. Now it works.
This isn't working for us. The structure of our code is identical to the code of the OP. I've tried everything and cannot get the Brightcove player to display on a Marketo landing page. Has Marketo stripped this capability back from when it used to work? Have others been able to embed custom js code - other than YouTube - to include a video on a landing page?