I'm developing mobile apps for iOS and Android. Mostly iOS. One of the clients has a fairly big repository of self-created videos (70+), which the companion website hosts on Vimeo at the moment. I investigated some time to find out, that Vimeo doesn't want and support HTTP live streaming to ease up embedding such videos in an iOS app. But perhaps I'm missing something here.
My question is: What is the best way for hosting videos to embed them in an (iOS) app? I explicitly don't want to use an HTML frame, like UIWebView, for this.
I already have some solutions in mind:
self-hosting, since HTTP live streaming isn't rocket science anymore (think real networks streaming services a few years ago)
YouTube
Vimeo (they got their own iOS app, so they have to do some streaming for themselves, perhaps sniffing the network traffic can lighten things up)
I'm afraid this list isn't complete. So perhaps somebody has some superb ideas on that topic. And yes, commerical plans aren't a show stopper if they're reasonable priced.
Google will be presenting a YouTube API in a few weeks at the Google I/O - perhaps that might be perfect for you.
I just found out that Vimeo has introduced another paid plan apart from the established »Plus« plan: »Pro« for companies ($199/year). One of its features is HTTP live streaming. A staff member states on the forum:
We do support http live streaming. And to answer your initial question, our normal embed code will not recognize when http live streaming is appropriate, nor will it automatically switch over to it. Consequently, you will need to use a third party player with the Http live streaming link in your video's Settings page for your video to play with http live streaming.
But there's a one caveat at the moment: you can't directly access the link to the HTTP streaming playlist via Vimeos API. There's a post on their API forum where people can vote for certain features: Vimeo API forum: http live streaming link through API
Related
I was reading several tutorials about how to use the Youtube Api. Just to find out after I implemented it. That it was not working when the original Youtube App was not installed on device. In the tutorials I read this was not mentioned. Just in original doc's it says:
The API client library interacts with a service that is distributed as a part of the YouTube app for the Android platform
If that is the case I think it is an exclusion criterion. Cause it forces the user to install another 20mb sized app.
So my question would be if there is another way to play youtube Videos.
One possibility is to use HTML5 player in a web-view. But It may have compatibility issues with older android OS and experience may vary from device to device.
I'm just learingn mobile web development and thinking about task:
Is there a way to make a videostream betwen iOS, Android and Browser. What architecture and technology it should use. I already read this quetion on SO Peer-to-Peer video from iOS to Android? but there is nothing about browsers.
If it can't be p2p and crossplatfom at the same time. I thought i shoud use Red5 server or etc. or Xmpp
So I'm asking your advice and opinion here. Any information would be valuable
Yes, You can !!!
There is new technology enforced by google is WEBRTC
It is stands for "web real time communication" and is an opensource project funded by google.
It is also support Android/iPhone native application.
I am working on it and got success say 60%.
Video clarity is good but audio is choppy.
You can find source code from Here
Discussion with community Here
You can see live demo Here
NOTE:
It is ongoing project and has not been stable yet. Google team is working on.Currently it is working on latest Chrome,FF and opera. IE has not given support yet.
Yes,the open source solution should be WEBRTC technology,please check it on official website: webrtc.org
I am trying to make an Android app which will pull uploaded videos from a channel and display them in a list view. Users will be able to watch videos, subscribe to the channel, comment, and like videos.
I have looked at using an Atom feed to get the video info from YouTube (I have a working app), but I came across the Java API for YouTube today, which abstracts all the parsing that's needed, if I implement the REST client code myself.
My question is which is the recommended solution for this? And which will perform better?
for sure " DON'T INVENT THE WHEEL ! "
I build smaller application for android and believe me using YouTube API is much better than anything else.
if you are seeking to play videos inside your Application try to see also Open-Youtube-player !
also you should use the API for other features and for its performance you don't need to add more leakage to your application you need it fast and light.
After carrying out a lot of research I have come to the conclusion that Java and the Java Media Framework (JMF) is not suitable for developing a streaming server that supports the RTSP protocol on the server side for streaming video and audio. I have read very good things about Live555 media server and the testOnDemandRTSPServer source code for a basis of design. My only worry is that this is written in C++ and I am a predominantly Java programmer. This server is a large portion of my final year project at university so my degree kind of hangs on its successful implementation and I am running out of time. If any one has any experience with implementing a RTSP server that can stream to an android handset or belive they can point me in the right direction to learn how to do it, please let me know. Thanks in advance.
My project also has the RTSP server module to be run on Android phone. I think we can build rtsp library as name.so file and can interface with java by using JNI.
This also works for Android!
http://net7mma.codeplex.com/
You can see the article on CodeProject # http://www.codeproject.com/Articles/507218/Managed-Media-Aggregation-using-Rtsp-and-Rtp
The live555 RTSP server is a fully fledged RTSP server that implements most payloads (H.263, H.264, MPEG2, PCM, AMR, AAC, etc. You can read up on the website whether it already supports the media types you want to stream. It also features an RTSP client. With respect to streaming to an android handset: that is the whole point of RTSP: it doesn't matter what type of client you're streaming to, and as for the server side development, there isn't really much dev to do, unless you need to implement an unsupported media type. The code can be quite complex if you're not well versed in c++, but it sounds like your goal is more related to setting up streaming to android as opposed to implementing the RTSP server and client? So check if live555 supports your media types and if it does, I wouldn't bother writing one in JAVA, that can be quite involved. If you do choose to go that route, your best friend is of course the RFC (http://tools.ietf.org/html/rfc2326).
As for the client, I'm not sure if android already has an RTSP library/client. The one other thing you have to consider is which media types are supported by android.
For my question, time is more important than perfection. I need any advice you can quickly give me about embedding a video in a mobile website which is targeted for Android devices. Since I have only very little time for research (for the first research, only today, but of course the implementation will follow later), I need any advice you can give to me, no matter how vague or imperfect it may be.
Here is the scenario:
A video must be embedded in a mobile website, using HTML.
Only Android clients are relevant, because iPhones and non-Android devices will be directed to another URL.
Preferably, the video should be integrated into the rest of the web page. In case an external player needs to be opened, it would be preferable if that player has a "return to web page" button of some kind that will return the user to the web page.
The customer is aware that this will not work perfectly on all devices, but we want to find a solution that works well at least on the more modern devices.
If you have any experience regarding this field, please let me know of it. Here are some areas that might be helpful:
HTML code that you have found to be working
Encoding specifics regarding the video (e.g. which codecs to use or not to use)
Other StackOverflow questions regarding this topic which I have overseen in my haste (sorry about that, time is sparse for me right now)
Since I can only choose one of the replies to be the answer, my choice for that has to be very arbitrary.
So far, I have found these two other StackOverflow questions, which cover parts of this topic:
What video format will play on all Android devices?
Embed video and play on android
What about embedding flash? Not all android devices have it but the ones have it should be able to play properly encoded mp4 video
For video encoding check http://developer.android.com/guide/appendix/media-formats.html