I'm a newcomer. I know YouTube live streaming supports RTMP, but I cannot find HLS encoder settings. Does it support HLS? I want to broadcast an HLS streaming via YouTube.
Short answer: Yes
Long answer:
The official page says:
Mobile streaming: Live events will be automatically available on
iPhone, iPad, iPod Touch & Android 4.0+ mobile devices via
m.youtube.com.
This sounds a lot like a HLS fallback.
Using an iPad user-agent and sniffing network traffic I found the following request to a Google server:
HTTP GET
/api/manifest/hls_variant/sparams/gcr,id,ip,ipbits,itag,playlist_type,pmbypass,source,expire/source/yt_live_broadcast/[redacted]/index.m3u8?[redacted]
and response:
HTTP/1.1 200 OK
Content-Type: application/vnd.apple.mpegurl
#EXTM3U
#EXT-X-STREAM-INF:BANDWIDTH=380059,CODECS="avc1.4d0015,mp4a.40.5",RESOLUTION=426x240,CLOSED-CAPTIONS=NONE
http://manifest.googlevideo.com/api/manifest/hls_playlist/id/ANM-dq5USTc.1/itag/92/source/yt_live_broadcast/ratebypass/yes/live/1/cmbypass/yes/gir/yes/dg_shard[..]
So yeah, I guess YouTube live supports HLS.
A liveStream object contains a cdn object with the ingestionType property. This String property is used to declare the method or protocol used to transmit the video stream.
The only supported transmission format at this time is rtmp. HLS is not supported at this time but is on YouTube's roadmap for supported upstream formats.
As of April 2016, YouTube has added DASH as a supported ingestion video format.
Related
In my app, I want to display some mp4 tutorial videos for the user using AVPlayerViewController. I upgraded to a Pro account on Vimeo, enabling me to use the direct links to my videos.
It gives you a couple of options for which kind of link to use: high def, standard def, and HTTP Live Streaming. I'm a little bit confused on which to use. My videos aren't live streamed, but I see that HTTP Live Streaming can dynamically adjust the size of the file according to the users internet connection.
I don't know much about video, does HTTP Live Streaming make sense to me here if I'm not streaming anything live or should I just have the user download the entire video?
It's a bit of a misnomer - HTTP Live Streaming (HLS) is just the name of the protocol and is not necessarily used for streaming of live content.
HLS is simply a method used for serving the best quality video file (pre-recorded/pre-saved) for the given viewing environment.
Apple's HLS documentation is found here: https://developer.apple.com/streaming/
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
I have developed on IPhone application and submitted to App store. But my application got rejected based on below criteria.
Thank you for submitting your yyyyyyyy
application. We have reviewed your
application and have determined that
it cannot be posted to the App Store
at this time because it is not using
the HTTP Live Streaming protocol to
broadcast streaming video. HTTP Live
Streaming is required when streaming
video feeds over the cellular network,
in order to have an optimal user
experience and utilize cellular best
practices. This protocol automatically
determines bandwidth available to
users and adjusts the bandwidth
appropriately, even as bandwidth
streams change. This allows you the
flexibility to have as many streams as
you like, as long as 64 kbps is set as
the baseline feed.
In my apps I have to stream prerecorded m4v and mp3 files from my server. I used MPMoviePlayerController to stream and play those videos / audio.
How to implement the HTTP Live Streaming Protocol in my apps? Also can I get some sample code?
Thanks in advance!
There are many documents about Apple's HTTP Live Streaming:
HTTP Live Streaming Overview
IETF HTTP Live Streaming Internet-Draft
There are many encoder devices claim to support this protocol e.g.,
Inlet's Spinnaker, acquired by Cisco and renamed to Cisco Media Processor Family.
For a software solution, please give a visit to Wowza
Please check the below notes specified in Apple documentation.
****Important: iPhone and iPad apps that send large amounts of audio or video data over cellular networks are required to use HTTP Live Streaming.****