A lot of popular video streaming sites are still using Flash and RTMP to serve their videos. These are always embedded in an FLV container. Currently Android doesn't natively support RTMP or FLV format, but it does support RTSP for streaming.
I recently patched solid RTMP support into ffmpeg, and have now succeeded in getting RTSP working as well. So if you have a machine with decent network connectivity, you can install ffmpeg/ffserver and make it act as a proxy/relay to grab RTMP videos and republish them on RTSP for viewing on your phone.
I've posted the details here
http://forum.xda-developers.com/showpost.php?p=6495551&postcount=8
as a proof of concept. It should be pretty easy for someone else interested to turn this into a polished app. Enjoy...
Hi, my chromecast plays most youtube videos fine... except a red-band trailer for a film I tried to watch (it said not available),
I can watch it on my laptop though... are there age restrictions or something on the youtube app specifically?
That's not unique to the Chromecast - I've seen that happen with other streaming media players as well (Youtube video won't play on the media player, but plays on a PC at the same IP address with no special measures). I haven't seen any good explanation. Possibly that clip uses a rare video format that isn't supported on the media player?
hey guys,
basically ive noticed that when im stream a video from my nexus 5 to my chromecast the video streams straight to the chromecast rather than stream to the nexus and then to the chromecast. In the same way that when you use the youtube app it casts directly. My question is, is there any way to have this arrangement from my mac/PC.
the website in question is a popular movie stream site.
cheers in advance
Long story short, when apps are developed for the Chromecast, a virtual webpage with the video stream is opened in the Chromecast and then the video is streamed directly into it. Simple, right?
However, when a video appears on your screen in a site not optimized for the Chromecast, the Google Chrome extension must copy the contents of your tab (that are receiving a streamed video already) into a new stream that is sent to your Chromecast with your pc as a server. This is why it's slow as dirt.
There really is no easy solution, besides
1) writing it yourself (possible but improbable and unfeasible)
2) begging the website developers to do it (and if the site is illegal, Google Corporation can censor the app or site anyway),
3) downloading the movie beforehand and use something like Plex, or
4) purchasing a video streaming service made by a corporation that has made agreements with Google Corporation and is Chromecast compatible, like Netflix or... Netflix.
I opt for ripping my DVDs, converting them to movie files with Handbrake, putting them on my laptop Plex server, and casting them from there. But that's just me.
primetechv2 said:
Long story short, when apps are developed for the Chromecast, a virtual webpage with the video stream is opened in the Chromecast and then the video is streamed directly into it. Simple, right?
However, when a video appears on your screen in a site not optimized for the Chromecast, the Google Chrome extension must copy the contents of your tab (that are receiving a streamed video already) into a new stream that is sent to your Chromecast with your pc as a server. This is why it's slow as dirt.
There really is no easy solution, besides
1) writing it yourself (possible but improbable and unfeasible)
2) begging the website developers to do it (and if the site is illegal, Google Corporation can censor the app or site anyway),
3) downloading the movie beforehand and use something like Plex, or
4) purchasing a video streaming service made by a corporation that has made agreements with Google Corporation and is Chromecast compatible, like Netflix or... Netflix.
I opt for ripping my DVDs, converting them to movie files with Handbrake, putting them on my laptop Plex server, and casting them from there. But that's just me.
Click to expand...
Click to collapse
Hey primetechv2,
Please excuse my ignorance but I don't understand how can an android app like 'web video caster' can take a normal html page (not optimized for mobiles), find an embedded video and send it to Chromecast to play it directly on Chromecast. Using the same logic, a' browser app' could be designed for PCs which finds the embedded video link in a html page. The video link is then sent to the chromecast (via chrome browser if thats the only way) and a virtual page is opened in the chromecast (as you mentioned in case of mobile apps) and video is played on your chromecast. Please note that we don't want our computer to be used as a server to stream the video to Chromecast. Instead just a link to the video is extracted and is sent to the chromecast.
Am I missing something obvious here?
I don't have a perfect answer because I've never developed media apps for the Chromecast in Android, but it has something to do with the difference between writing an app that runs in Android versus one that runs on Chrome.
On Android, apps have direct access to files on your phone. They can read the files and transfer the data across a network to any device, such as a Chromecast, via a simple API.
On Chrome, for obvious security reasons no random webpage can just hijack your local filesystem. There's a chance that if media was loaded, it could be streamed via a socket or some advanced Javascript magic, but I've never seen any app that does this.
Often, apps will leverage the ability of a PC to behave as a web server, where files CAN be accessed on request and then sent to webpages. Unfortunately, Google Cast restricts Receiver pages being displayed on their hardware unless they're on a rather limited whitelist, so only domains that hvev registered with Google (e.g. http://plex.tv) can have a receiver page displayed on your Cast.
That's sorta the explanation for why apps like BubbleUPNP "hijack" Windows as a media server and as a transcoder.. As long as Android can pull transcoded media back, or perhaps allow access to the transcoded media via the Internet on a registered webpage, I've never set one up, so that's all conjecture. But I'm pretty darn sure a PC has a lot more processing power than an Android device. And when you want to send unsupported-on-the-Chromecast media from a phone to the Cast, you have to manage both the transcoding AND the streaming.
enmbs said:
Hey primetechv2,
Please excuse my ignorance but I don't understand how can an android app like 'web video caster' can take a normal html page (not optimized for mobiles), find an embedded video and send it to Chromecast to play it directly on Chromecast. Using the same logic, a' browser app' could be designed for PCs which finds the embedded video link in a html page. The video link is then sent to the chromecast (via chrome browser if thats the only way) and a virtual page is opened in the chromecast (as you mentioned in case of mobile apps) and video is played on your chromecast. Please note that we don't want our computer to be used as a server to stream the video to Chromecast. Instead just a link to the video is extracted and is sent to the chromecast.
Am I missing something obvious here?
Click to expand...
Click to collapse
It can do it only because the App or Site is written to support the CCast specifically where many other sites are not.
So lets cite examples of what I mean....
Web Video Caster is a CCast app that has a Player/receiver the CCast loads that can accept links from the app to display on the unit.
In the case of Websites the Embedded Player they use to play the Video has this support built in.
ESPN uses JWPlayer Pro for their site videos which has CCast support built in. JW Player has it's own Player/Receiver that gets loaded into the CCast to facilitate this.
You Tube has it's own receiver actually ON the CCast that also is similar to the JW Payer.
I believe both require the Browser you are using to be CCast aware using either an extension like GoogleCast for Chrome to let the site know to display the CCast icon. (I may be mistaken but I believe Firefox now has this capability built into the browser)
So it really is a combination of the player the site uses and the Browser that determines if CCast Support is enabled.
But in the end ANYTHING that is sent to a CCast DIRECTLY has to have a corresponding Player/Receiver app written for the CCast to send the linkage to.
It will take some time but I suspect in the future, Most of not ALL embedded players used by Websites will add this functionality in time.
Which is really all about the drive to become HTML5 compatible as much as any desire to support the CCast.
Asphyx said:
It can do it only because the App or Site is written to support the CCast specifically where many other sites are not.
So lets cite examples of what I mean....
Web Video Caster is a CCast app that has a Player/receiver the CCast loads that can accept links from the app to display on the unit.
In the case of Websites the Embedded Player they use to play the Video has this support built in.
ESPN uses JWPlayer Pro for their site videos which has CCast support built in. JW Player has it's own Player/Receiver that gets loaded into the CCast to facilitate this.
You Tube has it's own receiver actually ON the CCast that also is similar to the JW Payer.
I believe both require the Browser you are using to be CCast aware using either an extension like GoogleCast for Chrome to let the site know to display the CCast icon. (I may be mistaken but I believe Firefox now has this capability built into the browser)
So it really is a combination of the player the site uses and the Browser that determines if CCast Support is enabled.
But in the end ANYTHING that is sent to a CCast DIRECTLY has to have a corresponding Player/Receiver app written for the CCast to send the linkage to.
It will take some time but I suspect in the future, Most of not ALL embedded players used by Websites will add this functionality in time.
Which is really all about the drive to become HTML5 compatible as much as any desire to support the CCast.
Click to expand...
Click to collapse
Thanks Asphyx, It makes sense now :good:.
I am using tv cast + ccloudtv.org to cast live stream channels. Many channels are working on my mobile but i fail casting them to chromecast. I think the problem is because chrome cast not supporting some videos extensions. Is there a way to make chrome cast support all live streaming channels?
Most times it is an incompatible codec or streaming format that breaks on Chromecast.
Is there a way to make chrome cast support these formats?
Hi , I would like to write my own app in the future, which will be able to cast local videos to TV. I didn't found any example or principle explanation how to do that. I know that when casting video from the web, I send the url to Chromecast and it plays it by itself. But the local video ? I have no idea how it works. Every Chromecast example that I have found with source code uses only web videos. Thanks for any suggestions.