Unable to cast HLS Live streaming in android - chromecast

I want to cast HLS Live stream to Cast Device using Cast Companion Library Android. I try the url but failed to play on Cast Device. When using VOD HLS URL, the video can play on Cast Device.
I already change the streamType: MediaInfo.Builder(url).setStreamType(MediaInfo.STREAM_TYPE_LIVE)
Or anything else I must change ?
This is the Live stream URL I want to cast: http://live.streamingfast.net/livech1.m3u8
How to cast HLS Live stream using Cast Companion Library Android? Please help...???
Thanks

When you run into such issues, you need to turn on debugging in the console to see what the issue might be. If you do so, you'll notice that your streams lack the required CORS headers:
XMLHttpRequest cannot load http://live.streamingfast.net/hls-live/livepkgr/_definst_/liveevent/live-ch1-3.m3u8. No 'Access-Control-Allow-Origin' header is present on the requested resource.

Related

No Video Found for url JMETER UBIK ULP Video Streaming Sampler

I'm trying to Performance test an MPEG-DASH video streaming site using JMeter and the UBIK Loadpack.
I'm getting the error No video found for url, However, if I go to the URL in a browser the video plays
Any Ideas what the problem is?
[1]:
You didn't pass the URL of a video stream.
You must enter the url of either:
MPEG-Dash stream which ends with .mpd usually
HLs which ends with m3u8
MS Smooth
Please contact our support for further help.

Chromecast VTT not showing

I am creating a Chromecast app that streams video and uses out of stream VTT captions. I have successfully managed to load TTML but I require to load VTT also for this I have the following code
this.player.enableCaptions(true, 'vtt', 'http://some_file.vtt');
this fails within the MediaPlayer.js with tyhe following error
Uncaught TypeError: Cannot read property 'parse' of null
This looks to be in the code to load the individual cues has anyone come across this problem?
You need to add the (text/audio) track(s) information to your MediaInfo and then set the active track. Take a look at this guide. Also be aware that having tracks, even when your media is mp4, would require CORS.
this.player.enableCaptions(true, 'vtt', 'http://some_file.vtt');
should be
this.player.enableCaptions(true, 'webvtt', 'http://some_file.vtt');

Google cast receiver throwing "Uncaught NotSupportedError: Failed to execute 'addSourceBuffer' on 'MediaSource'

We have successfully launched with chromecast support on our app and it was perfectly working fine, from the past few days it suddenly stopped working(the receiver was alway sending the buffering status to sender and it was continuously buffering), i have used the chrome debugging and able to find this exception in console
"Uncaught NotSupportedError: Failed to execute 'addSourceBuffer' on 'MediaSource': The type provided ('video/mp2t; codecs="mp4a.40.2,avc1.77.31"') is unsupported." in the media_player.js file (on the 80th line - according to chrome debugger).
not able to understand why suddenly this error is thrown, all our customers started complaining that chromecast support is not working.
can you please guide me through the problem.
Note: I have used the custom receiver sample from google cast github and modified the styling.
we are using HLS for streaming videos:
here is the sample m3u8 file content:
#EXTM3U
#EXT-X-VERSION:1
## Created with Unified Streaming Platform(version=1.6.9)
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=323376,CODECS="mp4a.40.2,avc1.77.31",RESOLUTION=1024x576
707eb5bd-dcdf-4f84-b1a3-7cdbd0d4af89-audio=131072-video_eng=174000.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=510996,CODECS="mp4a.40.2,avc1.77.31",RESOLUTION=1024x576
707eb5bd-dcdf-4f84-b1a3-7cdbd0d4af89-audio=131072-video_eng=351000.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=722996,CODECS="mp4a.40.2,avc1.77.31",RESOLUTION=1024x576
707eb5bd-dcdf-4f84-b1a3-7cdbd0d4af89-audio=131072-video_eng=551000.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1078096,CODECS="mp4a.40.2,avc1.77.31",RESOLUTION=1024x576
707eb5bd-dcdf-4f84-b1a3-7cdbd0d4af89-audio=131072-video_eng=886000.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1415176,CODECS="mp4a.40.2,avc1.77.31",RESOLUTION=1024x576
707eb5bd-dcdf-4f84-b1a3-7cdbd0d4af89-audio=131072-video_eng=1204000.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1743776,CODECS="mp4a.40.2,avc1.77.31",RESOLUTION=1024x576
707eb5bd-dcdf-4f84-b1a3-7cdbd0d4af89-audio=131072-video_eng=1514000.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=2068136,CODECS="mp4a.40.2,avc1.77.31",RESOLUTION=1024x576
707eb5bd-dcdf-4f84-b1a3-7cdbd0d4af89-audio=131072-video_eng=1820000.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=2498496,CODECS="mp4a.40.2,avc1.77.31",RESOLUTION=1024x576
707eb5bd-dcdf-4f84-b1a3-7cdbd0d4af89-audio=131072-video_eng=2226000.m3u8
I did saw answer to this post:
Is avc1.66.31,mp4a.40.2 supported by the Chromecast device?
but as we have different version of avc codec - avc1.77.31 don't know, what's the best way to get it working.
Note: I have posted the same question on G+ community, will update the answer there if i find a working solution here. thanks.
Try replacing your codec with avc1.77.30
host.processManifest = function(manifest) {
return manifest.replace(/CODECS=\"avc1.77.([0-9]*)/g, 'CODECS=\"avc1.77.30');
};

Chromecast taking longer time to cast a mp4 from my host service

I'm using iOS Chromecast app, from iPhone simulator, when I try to cast video (say, Big Buck Bunny), sample video starts almost instantly. However when I host (using godaddy.com ost service) the same video/mp4 (Bigbuckbunny.mp4) using same JSON file (videos-enhanced-b.json) from source http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/ its takes about 2 minutes to render? Any explanations are greatly appreciated. Thanks
My media.h as below:
#import <Foundation/Foundation.h>
#define MEDIA_URL_BASE #"http://www.myhosturl.com/subdirectory/"
#define MEDIA_URL_FILE #"videos-enhanced-b.json"
I suggest you open a browser and point to port 9222 on your receiver and watch as the messages come in to see what is causing the delay. The sender app sends the load message directly to your receiver, so that is obviously very fast (and that wouldn't care if your media is here or there) but after that, the receiver has to go fetch the movie from your site and render that. Watch the log to see if you notice anything unusual there. Also, from your wifi network and on your laptop, try to do download the movie (point your browser to it, for example) and see how that performs.
Based on the log I got from the X-Code its takes about 3 minutes after "Media control channel metadata changed" as highlighted below.
2014-02-17 00:08:45.337 YouCast[1510:a0b] -[GCKMediaControlChannel didReceiveTextMessage:] message received: {"type":"MEDIA_STATUS","status":[{"mediaSessionId":1,"playbackRate":1,"playerState":"PAUSED","currentTime":0,"supportedMediaCommands":15,"volume":{"level":1,"muted":false},"media":{"contentId":"http://myurl.com/dd1.mp4","streamType":"NONE","duration":40.77424,"contentType":"video/mp4","metadata":{"title":"Elephant Dream","images":[{"url":"http://myurl.com/images_480x270/ElephantsDream.jpg","width":200,"height":100}],"metadataType":0,"subtitle":"Blender Foundation"}}}],"requestId":3}
2014-02-17 00**:08:45.338** YouCast[1510:a0b] Media control channel status changed
**2014-02-17 0**0:08:45.34**0 YouCast[1510:a0b] Media control channel metadata changed
2014-02-17 00:08:48.617 YouCast[1510:a0b] -[GCKCastSocket socket:didReadData:withTag:] prefix read, expected message length=248**
2014-02-17 00:08:48.618 YouCast[1510:a0b] -[GCKMediaControlChannel didReceiveTextMessage:] message received: {"type":"MEDIA_STATUS","status":[{"mediaSessionId":1,"playbackRate":1,"playerState":"PLAYING","currentTime":1.291666,"supportedMediaCommands":15,"volume":{"level":1,"muted":false}}],"requestId":0}
Note:not able to point chrome browser to 9222

Video Live Streaming

trying to launch a video streaming request with smooth Streaming i tried this example with their url and also my uri " but it didn't work , i tried it on vlc also it worked with an iphone application .. ! this is a part of my xaml code :
<Core:SMFPlayer>
<Core:SMFPlayer.Playlist>
<Media:PlaylistItem DeliveryMethod="AdaptiveStreaming" MediaSource="http://streaming.toutech.net:1936/live/jawharafm.sdp/playlist.m3u8"/>
</Core:SMFPlayer.Playlist>
</Core:SMFPlayer>
SMFPlayer does not support HLS streaming. For WindowsPhone you may want to use SmoothStreaming
Also, there was a project on codeplex that could play HLS streaming on a WindowsPhone, however it is not online anymore. I only found the tweet that referenced this project: https://twitter.com/JustinAngel/status/179253691549888514
Update
The HLS streaming for WindowsPhone is back online: http://phonesm.codeplex.com/

Resources