Giter Club home page Giter Club logo

Comments (3)

mfoltzgoogle avatar mfoltzgoogle commented on July 28, 2024

There's a lot of missing explanation about your setup so I'll have to make some assumptions.

Using example web server code from https://github.com/googlecast/CastVideos-chrome

  1. using plain http: to the Pi4 works but the cast icon is does not appear on the main page in the browser

Cast sender applications are only supported on https:

using a TLS self-signed certificate on the Pi, then https: to the main page on the Pi, the cast icon then shows in the browser

That will work if you've forced the browser to accept the self-signed certificate as trustworthy.

and
2.1 the native videos in the example play on the PC's chrome browser
2.2 the native videos in the example cast fine to a chromecast on my home LAN

These are hosted on Google servers at http://commondatastorage.googleapis.com

however then if we change the media.js code for the main page to
add our own .mp4 on the Pi web server,
and specifying the default Application ID for the Receiver in CastVideos.js

3.1 the native videos in the example still play in the browser and cast fine to a chromecast on my home LAN
3.2 the Pi's .mp4 plays fine locally in the browser
3.3 using http: as the URL to the Pi's mp4, the .mp4 does not cast to the Chromecast ... the TV just displays the chromecast icon

What URL are you using to the file hosted on the Pi? Is this something that the Chromecast can fetch? Is it something the Chromecast can play?

I suggest connecting to the receiver app with devtools at chrome://inspect#devices and seeing if the receiver app is attempting to fetch the file, and any errors that might be logged in the console.

3.4 using https: (the Pi has a self-signed cert) as the URL to the Pi's .mp4, the .mp4 does NOT cast to the Chromecast ... the TV just displays the chromecast icon
So, it looks like the chromecast device requires the .mp4 to reside on a server which has a proper signed certificate which has an authentication chain.

That shouldn't be necessary as the Chromecast can fetch media over http:. It's recommended to use https: everything on a page though, as mixed-content fetched over http: and https: is not great for security and privacy in general.

Does anyone know how to cast .mp4 videos from a local web server in a home LAN,
where the web server has no access in from the internet (i.e. no domain or real cert) ?

If you want to provide a proper cert for your LAN server, then you can register a domain, obtain a cert from an authority at e.g. https://letsencrypt.org/, and point DNS for the domain address at the server's LAN IP address(es).

Or, other suggestions ?

I guess you could also clarify in the README.md what all of the requisite pre-conditions are for it to work.

from castvideos-chrome.

hydra3333 avatar hydra3333 commented on July 28, 2024

Thank you for your post, you are perfectly correct !!!
I should have investigated further before posting.

(OK, I'm also looking at https://letsencrypt.org/)

I did as you suggested - connecting to the receiver app with devtools at chrome://inspect#devices
I also momentarily copied one of the sample .mp4s to the local web server and linked to that, just to test.
That local sample .mp4 played perfectly from the local web server regardless of a plain http link to the media.

The result is that I was 100% wrong in what I thought was happening.

I have a Chromecast Ultra, which looks to be very fussy.
I have a range of home videos created by ffmpeg in formats mp4/avc-1080i-1080p/aac (profile high, level 5.1) and mp4/hevc-1080i-1080p/aac.
None of them play on the Chromecast Ultra.
They do play fine in the chrome HTML5 video element though.

All that the cast framework debugging yields in the way of an error is this line
cast_receiver_framework.js:105 [ 3.649s] [cast.framework.media.Player] player event: error
which is rather unhelpful in terms of figuring out what it doesn't like given the .mp4 files
notionally fit within the spec https://developers.google.com/cast/docs/media#image-formats

So, the issue looks to instead be with my .mp4 videos, not the example software here.

I guess I'll start experimenting with .mp4 encoding parameters to find a set that works :( :(

cast_receiver_framework.js:105  [  0.002s] [cast.receiver.IpcChannel] Opening platform websocket 
cast_receiver_framework.js:105  [  0.017s] [cast.receiver.CastReceiverManager] Version: 2.0.0.0100 
jg @ cast_receiver_framework.js:105
cast_receiver_framework.js:105  [  0.060s] [cast.framework.Application] CAF Receiver Version: 3.0.0066 
jg @ cast_receiver_framework.js:105
cast_receiver_framework.js:105  [  0.136s] [cast.framework.Application] start 
cast_receiver_framework.js:105  [  0.150s] [cast.receiver.MediaManager] Using default Player 
cast_receiver_framework.js:105  [  0.159s] [cast.receiver.IpcChannel] Opening message bus websocket 
cast_receiver_framework.js:105  [  0.163s] [cast.receiver.IpcChannel] IpcChannel opened 
cast_receiver_framework.js:105  [  0.164s] [cast.receiver.CastMessageBus] Dispatching CastMessageBus message 
cast_receiver_framework.js:105  [  0.167s] [cast.receiver.CastReceiverManager] Underlying message bus is open 
cast_receiver_framework.js:105  [  0.169s] [cast.receiver.IpcChannel] IPC message sent: {"namespace":"urn:x-cast:com.google.cast.system","senderId":"SystemSender","data":"{\"type\":\"ready\",\"activeNamespaces\":[\"urn:x-cast:com.google.cast.cac\",\"urn:x-cast:com.google.cast.debugoverlay\",\"urn:x-cast:com.google.cast.broadcast\",\"urn:x-cast:com.google.cast.media\",\"urn:x-cast:com.google.cast.inject\"],\"version\":\"2.0.0\",\"messagesVersion\":\"1.0\",\"sdkCapabilities\":{\"show_media_controls_supported\":true,\"group_capabilities_supported\":true,\"playback_device_status_supported\":true}}"} 
cast_receiver_framework.js:105  [  0.170s] [cast.receiver.IpcChannel] IPC message sent: {"namespace":"urn:x-cast:com.google.cast.system","senderId":"SystemSender","data":"{\"type\":\"startheartbeat\",\"maxInactivity\":10}"} 
cast_receiver_framework.js:105  [  0.175s] [cast.receiver.MediaManager] Using default Player 
cast_receiver_framework.js:105  [  0.402s] [cast.framework.common.libraryloader] library(//ajax.googleapis.com/ajax/libs/shaka-player/2.5.5/shaka-player.compiled.js) is loaded 
cast_receiver_framework.js:105  [  0.452s] [cast.framework.common.libraryloader] library(//www.gstatic.com/cast/sdk/libs/mediaplayer/1.0.0/media_player.js) is loaded 
cast_receiver_framework.js:105  [  0.468s] [cast.receiver.IpcChannel] Received message: {"data":"{\"applicationId\":\"4662E592\",\"applicationName\":\"pi4cc\",\"closedCaption\":{},\"deviceCapabilities\":{\"bluetooth_supported\":true,\"display_context_changed_supported\":false,\"display_supported\":true,\"focus_state_supported\":true,\"hi_res_audio_supported\":false,\"is_group\":false,\"remote_control_input_supported\":false,\"remote_control_overlay_supported\":true,\"touch_input_supported\":false},\"iconUrl\":\"\",\"launchedFrom\":\"CAST\",\"launchingSenderId\":\"113a87b2-2797-91b4-ee69-50e4dde51bcc.6:sender-wv5zqnls0x94\",\"messagesVersion\":\"1.0\",\"sessionId\":\"e73c05f3-24ce-463e-a727-2c825b758f33\",\"type\":\"ready\",\"version\":\"1.42.172094\"}","namespace":"urn:x-cast:com.google.cast.system","senderId":"SystemSender"} 
cast_receiver_framework.js:105  [  0.468s] [cast.receiver.CastMessageBus] Dispatching CastMessageBus message 
cast_receiver_framework.js:105  [  0.475s] [cast.receiver.CastReceiverManager] Dispatching CastReceiverManager system ready event 
cast_receiver_framework.js:105  [  0.477s] [cast.framework.Application] onReady 
cast_receiver_framework.js:105  [  0.495s] [cast.receiver.IpcChannel] Received message: {"data":"{\"level\":1.0,\"muted\":false,\"type\":\"volumechanged\"}","namespace":"urn:x-cast:com.google.cast.system","senderId":"SystemSender"} 
cast_receiver_framework.js:105  [  0.497s] [cast.receiver.CastMessageBus] Dispatching CastMessageBus message 
cast_receiver_framework.js:105  [  0.499s] [cast.receiver.CastReceiverManager] Dispatching system volume changed event [1, false] 
cast_receiver_framework.js:105  [  0.500s] [cast.receiver.IpcChannel] Received message: {"data":"{\"type\":\"visibilitychanged\"}","namespace":"urn:x-cast:com.google.cast.system","senderId":"SystemSender"} 
cast_receiver_framework.js:105  [  0.501s] [cast.receiver.CastMessageBus] Dispatching CastMessageBus message 
cast_receiver_framework.js:105  [  0.501s] [cast.receiver.CastReceiverManager] Ignoring visibility changed event, state is already null 
cast_receiver_framework.js:105  [  0.502s] [cast.receiver.IpcChannel] Received message: {"data":"{\"type\":\"standbychanged\"}","namespace":"urn:x-cast:com.google.cast.system","senderId":"SystemSender"} 
cast_receiver_framework.js:105  [  0.502s] [cast.receiver.CastMessageBus] Dispatching CastMessageBus message 
cast_receiver_framework.js:105  [  0.502s] [cast.receiver.IpcChannel] Received message: {"data":"{\"controls\":0,\"type\":\"showmediacontrols\"}","namespace":"urn:x-cast:com.google.cast.system","senderId":"SystemSender"} 
cast_receiver_framework.js:105  [  0.504s] [cast.receiver.CastMessageBus] Dispatching CastMessageBus message 
cast_receiver_framework.js:105  [  0.504s] [cast.receiver.CastReceiverManager] Dispatching showmediacontrols 0 
cast_receiver_framework.js:105  [  0.507s] [cast.receiver.IpcChannel] Received message: {"data":"{\"hdrType\":\"sdr\",\"type\":\"hdroutputtypechanged\"}","namespace":"urn:x-cast:com.google.cast.system","senderId":"SystemSender"} 
cast_receiver_framework.js:105  [  0.507s] [cast.receiver.CastMessageBus] Dispatching CastMessageBus message 
cast_receiver_framework.js:105  [  0.509s] [cast.receiver.MediaManager] Sending broadcast status message 
cast_receiver_framework.js:105  [  0.511s] [cast.receiver.IpcChannel] IPC message sent: {"namespace":"urn:x-cast:com.google.cast.media","senderId":"*:*","data":"{\"type\":\"MEDIA_STATUS\",\"status\":[],\"requestId\":0}"} 
cast_receiver_framework.js:105  [  0.514s] [cast.receiver.IpcChannel] Received message: {"data":"{\"state\":\"IN_FOCUS\",\"type\":\"FOCUS_STATE\"}","namespace":"urn:x-cast:com.google.cast.cac","senderId":"SystemSender"} 
cast_receiver_framework.js:105  [  0.515s] [cast.receiver.CastMessageBus] Dispatching CastMessageBus message 
cast_receiver_framework.js:105  [  0.516s] [cast.framework.common.EventHandler] onEvent for FOCUS_STATE 
cast_receiver_framework.js:105  [  0.518s] [cast.receiver.IpcChannel] Received message: {"data":"{\"deviceName\":\"CCSmallLounge\",\"playbackType\":1,\"type\":\"playbackdevicestatus\"}","namespace":"urn:x-cast:com.google.cast.system","senderId":"SystemSender"} 
cast_receiver_framework.js:105  [  0.519s] [cast.receiver.CastMessageBus] Dispatching CastMessageBus message 
cast_receiver_framework.js:105  [  0.519s] [cast.receiver.CastReceiverManager] Dispatching playbackdevicestatus 1 
cast_receiver_framework.js:105  [  0.521s] [cast.receiver.IpcChannel] Received message: {"data":"{\"requestId\":1717412841,\"type\":\"GET_STATUS\"}","namespace":"urn:x-cast:com.google.cast.media","senderId":"trait-handler:113a87b2-2797-91b4-ee69-50e4dde51bcc.cast_receiver.media"} 
cast_receiver_framework.js:105  [  0.521s] [cast.receiver.CastMessageBus] Dispatching CastMessageBus message 
cast_receiver_framework.js:105  [  0.525s] [cast.receiver.MediaManager] MediaManager message received 
cast_receiver_framework.js:105  [  0.525s] [cast.receiver.MediaManager] Dispatching MediaManager getStatus event 
cast_receiver_framework.js:105  [  0.526s] [cast.framework.common.EventHandler] onEvent for getstatus 
cast_receiver_framework.js:105  [  0.528s] [cast.receiver.MediaManager] onGetStatus 
cast_receiver_framework.js:105  [  0.528s] [cast.receiver.MediaManager] onGetStatus: {"requestId":1717412841,"type":"GET_STATUS"} 
cast_receiver_framework.js:105  [  0.529s] [cast.receiver.MediaManager] Sending status message to trait-handler:113a87b2-2797-91b4-ee69-50e4dde51bcc.cast_receiver.media 
cast_receiver_framework.js:105  [  0.530s] [cast.receiver.IpcChannel] IPC message sent: {"namespace":"urn:x-cast:com.google.cast.media","senderId":"trait-handler:113a87b2-2797-91b4-ee69-50e4dde51bcc.cast_receiver.media","data":"{\"type\":\"MEDIA_STATUS\",\"status\":[],\"requestId\":1717412841}"} 
cast_receiver_framework.js:105  [  0.531s] [cast.receiver.IpcChannel] Received message: {"data":"{\"requestId\":8,\"type\":\"GET_STATUS\"}","namespace":"urn:x-cast:com.google.cast.media","senderId":"local-client.7:multizone-0"} 
cast_receiver_framework.js:105  [  0.532s] [cast.receiver.CastMessageBus] Dispatching CastMessageBus message 
cast_receiver_framework.js:105  [  0.532s] [cast.receiver.MediaManager] MediaManager message received 
cast_receiver_framework.js:105  [  0.533s] [cast.receiver.MediaManager] Dispatching MediaManager getStatus event 
cast_receiver_framework.js:105  [  0.533s] [cast.framework.common.EventHandler] onEvent for getstatus 
cast_receiver_framework.js:105  [  0.534s] [cast.receiver.MediaManager] onGetStatus 
cast_receiver_framework.js:105  [  0.534s] [cast.receiver.MediaManager] onGetStatus: {"requestId":8,"type":"GET_STATUS"} 
cast_receiver_framework.js:105  [  0.535s] [cast.receiver.MediaManager] Sending status message to local-client.7:multizone-0 
cast_receiver_framework.js:105  [  0.535s] [cast.receiver.IpcChannel] IPC message sent: {"namespace":"urn:x-cast:com.google.cast.media","senderId":"local-client.7:multizone-0","data":"{\"type\":\"MEDIA_STATUS\",\"status\":[],\"requestId\":8}"} 
cast_receiver_framework.js:105  [  0.540s] [cast.receiver.IpcChannel] Received message: {"data":"{\"largeMessageSupported\":false,\"senderId\":\"113a87b2-2797-91b4-ee69-50e4dde51bcc.6:157568484965165363\",\"type\":\"senderconnected\",\"userAgent\":\"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36\"}","namespace":"urn:x-cast:com.google.cast.system","senderId":"SystemSender"} 
cast_receiver_framework.js:105  [  0.542s] [cast.receiver.CastMessageBus] Dispatching CastMessageBus message 
cast_receiver_framework.js:105  [  0.545s] [cast.receiver.CastReceiverManager] Dispatching CastReceiverManager sender connected event [113a87b2-2797-91b4-ee69-50e4dde51bcc.6:157568484965165363] 
cast_receiver_framework.js:105  [  0.546s] [cast.receiver.CastMessageBus] Registering sender [urn:x-cast:com.google.cast.cac, 113a87b2-2797-91b4-ee69-50e4dde51bcc.6:157568484965165363] 
cast_receiver_framework.js:105  [  0.547s] [cast.receiver.CastMessageBus] Registering sender [urn:x-cast:com.google.cast.debugoverlay, 113a87b2-2797-91b4-ee69-50e4dde51bcc.6:157568484965165363] 
cast_receiver_framework.js:105  [  0.547s] [cast.receiver.CastMessageBus] Registering sender [urn:x-cast:com.google.cast.broadcast, 113a87b2-2797-91b4-ee69-50e4dde51bcc.6:157568484965165363] 
cast_receiver_framework.js:105  [  0.547s] [cast.receiver.CastMessageBus] Registering sender [urn:x-cast:com.google.cast.media, 113a87b2-2797-91b4-ee69-50e4dde51bcc.6:157568484965165363] 
cast_receiver_framework.js:105  [  0.548s] [cast.receiver.CastMessageBus] Registering sender [urn:x-cast:com.google.cast.inject, 113a87b2-2797-91b4-ee69-50e4dde51bcc.6:157568484965165363] 
cast_receiver_framework.js:105  [  0.549s] [cast.receiver.IpcChannel] Received message: {"data":"{\"type\":\"GET_STATUS\",\"requestId\":673717578}","namespace":"urn:x-cast:com.google.cast.media","senderId":"113a87b2-2797-91b4-ee69-50e4dde51bcc.6:sender-wv5zqnls0x94"} 
cast_receiver_framework.js:105  [  0.549s] [cast.receiver.CastMessageBus] Dispatching CastMessageBus message 
cast_receiver_framework.js:105  [  0.550s] [cast.receiver.MediaManager] MediaManager message received 
cast_receiver_framework.js:105  [  0.550s] [cast.receiver.MediaManager] Dispatching MediaManager getStatus event 
cast_receiver_framework.js:105  [  0.550s] [cast.framework.common.EventHandler] onEvent for getstatus 
cast_receiver_framework.js:105  [  0.551s] [cast.receiver.MediaManager] onGetStatus 
cast_receiver_framework.js:105  [  0.551s] [cast.receiver.MediaManager] onGetStatus: {"type":"GET_STATUS","requestId":673717578} 
cast_receiver_framework.js:105  [  0.552s] [cast.receiver.MediaManager] Sending status message to 113a87b2-2797-91b4-ee69-50e4dde51bcc.6:sender-wv5zqnls0x94 
cast_receiver_framework.js:105  [  0.552s] [cast.receiver.IpcChannel] IPC message sent: {"namespace":"urn:x-cast:com.google.cast.media","senderId":"113a87b2-2797-91b4-ee69-50e4dde51bcc.6:sender-wv5zqnls0x94","data":"{\"type\":\"MEDIA_STATUS\",\"status\":[],\"requestId\":673717578}"} 
cast_receiver_framework.js:105  [  0.563s] [cast.receiver.IpcChannel] Received message: {"data":"{\"type\":\"LOAD\",\"requestId\":673717579,\"sessionId\":\"e73c05f3-24ce-463e-a727-2c825b758f33\",\"media\":{\"contentId\":\"http://10.0.0.6/mp4library/MOVIES/DadAndDave-OnOurSelection.mp4\",\"streamType\":\"BUFFERED\",\"contentType\":\"video/mp4\",\"metadata\":{\"type\":2,\"metadataType\":2,\"title\":\"On Our Selection\",\"images\":[{\"url\":\"http://10.0.0.6/mp4library/MOVIES/DadAndDave-OnOurSelection.mp4_thumb.jpg\"}],\"subtitle\":\"On Our Selection\"}},\"autoplay\":false,\"currentTime\":2.1251379999999997}","namespace":"urn:x-cast:com.google.cast.media","senderId":"113a87b2-2797-91b4-ee69-50e4dde51bcc.6:157568484965165363"} 
cast_receiver_framework.js:105  [  0.565s] [cast.receiver.CastMessageBus] Dispatching CastMessageBus message 
cast_receiver_framework.js:105  [  0.566s] [cast.receiver.MediaManager] MediaManager message received 
cast_receiver_framework.js:105  [  0.568s] [cast.receiver.MediaManager] Dispatching MediaManager load event 
cast_receiver_framework.js:105  [  0.568s] [cast.receiver.MediaManager] Load message received:{"type":"LOAD","requestId":673717579,"sessionId":"e73c05f3-24ce-463e-a727-2c825b758f33","media":{"contentId":"http://10.0.0.6/mp4library/MOVIES/DadAndDave-OnOurSelection.mp4","streamType":"BUFFERED","contentType":"video/mp4","metadata":{"type":2,"metadataType":2,"title":"On Our Selection","images":[{"url":"http://10.0.0.6/mp4library/MOVIES/DadAndDave-OnOurSelection.mp4_thumb.jpg"}],"subtitle":"On Our Selection"}},"autoplay":false,"currentTime":2.1251379999999997} 
cast_receiver_framework.js:105  [  0.576s] [cast.framework.common.EventHandler] onEvent for load 
cast_receiver_framework.js:105  [  0.578s] [cast.receiver.MediaManager] Sending broadcast status message 
cast_receiver_framework.js:105  [  0.599s] [cast.receiver.MediaManager] No need to prefetch more for now. 
cast_receiver_framework.js:105  [  0.600s] [cast.receiver.IpcChannel] IPC message sent: {"namespace":"urn:x-cast:com.google.cast.media","senderId":"*:*","data":"{\"type\":\"MEDIA_STATUS\",\"status\":[{\"mediaSessionId\":1,\"playbackRate\":1,\"playerState\":\"IDLE\",\"currentTime\":0,\"supportedMediaCommands\":274447,\"volume\":{\"level\":1,\"muted\":false},\"media\":{\"contentId\":\"http://10.0.0.6/mp4library/MOVIES/DadAndDave-OnOurSelection.mp4\",\"streamType\":\"BUFFERED\",\"contentType\":\"video/mp4\",\"metadata\":{\"type\":2,\"metadataType\":2,\"title\":\"On Our Selection\",\"images\":[{\"url\":\"http://10.0.0.6/mp4library/MOVIES/DadAndDave-OnOurSelection.mp4_thumb.jpg\"}],\"subtitle\":\"On Our Selection\"}},\"currentItemId\":1,\"extendedStatus\":{\"playerState\":\"LOADING\",\"media\":{\"contentId\":\"http://10.0.0.6/mp4library/MOVIES/DadAndDave-OnOurSelection.mp4\",\"streamType\":\"BUFFERED\",\"contentType\":\"video/mp4\",\"metadata\":{\"type\":2,\"metadataType\":2,\"title\":\"On Our Selection\",\"images\":[{\"url\":\"http://10.0.0.6/mp4library/MOVIES/DadAndDave-OnOurSelection.mp4_thumb.jpg\"}],\"subtitle\":\"On Our Selection\"}}},\"repeatMode\":\"REPEAT_OFF\"}],\"requestId\":0}"} 
cast_receiver_framework.js:105  [  0.602s] [cast.framework.PlayerManager] MediaManagerLoad 
cast_receiver_framework.js:105  [  0.617s] [cast.framework.common.IdleTimeoutManager] onPlayerLoading 
cast_receiver_framework.js:105  [  0.620s] [cast.receiver.IpcChannel] IPC message sent: {"namespace":"urn:x-cast:com.google.cast.system","senderId":"SystemSender","data":"{\"type\":\"setappstate\",\"statusText\":\"Casting: On Our Selection\"}"} 
cast_receiver_framework.js:105  [  0.639s] [cast.framework.media.SimplePlayer] loadContent: autoplay = false, initial_time = 2.1251379999999997 
app.html?skin:1 Mixed Content: The page at 'https://www.gstatic.com/cast/sdk/default_receiver/1.0/app.html?skin' was loaded over HTTPS, but requested an insecure video 'http://10.0.0.6/mp4library/MOVIES/DadAndDave-OnOurSelection.mp4'. This content should also be served over HTTPS.
2app.html?skin:1 Mixed Content: The page at 'https://www.gstatic.com/cast/sdk/default_receiver/1.0/app.html?skin' was loaded over HTTPS, but requested an insecure image 'http://10.0.0.6/mp4library/MOVIES/DadAndDave-OnOurSelection.mp4_thumb.jpg'. This content should also be served over HTTPS.
cast_receiver_framework.js:105  [  1.604s] [cast.receiver.MediaManager] Buffering state changed, isPlayerBuffering: true old time: 0 current time: 0 
cast_receiver_framework.js:105  [  1.605s] [cast.receiver.MediaManager] Sending broadcast status message 
cast_receiver_framework.js:105  [  1.614s] [cast.receiver.IpcChannel] IPC message sent: {"namespace":"urn:x-cast:com.google.cast.media","senderId":"*:*","data":"{\"type\":\"MEDIA_STATUS\",\"status\":[{\"mediaSessionId\":1,\"playbackRate\":1,\"playerState\":\"BUFFERING\",\"currentTime\":0,\"supportedMediaCommands\":274447,\"volume\":{\"level\":1,\"muted\":false},\"currentItemId\":1,\"repeatMode\":\"REPEAT_OFF\"}],\"requestId\":0}"} 
cast_receiver_framework.js:105  [  3.389s] [cast.receiver.MediaManager] Metadata loaded 
cast_receiver_framework.js:105  [  3.401s] [cast.framework.common.IdleTimeoutManager] onPlayerLoadComplete 
cast_receiver_framework.js:105  [  3.425s] [cast.receiver.MediaManager] Sending broadcast status message 
cast_receiver_framework.js:105  [  3.434s] [cast.receiver.IpcChannel] IPC message sent: {"namespace":"urn:x-cast:com.google.cast.media","senderId":"*:*","data":"{\"type\":\"MEDIA_STATUS\",\"status\":[{\"mediaSessionId\":1,\"playbackRate\":1,\"playerState\":\"PAUSED\",\"currentTime\":2.125137,\"supportedMediaCommands\":274447,\"volume\":{\"level\":1,\"muted\":false},\"activeTrackIds\":[],\"media\":{\"contentId\":\"http://10.0.0.6/mp4library/MOVIES/DadAndDave-OnOurSelection.mp4\",\"streamType\":\"BUFFERED\",\"contentType\":\"video/mp4\",\"metadata\":{\"type\":2,\"metadataType\":2,\"title\":\"On Our Selection\",\"images\":[{\"url\":\"http://10.0.0.6/mp4library/MOVIES/DadAndDave-OnOurSelection.mp4_thumb.jpg\"}],\"subtitle\":\"On Our Selection\"},\"mediaCategory\":\"VIDEO\",\"duration\":6114.16,\"tracks\":[{\"trackId\":1,\"type\":\"VIDEO\"}],\"breakClips\":[],\"breaks\":[]},\"currentItemId\":1,\"items\":[{\"itemId\":1,\"media\":{\"contentId\":\"http://10.0.0.6/mp4library/MOVIES/DadAndDave-OnOurSelection.mp4\",\"streamType\":\"BUFFERED\",\"contentType\":\"video/mp4\",\"metadata\":{\"type\":2,\"metadataType\":2,\"title\":\"On Our Selection\",\"images\":[{\"url\":\"http://10.0.0.6/mp4library/MOVIES/DadAndDave-OnOurSelection.mp4_thumb.jpg\"}],\"subtitle\":\"On Our Selection\"},\"duration\":6114.16},\"autoplay\":false,\"orderId\":0}],\"repeatMode\":\"REPEAT_OFF\"}],\"requestId\":673717579}"} 
app.html?skin:1 Mixed Content: The page at 'https://www.gstatic.com/cast/sdk/default_receiver/1.0/app.html?skin' was loaded over HTTPS, but requested an insecure image 'http://10.0.0.6/mp4library/MOVIES/DadAndDave-OnOurSelection.mp4_thumb.jpg'. This content should also be served over HTTPS.
app.html?skin:1 Mixed Content: The page at 'https://www.gstatic.com/cast/sdk/default_receiver/1.0/app.html?skin' was loaded over HTTPS, but requested an insecure video 'http://10.0.0.6/mp4library/MOVIES/DadAndDave-OnOurSelection.mp4'. This content should also be served over HTTPS.
cast_receiver_framework.js:105  [  3.645s] [cast.framework.common.IdleTimeoutManager] onPlayerIdle 
cast_receiver_framework.js:105  [  3.649s] [cast.framework.media.Player] player event: error 
cast_receiver_framework.js:105  [  3.662s] [cast.framework.media.Player] reset() 
cast_receiver_framework.js:105  [  3.669s] [cast.framework.media.Player] endInternal() 
cast_receiver_framework.js:105  [  3.693s] [cast.receiver.TextTracksManager] Disposed TextTracksManager 
cast_receiver_framework.js:105  [  3.696s] [cast.receiver.MediaManager] Sending broadcast status message 
cast_receiver_framework.js:105  [  3.719s] [cast.receiver.IpcChannel] IPC message sent: {"namespace":"urn:x-cast:com.google.cast.media","senderId":"*:*","data":"{\"type\":\"MEDIA_STATUS\",\"status\":[{\"mediaSessionId\":1,\"playbackRate\":1,\"playerState\":\"IDLE\",\"currentTime\":0,\"supportedMediaCommands\":274447,\"volume\":{\"level\":1,\"muted\":false},\"currentItemId\":1,\"idleReason\":\"ERROR\"}],\"requestId\":0}"} 
cast_receiver_framework.js:105  [  3.748s] [cast.framework.media.EmbeddedPlayer] ended 
cast_receiver_framework.js:105  [  3.752s] [cast.framework.common.IdleTimeoutManager] onPlayerIdle 
cast_receiver_framework.js:105  [  3.753s] [cast.framework.common.IdleTimeoutManager] state is already set to idle due to no_media 
cast_receiver_framework.js:105  [  3.754s] [cast.receiver.IpcChannel] IPC message sent: {"namespace":"urn:x-cast:com.google.cast.system","senderId":"SystemSender","data":"{\"type\":\"setappstate\",\"statusText\":\"\"}"} 

from castvideos-chrome.

hydra3333 avatar hydra3333 commented on July 28, 2024

it does work.

from castvideos-chrome.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.