How to stream video to iOS via RTMP? - ios

I'm new to dealing with web services, as the majority of contract work I normally do is using local files, but my current contract requires streaming a remote video file. When I attempt to get the streaming URL through the REST API I am returned the following JSON payload:
{
"Video": {
"CdnUrl": {CDNURL},
"ImageFileName": {IMAGEFILENAME},
"OtherFileFormat": {FLVVIDEOFILENAME},
"VideoDescription": {DESCRIPTION},
"VideoFileName": {MP4FILENAME},
"VideoId": {INTEGER},
"VideoTitle": {TITLE}
}
}
I took out all of the values because they shouldn't be relevant. The problem is that I don't know how to access the video files with an RTMP URL. Is this possible on iOS, and if so, how?

The iOS SDK does not support the RTSP protocol.
This is custom RTMP Library for iPhone

It may help you
Brightcove Player iOS SDK

Related

live video streaming formats supported in iOS programming

I am working live video streaming in iPad app. I have done it previously using MPMediaPlayer with HTTP servers.
From link here I understand that "iOS devices support HTTP progressive download for .mp4 files, the server could be simply Apache or Nginx. The user experience is quite similar to HTTP live streaming , RTSP is also possible. You can migrate live555 to iOS platform as the RTSP client, as use DarwinStreamingServer as the RTSP server.
But my client has provided video streaming URLs in UDP (eg. udp://225.X.X.X:XXXXX ) format and also suggested to refer links link1 and link2 as support to his statement that this will work in iOS for live video streaming.
But I am unable to relate provided links by him with requirement.
My doubts are -
what all formats does iOS supports for live video streaming ?
Does this udp link is of use for me in iOS for video streaming ?
On wifi, iOS supportS everything, because you have access to raw sockets, and the h.264 decode via VideoToolbox. So any protocol can be developed even If there is no out of box support. If you want the video to work over a cellular network, it MUST use HLS. no other options. (Unless you are Facebook, then apple will grant exceptions to this policy)

How to play a RTMP stream on IPhone at websites

I'm developing a website who needs an external RTMP stream.
I'm using jwplayer to run the stream using Flash (examples and information about here).
My problem is the stream do not works at iOS.
Somebody suggests a solution?
IOS does not support rtmp protocol for that you has to use http protocols, i.e. ,http live streaming

Live streaming Azure framework,is url issue?

Working on ios app.
For live streaming.
Using Azure framework.
I am receiving the bytes at run time.
But could not play them in Azure Media Player.
In Demo app we are able to play the static url from the server.
http://nimbuspartnerorigin.cloudapp.net/8260c015-abfb-4c8d-8c3a-689b1448e279/Contoso_93d705de-fe6b-4430-b0ab-4c291665b610-m3u8-aapl.ism/Manifest(format=m3u8-aapl)
But when we are streaming live we have to create the url like from server.
http://nimbuspartnerorigin.cloudapp.net/8260c015-abfb-4c8d-8c3a-689b1448e279/Contoso_93d705de-fe6b-4430-b0ab-4c291665b610-m3u8-aapl.isml/Manifest
Should I convert the Manifest file to .m3u8 format ?
Any body knows how to convert that manifest file to m3u8 file format ?
Please.
http://nimbuspartnerorigin.cloudapp.net/8260c015-abfb-4c8d-8c3a-689b1448e279/Contoso_93d705de-fe6b-4430-b0ab-4c291665b610-m3u8-aapl.isml/Manifest is a Smooth Streaming Manifest that can't be played back using Azure framework. You will need to create HLS live stream.
**For live streaming using Azure framework I was getting 'SmoothStreaming' url.
Which I could not play on iOS device directly.As told by Mingfei Yan in above answer**
So, We searched another way then Azure
We followed this link to set up the IIS server.
http://www.hanselman.com/blog/CommentView.aspx?guid=86968cd5-feeb-47f2-b02e-1eb4fa556379#commentstart
And we got the Apple HLS stream to play in Safari or
WebView(iOS).
Still I am waiting to use Azure Frameork If I configure it properly.

How to convert URL file 'Smooth streaming' to Apple HLs format?

In
iOS App
for Live streaming
I am getting the response from server
like this, (You can check)
http://4a75a0cce3694e29bc670b3d574fec92.cloudapp.net/push.isml/manifest
Which is Smooth Streaming file.
How to play this file in my ios app.
Is there any run time converter to convert this file to Apple HLS ?
Any player*(Smooth Streaming)* like
OSMF plugin for iOS
HTML5 player
Silverlight plugin for iOS
Actually :
Actually we have not tried much with Azure Framework. We setted up
the IIS server and got the live streaming.
Played stream by HTML5 video tag in web view.
By following this link
http://www.hanselman.com/blog/CommentView.aspx?guid=86968cd5-feeb-47f2-b02e-1eb4fa556379#commentstart
We can able to play live streaming in our iOS devices.
Still I am happy if I can configure the windows AZure framework to do the same.
You can use the Windows Azure Media Services for converting SmoothStreaming media content into Apple HLS content. Either you use the Management Portal to upload your media assets and then encode it with the preset "Playback on iOS devices and PC/MAC" or you use the REST Api for the Windows Azure Media Services at runtime.
With the REST API you can utilize the Windows Media Packager to encode Smooth Streaming content for HLS. Find a sample configuration for that task here.

Capture video on iOS device and live stream it to a server (or another mobile)

I want to be able to record footage using my iOS device and stream it directly to a server.
There's quite a few articles on S.O. that talk about this, but I'm not sure any have answered the question very well.
Should I be using HTTP Live Streaming, or is this just for sending data to an iPhone?
Should I be using AVCaptureSession to grab the video (a segment at a time?), sending each segment to the server?
Should I be using AVCaptureVideoDataOutput and ffmpeg for streaming?
I'm a little lost with all this, so any sample code or docs or links would be really appreciated.
Thanks for your help guys.
Duncan
You have to choose a network protocol for that purpose and find an appropriate media server to receive and process the stream. If the RTMP format is ok for your project, check angl library which supports RTMP streaming from iOS. Currently it's compatible with iOS 6 and 7.

Resources