Copy link to clipboard
Copied
Dear All,
I have made an application using cs5.5 and java with struts2 for live streaming through FMS.
Architecture is like:
Flash player makes get stream from camera and then transfer stream over FMS. And this flash player component is embedded in html page.
Flash player contains code for all work flow like making connectivity with FMS interacting user via javascript and capturing live stream from camera. This application works well on IE, mozilla.
But when it comes to woking on ios it fails as ios, as IOS does not support flash player. I have gone through many solution provided on different forums, I get there to use Adobe air with making connection using http live streaming protocol and then pakaging the solution for ios. But as per my point of view this would work as an apps for ios rather than browser based application as in my previous case. can anyone suggest me alternate solution to launch live video streaming solution to work on ios on its browser. If I am wrong in perception of working phenomenon of FMS with ios via flash player or adobe air then also please suggest.
Thanks
Nitesh Kumar
Copy link to clipboard
Copied
Have you tried using a third party player for testing purposes? I've used JW Player to successfully build live streaming pages for iOS and Flash streaming (still working out some issues with the Flash side of things, though). This may not be exactly what you need, but at least you can eliminate a lot of issues throught the process of elimination (e.g., making sure that your FMS server is functioning properly if you can get everything to work with JW).
Try it with JW Player (use RSS playlist containing the live streams in .m3u8 playlist for iOS and a .smil file for Flash, see JW documentation):http://www.longtailvideo.com/jw-player/
And follow these instructions: http://help.adobe.com/en_US/flashmediaserver/devguide/WSd391de4d9c7bd609-52e437a812a3725dfa0-8000.ht...
I have a test site that you can look at if you need an example. Let me know and I'll send you the link.
Copy link to clipboard
Copied
Hi Carlos,
Thanks for the response. but in your case live stream publishing is done by the adobe live media encoder and then it get viewed on jwplayer. But in my case I am publishing stream through Flash player and then making netconnection over there with FMS. So how can we make connectionn with FMS and publish stream through jwplayer.
Thanks
Copy link to clipboard
Copied
I realize that using JW player might not be the exact solution that you are looking for (sounds like you're trying to do something customized for a particular need), but using JW player can help you test your FMS set-up to make sure everything is working. We've used JW player to stream multi-bit rate live events to both Flash and iOS devices at the same time.
> So how can we make connectionn with FMS and publish stream through jwplayer.
Step 1: Set up Flash Live Media Encoder and create the live streaming manifest files for JW player. These instructions are taken from this page:
FMS live Streaming instructions:
Publish and play live multi-bitrate streams over HTTP
Live multi-bitrate streams:
a. Remove the Manifest.xml file from the liveevent folder or rename it.
b. Browse to rootinstall/applications/livepkgr/events/_definst_/liveevent and edit the Event.xml file to look like the following:
<Event>
<EventID>liveevent</EventID>
<Recording>
<FragmentDuration>4000</FragmentDuration> <SegmentDuration>16000</SegmentDuration> <DiskManagementDuration>3</DiskManagementDuration>
</Recording>
</Event>
3. Create the f4m and m3u8 manifest files: NOTE: JW player needs a .smil file, not an f4m manifest.
a. On the FMS 4.5 computer, open rootinstall/tools/f4mconfig/configurator/f4mconfig.html in a browser.
b. F4M manifest file:
c. m3u8 manifest file: Open rootinstall/tools/f4mconfig/configurator/f4mconfig.html in a browser.
#EXTM3U #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=150000
http:// localhost/hls-live/livepkgr/_definst_/liveevent/livestream1.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=500000
http:// localhost/hls-live/livepkgr/_definst_/liveevent/livestream2.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=700000
http://localhost/hls-live/livepkgr/_definst_/liveevent/livestream3.m3u8
4. Publish live streams to FMS:
c. FMS URL field: rtmp://localhost/livepkgr
d. Stream field: livestream%i?adbe-live-event=liveevent OR livestream%i?adbe-live-event=liveevent&adbe-record-mode=record Change liveevent to whatever name you want (i.e. Test)
5. Test live streams:
a. Flash:
b. iOS: Open Safari.
Once you create the live streams and the smil and .m3u8 manifest files following the steps described above, set up a test page using JW player (see their documentation and download the files referred to below from their page).
This is the basic set-up that we use to stream live multibitrate live events (using a smil and m3u8 manifest file created above):
1. Use JW with javascript file: put <script type='text/javascript' src='jwplayer/jwplayer.js'></script>in the <head> section of the page. I've renamed the javascript file jwplayer.js (look in the JW folder to find the appropriate js file).
2. Embed the player into the page: put the following code in the <body> of the page:
<div id="jwplayer"></div>
<script type="text/javascript">
jwplayer('jwplayer').setup({
'autostart': false,
sources: [
{ 'file': "Manifests/liveevent.smil"},
{ 'file': "Manifests/liveevent.m3u8"}
],
rtmp: {
'bufferlength': 5
},
'width': "640",
'height': "480",
'image': "Splash/live-poster.png",
'primary': "flash",
'stretching': 'exactfit'
});
</script>
Sample .m3u8 manifest file: (replace localhost with your ip, Test with whatever you named the stream in FMLE).
#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=200000
http://localhost/hls-live/livepkgr/_definst_/Test/livestream1.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=400000
http://localhost/hls-live/livepkgr/_definst_/Test/livestream1.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=800000
http://localhost/hls-live/livepkgr/_definst_/Test/livestream1.m3u8
Sample .smil file:
<smil>
<head>
<meta base="rtmp://localhost/hds-live/livepkgr/_definst_/Test/"/>
</head>
<body>
<switch>
<video src="livestream1.f4m" system-bitrate="200000" />
<video src="livestream2.f4m" system-bitrate="400000" />
<video src="livestream3.f4m" system-bitrate="800000" />
</switch>
</body>
</smil>
You have to follow Adobe's FMLE instructions (linked above) and the JW documentation to get this to work.
Good luck.