I have RTSP feed coming from my IP Camera as my source input and need to publish it to HTTP Live Streaming (HLS) for playback on iOS devices. I have already tried RTSP-to-RTSP on iOS and it worked; this time I want to try RTSP-to-HLS. I already have Wowza and ffmpeg installed but I just don't know what commands I should run to produce HLS. I've googled for the right commands but I just couldn't find them. What should I run?
Safari supports HLS. Does it also mean that UIWebView supports HLS as well?
Related
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)
The problem is simple. In Wowza when I use a stream file in live mode (so the streaming are published only when requested through RTMP), I'm not able to publish the streaming and get the video streaming when I use the JWPlayer on IOS (so through Apple HLS) so i'm looking for a method for streaming the cams-live on iOS on demand!
I've just started in Wowza so I cannot write Java code to expand the functionality for the moment so be patient.
I've seen this post on stackoverflow, but i can't see the solution, Wowza: Need to stream rtp-live to iphone !
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
There is obviously a way to do this because so many applications are already doing it - NetCamViewer and iCamviewer to name just one.
I have searched and searched, but I'm not finding anything of value that gives a hint as to how this is done. I'm reaching out hoping that someone will give me a clue.
I'm trying to connect to an video security camera (Y-CAM), which supports the RTSP protocol, and display the video from my iPhone/iPad application. The camera has an IP address and I can view the video from a web browser and from Quicktime running on my Mac. The problem is that RSTP is not supported on iOS so even trying to connect using Safari on an iPad doesn't work.
I've read that some are trying to use Live5555, but I haven't seen an article that describes if it has been done successfully and how.
An alternative is to capture the RTSP stream on a server, convert it to an HTTP Live stream and then connect to the HTTP Live stream from iOS. Unfortunately, this hasn't proved as easy as it sounds.
I'd prefer to go directly to the camera like other applications I've seen do. the RTSP to Live is a fall back if I have to.
Any hints are greatly appreciated. Thanks!
This is wrong :) or not necessary (An alternative is to capture the RTSP stream on a server, convert it to an HTTP Live stream and then connect to the HTTP Live stream from iOS. Unfortunately, this hasn't proved as easy as it sounds.)
You should use ffmpeg library, as this library can connect any streaming server (supporting rtsp, mms, tcp, udp ,rtmp ...) and then draw pictures to the screen.. (for drawing you can use opengles or uiimage also works)
First of all, use avformat_open_input to connect to your ip address
then use avcodec_find_decoder & avcodec_open2 to find codecs and to open them (you should call them for both audio & video)
Then, in a while loop read packets from server by using av_read_frame method
When you get frame, if it is audio then sent it to AudioUnit or AudioQueue,
if it is video, then convert it from yuv to rgb format by using sws_scale method and draw the picture to the screen.
That's all.
look at this wrapper also (http://www.videostreamsdk.com), it's written on ffmpeg library and supports iOS
You really need to search stack overflow before posting , this question has been asked many times. Yes live 555 sort of works and some of us have gotten it to work..
There are other players too, including ours http://www.streammore.tv/
You can find an open source FFMepg Decoder for iOS (and somes samples) on GitHub : https://github.com/mooncatventures-group
Sample use of this library : http://sol3.typepad.com/exotic_particles/
There are two general technology to display RTSP video on iOS Safari:
RTSP / HLS (H.264+AAC)
RTSP / Websocket (H.264+AAC ==> MPEG+G.711 or H.264+?)
For HLS you can consider Wowza server.
For Websocket playback in iOS Safari you can use WCS4 server.
Main idea for websocket playback is direct HTML5 rendering to HTML page Canvas element and audio context. In the case of MPEG playback video decoding will be done on iOS Safari side using plain JavaScript.
Another option - install a WebRTC plugin with getUserMedia support and play this stream via WebRTC. Anyway you will need a server side RTSP-WebRTC transcoder in such case.
I'm trying to find out how i can use wowza media server(which i just installed) to receive a live audio stream from an iOS device(Xcode simulator) and play it on a web browser(safari) using http live streaming. i just need direction, guidance or a tutorial to start with this, or just the basic concept of how it works.
sorry for the newbie question, but i really really did try digging up the documentation, their is nothing about iOS http live streaming specifically, they concentrate more on Flash streaming(flv).
Thanks.
Use Wowza's MPEG-TS capabilities
There are a couple of Google hits and topics on the Wowza forums. This one looks fine for getting you started: Using an MPEG Transport Stream (MPEG-TS) encoder with Wowza Pro (MPEG-TS).
You can then just click a simple link in Safari on iOS devices and it should work fine. The like will look something like:
http://myserver.com/appName/myStream/playlist.m3u8
Wowza recently released an addon called "Gocoder". By using it you can encode your live streaming from wowza supported ios devices and broadcast it to any screen.
You can download the encoder from here
https://itunes.apple.com/us/app/wowza-gocoder/id640338185?ls=1&mt=8
Here is the step to configure the Gocoder addon with live application
http://www.wowza.com/forums/content.php?500