I'm running into an odd bug at the moment. We are using livepkgr to record live streams coming in, then we use f4fpackager to package the streams for ondemand use. The packaged f4f file plays back fine in the flash player, but when trying to watch the .m3u8 on iOS (or Mac), it says "The Operation Cannot be Completed" - I have a shorter file I tested which is ~ 50MB large, and it playsback fine. But the rest of the files, ranging from 1-5GB do not playback.
If there is any more information I need to provide, please let me know. Using FMS 4.5
H264 and AAC, I'm using f4fpackager to create manifest files for ondemand delivery (multi bitrate streams) (http://help.adobe.com/en_US/HTTPStreaming/1.0/Using/WS9463dbe8dbe45c4c -c126f3b1260533756d-7ffc.html)
I think I’m missing something. You’re publishing a live stream into the livepkgr application in FMS via RTMP. That live stream is being recorded for HDS delivery; i.e. f4m, f4f, f4x, .bootstrap. So you are pointing your HDS player to an f4m url that looks something like this,
Is that right? And that works, you’re able to play the live stream?
If you try from your iOS device, pointing to an m3u8,
Does that work?
Now, where does f4fpackager come into play in your workflow? What are you specifying as input to the f4fpackager?
Here's my workflow so you can get a clearer picture:
- FME encodes a multibitrate stream to FMS4.5 (custom application called "pp", which is essentially the livepkgr sample with a few additional lines for multipoint publishing)
- my server url in FME looks like this rtmp://server/pp/event
- "pp" records both bitrates in the pp application folder, under streams/event/livestream1 and livestream2
- livestream1 and livestream2 each contain a .f4f, f4x, bootstrap, .control, and a .meta file.
- I feed the files into f4fpackager to create a manifest so I can serve these as mutilbitrate streams
- f4fpackager then creates a NEW f4f file and .f4m file
- I move these files to webroot/vod and can access them using http://server/hds-vod/folder/file.f4m or hls-vod/folder/file.f4f.m3u8
The issue to me looks like with the m3u8 file, it tries to download the WHOLE file (8gb) or something along those lines, and it times out before then (instead of streaming)
This is what I gathered from reading docs and such, If there's a better way - I'll gladly listen
Thanks for your assistance.
That doesn't make much sense then. A smaller file, packaged in the exact same way playsback just fine. It's the larger files that do not playback. (I assume they time out due their large size, but there has to be a setting somewhere to fix that)
Well, I don’t think it is officially supported. But an f4f is just a fragmented mp4. So technically, it could work. But it’s not something that we test or is officially supported. We have tested with large f4v/mp4 files. But we don’t test HLS packaging of f4f content.
Maybe try also recording that input stream to an mp4, then try delivering that via HLS VOD? This resulting MP4 is recorded in a fragmented MP4 format, which is essentially what an f4f is. So the same reason it is not working for f4f could also be the case with this recorded mp4. If that doesn’t work, you could also try downloading the F4V Post Processing tool from the FMS Tools Download page,
This tool will flatten the mp4 and try delivering that via HLS VOD.
That’s all I have for you at this time.
Well, like I said, even if it works for small files, it’s not officially supported. Do you have any large MP4’s that can repro this problem?
How big is the f4f? If you can post it to an ftp site, I can download it and create a bug for you.
It’s up to you if you want to try the suggestions. But that’s all I have to offer you at this point in terms of possible workarounds. Someone else on the forum may have a better idea though.