Foliovision › Forums › FV Player › How to … › Flash support for HLS and MPEG-DASH
-
Hi,
I looked for a lot on google and in your forum, but it seems no answers are available for my question … or maybe I missed something.
I have a EC2 instance with WOWZA that works like a charme with “live edge or origin” application. If I connect with FP configured with playlist.m3u8 and rtmp protocol, I can see my live stream on all devices (desktop and mobile).
But … I would like to use CloudFront too.
CF only caches HTTP streaming and not RTMP stream for LIVE streaming, so I’m not able to configure FP to support “HLS to Flash conversion” to cover windows browser.
I hope I was clear exposing my question.
Thank you for your help.
-
-
Hi Alec,
sorry … I missed a “V” :)
About Cloudfront I know there are no ways, but considering a standard use of your excellent plugin, how I have to configure it in order to serve a flash browser just having a HLS stream?
In my WOWZA config I can play a LIVE stream in DASH, HDS, Microsoft Smooth Streaming and HLS and not RTMP because my application is “Live HTTP Origin” and RTMP output is not available.
Could you show me an example?
Many thanksAlessandro
Hello Alessandro,
sorry about the delay, it seems Wowza on AWS does support RTMP encoding in Wowza Streamin Engine: http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/wowza-setting-up-encoder.html
Thanks,
MartinHi Martin,
I didn’t see your reply.
That’s example is not my behavior.
I’m already able to send my stream by GoCoder to my EC2 Wowza and it works well.
My problem is the output, because EC2 + CloudFront caches http protocol only, so I would like to use something else rtmp protocol.
So, I thought that using HDS or MPEG-DASH was a winner choice, but it seems FVP doesn’t support that.
Meanwhile I worked for a solution, I stressed my Wowza and I saw that EC2 without CloudFront could be the best choice to serve flash browser using rtmp protocol, but …. I would like to use smil file or (better) wowza name groups (ngrp) to achieve adaptive bitrate, but I don’t understand how I can use them with FVP.
Basically mil and ngrp are xml file passed to player to find streamer server and define the bitrate choice and they use http protocol, but it seems I can’t pass http:// string to FVP.
I hope I clarified my question.
Many thanks
AlessandroHi Martin,
at the moment I have an active MPEG-DASH stream at this address (I’ll keep on for a while)
‘http://joinpeople.dyndns.org:1935/JoinPeople/ngrp:myStream-720_all/manifest.mpd’
If you open the link directly in your browser, you can see the xml.
Just for example, if you use that link within the Bitdash player, it works.
Here a working page:
http://www.joinpeople.org/dash/samples/index1.html
I can see the video on Chrome, Firefox and IE11 and I can switch the video resolution as youtube.
This behavior could be a very good fallback choice for HLS instead of rtmp, because it’s cacheable http protocol good for CloudFront
Thanks,
Alessandro
note: if you can find nothing at the above address is because I turned off my stream. Let me know.this is the .mpd xml file
<?xml version="1.0" encoding="UTF-8"?>
<MPD xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="urn:mpeg:dash:schema:mpd:2011"
xmlns:xlink="http://www.w3.org/1999/xlink"
xsi:schemaLocation="urn:mpeg:DASH:schema:MPD:2011 http://standards.iso.org/ittf/PubliclyAvailableStandards/MPEG-DASH_schema_files/DASH-MPD.xsd"
profiles="urn:mpeg:dash:profile:isoff-live:2011"
type="dynamic"
minimumUpdatePeriod="PT4.538S"
availabilityStartTime="2015-05-08T12:36:20Z"
timeShiftBufferDepth="PT50.0S"
suggestedPresentationDelay="PT15.0S"
minBufferTime="PT6.0S">
<ProgramInformation>
<Title>myStream-720_all</Title>
</ProgramInformation>
<Location>http://joinpeople.dyndns.org:1935/JoinPeople/_definst_/ngrp:myStream-720_all/manifest_w967380193.mpd</Location>
<Period id="0" start="PT0.0S">
<AdaptationSet id="0" mimeType="video/mp4" maxWidth="1280" maxHeight="720" par="16:9" frameRate="30" segmentAlignment="true" startWithSAP="1" subsegmentAlignment="true" subsegmentStartsWithSAP="1">
<SegmentTemplate timescale="90000" media="chunk_ctvideo_cfm4s_rid$RepresentationID$_cs$Time$_w967380193_mpd.m4s" initialization="chunk_ctvideo_cfm4s_rid$RepresentationID$_cinit_w967380193_mpd.m4s">
<SegmentTimeline>
<S t="136811880" d="900000"/>
<S d="900000"/>
<S d="900000"/>
<S d="900000"/>
<S d="900000"/>
</SegmentTimeline>
</SegmentTemplate>
<Representation id="p0a0r0" codecs="avc1.42801e" width="426" height="240" sar="1:1" bandwidth="350000" />
<Representation id="p0a0r1" codecs="avc1.4d401f" width="640" height="360" sar="1:1" bandwidth="800000" />
<Representation id="p0a0r2" codecs="avc1.4d4029" width="1280" height="720" sar="1:1" bandwidth="1800000" />
</AdaptationSet>
<AdaptationSet id="1" mimeType="audio/mp4" lang="eng" segmentAlignment="true" startWithSAP="1" subsegmentAlignment="true" subsegmentStartsWithSAP="1">
<Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"/>
<SegmentTemplate timescale="44100" media="chunk_ctaudio_cfm4s_rid$RepresentationID$_cs$Time$_w967380193_mpd.m4s" initialization="chunk_ctaudio_cfm4s_rid$RepresentationID$_cinit_w967380193_mpd.m4s">
<SegmentTimeline>
<S t="67037821" d="441000"/>
<S d="441000"/>
<S d="441000"/>
<S d="441000"/>
<S d="441000"/>
</SegmentTimeline>
</SegmentTemplate>
<Representation id="p0a1r0" codecs="mp4a.40.2" audioSamplingRate="44100" bandwidth="196000">
<AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"/>
</Representation>
</AdaptationSet>
</Period>
</MPD>
Hello Alessandro,
here is our first experimental demo: http://foliovision.com/player/demos/mpeg-dash
If you see a cartoon video, the MPEG DASH works for your. If you see our homepage video, then it’s not supported by your browser.
Thanks,
MartinHello Alessandro,
you can get the dev version here: https://github.com/foliovision/fv-wordpress-flowplayer/archive/dev.zip
The demo stream I posted doesn’t work for me in Chromium (open-source version of Chrome), as it doesn’t support H264 MP4 in HTML5: “videoCodec (video/mp4;codecs=”avc1.4D401E”) is not supported.”
I’m not sure about live streams.
Thanks,
Martin