Chromecast broken http video play

I have setup openhab to cast a video (stored locally, accessible via http) on certain times. The video is located under openhab2 html folder.

Was working fine the moment i went overseas, got stuck and came back home after 6 months, so i don’t know the previous version, and probably a couple of versions has been released since then.

The script would simply push the local video’s URL to chromecast playuri item via rest API, it would play on NVIDIA shields no worries.

Now, it would attempt to do that play for a little (audio only) with chopping sound and stop after around 2 seconds.

below is sequence of events.

13:21:37.197 [INFO ] [smarthome.event.ItemCommandEvent     ] - Item 'chromecast_chromecast_b0e30850fab1d144ffee57dd0898f1b1_playuri' received command http://192.168.86.10:8080/static/video/asr_athan.mp4
13:21:37.202 [INFO ] [arthome.event.ItemStatePredictedEvent] - chromecast_chromecast_b0e30850fab1d144ffee57dd0898f1b1_playuri predicted to become http://192.168.86.10:8080/static/video/asr_athan.mp4
13:21:39.368 [INFO ] [smarthome.event.ItemStateChangedEvent] - chromecast_chromecast_b0e30850fab1d144ffee57dd0898f1b1_control changed from PAUSE to PLAY
13:21:39.374 [INFO ] [smarthome.event.ItemStateChangedEvent] - chromecast_chromecast_b0e30850fab1d144ffee57dd0898f1b1_stop changed from ON to OFF
13:21:44.560 [INFO ] [smarthome.event.ItemStateChangedEvent] - chromecast_chromecast_b0e30850fab1d144ffee57dd0898f1b1_statustext changed from UNDEF to Default Media Receiver
13:21:44.573 [INFO ] [smarthome.event.ItemStateChangedEvent] - chromecast_chromecast_b0e30850fab1d144ffee57dd0898f1b1_idling changed from ON to OFF

The wierd thing is that Nvidia sheild would -during the 2 seconds- should “Unknown” chromecast built-in unknown playing on the screen

any idea what more debugging i need to do? casting YouTube video from my mobile to NVIDIA shield works fine, NVIDIA shield is updated to the latest FW

Cheers

It probably is not working due to missing CORS headers. The ipcamera binding can cast mp4 files using its built in server, to use the static server you probably have to use nginx to add the needed headers.

Is that as a result of recent OH2 update? because it used to work fine. I can call the URL of the video on my browser and plays immediately.

Don’t know. All I know is you need to provide CORS for the casting to work. Google may have changed and become more strict in their firmware but i don’t work for them and don’t know. If u know how to use nginx try it to see if it works, or use the server from the ipcamera binding by fooling it you have a camera.

See here https://developers.google.com/cast/docs/chrome_sender/advanced#cors_requirements

I still think it is irrelevant, I tried a video from the web still the same problem.

I believe the problem occurred after I upgraded OH2. The Nvidia Shield didn’t have any FW upgrades. I believe the OH2 was 2.5.0 - 2.5.2 and problem occurred when i returned back from overseas and upgraded to 2.5.8 (now 2.5.9 still same issue).

I just checked with a mp4 created locally with FFmpeg and it cast fine with the static server and openHAB 2.5.3 so appears I am wrong about basic mp4 files needing it.

Could be 2.5.4 thing since there is a “bug fix”

Update API lib to 0.11.3

Can I downgrade to 2.5.3 ?