Hi,
I'm trying to use the FMS service on Amazon EC2, but it seems to be nearly impossible to request a stream for an iOS device.
Consider the following two files:
http://foo.cloudfront.net/hds-live/livepkgr/_definst_/liveevent/bar.f4 m
http://foo.cloudfront.net/hls-live/livepkgr/_definst_/liveevent/bar.m3 u8
I can always download the f4m, but I would say about 90% of the time when I try to get the m3u8 I just get "ERROR 404: Not Found." on the client side, and at the same time on the Apache log I get the following message:
[Quote]
[Thu Jun 07 03:57:24 2012] [warn] bootstrap path is in event file is empty for event:livepkgr/events/_definst_/liveevent stream name:bar
[Thu Jun 07 03:57:24 2012] [error] [client x.y.z.w] File does not exist: /mnt/webroot/hls-live
[End Quote]
Is this normal? How can I get this to work reliably or at all?
Adobe engineers, any help here please?
(If you need more information just ask.)
Thank you.
Hi, you sure may.
I'm using:
/usr/bin/ffmpeg -re -i "rtmp://localhost/${input}/_definst_/${flashStream} live=1" -acodec libfaac -ar 44100 -ab 48k -vcodec libx264 -vpre ipod -f flv rtmp://localhost/${output}/${iosStream}?adbe-live-event=liveevent
The input stream is comming from an actionscript flash app. The encoding is H.264 baseline or main, profile 3.0 or 3.1, 12fps, speex sound any freq, usually I use 44KHz.
I can play the output stream using the f4m on OSMF, and I can also play the output rtmp using ffplay. Sometimes (when I can download the m3u8
) I can also play the hls stream both on the idevices and using ffplay.
Thank you very much for your help.
I also thought of that.
So I made the following test, published a stream, asked the HDS and HLS files, and retired over and over again for a few minutes.
But what I kind of realized is that if I can't get the file on the first try (at the same time with the HDS) I wont be able to get it ever.
Well, actually on one of the tests, after canceling the stream, I was able to download the m3u8.
So I checked the server' stream file size (inside livepkgr/streams...) for one of the successful tests, which was about 5MB.
By successful test I mean the tests when I was able to download the m3u8 without problems.
And, for the tests that failed, I waited for the server stream file to get to the same size (5MB) before attempting to download the m3u8.
Unfortunately it still failed even after file grew passed that size.
The funny thing is that the HDS/f4m stream is always available. Is there a reason why the m3u8 could fail when I can watch the stream via the f4m normally?
They do come from the same file under livepkgr/streams right?
Since the fms hls-live plugin doesn't seem to be working, I decided to try the hls-vod with not much better results.
I'm getting this unbelievable error when asking a vod wither using http://www.osmf.org/configurator/fmp/# or an iOS device.
I have for example an url like
http://xyz.cloudfront.net/hds-vod/ios_livestream20.mp4.f4m
or like
http://xyz.cloudfront.net/hls-vod/ios_livestream20.mp4.m3u8
osmf says "We are having problems with the playback..." and the iOS devices just say "404 file not found".
So I tried to copy the file from the server using scp which works just fine, and the file also plays without a problem.
Checking the Apache log I found the error:
[Wed Jun 20 04:36:26 2012] [error] [client x.y.z.w] File does not exist: /mnt/webroot/hls-vod
in the case of the iOS devices, and in the case of the osmf I found:
[Wed Jun 20 04:39:51 2012] [error] mod_jithttp [404]: [err=1] /mnt/webroot/vod/ios_livestream20.mp4 does not exist
Now, "/mnt/webroot/hls-vod" does not exist. But that should not be a problem the files are actually placed into /mnt/webroot/vod.
I suppose that this is somehow related to the /hls-vod mapping in the apache httpd.conf
<Location /hds-vod>
HttpStreamingJITPEnabled true
HttpStreamingContentPath "/mnt/webroot/vod"
HttpStreamingJITConfAllowed true
JitFmsDirPath ".."
Options -Indexes FollowSymLinks
</Location>
But that also does not help undestand the error, in my opinion...
But even more ridiculous is the error "/mnt/webroot/vod/ios_livestream20.mp4 does not exist", as an ls shows it does:
-rwxr-xr-x 1 fmsuser fmsgroup 2.2M Jun 20 04:31 /mnt/webroot/vod/ios_livestream20.mp4
And if it didn't how could scp copy it?
Any ideas why this is happening?
Being this a service provided by amazon, are they the ones resonsible for the support, or am I asking at the right place?
Hi,
You can first try after deleting the old stack and creating a new one.
About the vod play, I would suggest you try playing back the sample f4v files in the vod folders.
Also, it might be some caching issue with CloudFront. Try to playback these files by directly hitting the FMS servers rather than through CloudFront edges.
Thanks!
Hi,
thanks for your reply.
The image was already remade once. The configuration is whatever amazon uses by default on their images.
I just added one app under "/mnt/applications" and a cgi under "/opt/adobe/fms/Apache2.2/cgi-bin/".
As for it being a cache problem, I tried a few atempts to get the files from the virtual host using for ex:
wget http://localhost/hls-live/livepkgr/_definst_/liveevent/ios_livestream2 8.m3u8
and I got on the apache log:
[Wed Jun 20 06:46:44 2012] [error] [client 127.0.0.1] File does not exist: /mnt/webroot/hls-live
Actually, the hls-vod seems to work most of the time, unlike hls-live which fails most of the time.
What I'm doing right now is to transmit a RTMP stream to livepkgr, and when the stream finishes I copy the file to /mnt/webroot/vod.
This seems to work ok for iOS devices, but what I want is live streaming support.
On the other hand, while the stream is being recorded, it seems almost impossible to get it from the server. (even if I try from the server)
Do you think it the reasoning you gave also makes sense even when getting the file from the localhost fails?
Thanks
Hello,
well I'm happy to say that it's working now. Why? Don't know. ![]()
Given the closed source nature of the plugins and their lack of understandable output, it's was really hard to debug what was going on.
So I can't pinpoint what corrected the situation, but now it works so I won't even try to understand it why (at least not right now).
Better just create an image as-is and think about it if it happens again.
Nevertheless thanks for trying to help.
Paulo
North America
Europe, Middle East and Africa
Asia Pacific