I am testing out the f4f apache module, two issues have come up but no fix. I have tested packaging up the demo files found with FMS. Every file ive tested obtains a 503 error when it tries to load
something like this
sample1_700kbpsSeg1-Frag1
No proper debug error in the apache logs at all which isn't helpful.
the config is setup right because i know its being activated
<Location /videos/vod>
HttpStreamingEnabled true
HttpStreamingContentPath "/var/www/httpstreaming.electrocode.net/web/videos/vod/f4f"
Options -Indexes FollowSymLinks
</Location>
Hi thanks for your response, appreciate it. No generally an apache module would log a stacktrace, this plugin doesn't log anything which doesnt help. Is there a development binary module with logging enabled I could try out ? I am running this on ubuntu 64bit linux.
My next steps is to try strace debugging apache.
Hi there FYI.
I used strace to figure out the issue. Your module does not log file not found errors correctly.
Here was the original config
<Location /videos/vod>
HttpStreamingEnabled true
HttpStreamingContentPath "/var/www/httpstreaming.electrocode.net/web/videos/vod/f4f"
Options -Indexes FollowSymLinks
</Location>
http://httpstreaming.electrocode.net/videos/vod/f4f/sample1_700kbpsSeg 1-Frag1
And I was requesting it like this therefore in the stacktrace I saw there was filesystem errors saying the file cannot be found. it was requesting it like
Hi,
I do not think the inspect-fragments dump is entirely correct. I have fragmented the same file (the demo file from FMS) with default fragmentation values and was able to playback. I am copying here the first few lines from the inspect fragments dump:
fragment: 1, 74912
afra:
long ids: true
long offsets: true
entries:
time = 0, offset = 16511
time = 3003, offset = 275611
global entries:
bootstrap:
version: 1
is update: false
is live: false
movie id:
timescale: 1000
current media time: 6006
smpte timecode offset: 0
servers:
qualities:
segments:
segment run table:
is update: false
qualities:
entries:
segment = 1, fragments = 1
fragments:
fragment run table:
is update: false
qualities:
entries:
fragment = 1, timestamp = 0, duration = 6000
fragment: 2, 600951
afra:
long ids: true
long offsets: true
entries:
time = 6006, offset = 8367
global entries:
bootstrap:
version: 2
is update: false
is live: false
movie id:
timescale: 1000
current media time: 9009
smpte timecode offset: 0
servers:
qualities:
segments:
segment run table:
is update: false
qualities:
entries:
segment = 1, fragments = 2
fragments:
fragment run table:
is update: false
qualities:
entries:
fragment = 1, timestamp = 0, duration = 6000
fragment = 2, timestamp = 6006, duration = 3000
fragment: 3, 833788
afra:
long ids: true
long offsets: true
entries:
time = 9009, offset = 8419
global entries:
bootstrap:
version: 2
is update: false
is live: false
movie id:
timescale: 1000
current media time: 12012
smpte timecode offset: 0
servers:
qualities:
segments:
segment run table:
is update: false
qualities:
entries:
segment = 1, fragments = 3
If you compare this part with that of what you have, you can observe that under fragment 2, you have the entry segment= 1 and fragments = 3 which is wrong. (my output has segment=1 and fragments =2 , which is correct).
So, can you confirm whats the command you used for packaging ? Or probably, try with the default packaging and see if you still get the mismatched entries in inspect fragments.
What build of FMS/File packager are you using ? Probably if thats old, you may want to switch to the most recent release.
Thank you !
I tried a various amount of things after researching constantly, tried f4fpackager --input-file= , and with framerate and fragement duration flags and still didn't help. The problem was a bad apache location configuration, see above. It should be returning 404 errors and logging the problem instead of returning 503 errors and not logging at all. Can this be fixed in another version ?
Im using the standalone f4fpackager btw and FMS 4 Developer version, and a standalone apache.
My test stream works now.
Good to know that you have the issue resolved !
I am little not sure about getting the wrong response code (503 instead of 404) because the f4f module does nothing but to redirect the status (error or otherwise) to apache which makes the response. Almost all the times when the configuration was wrong and when we had path related mismatches, 404 is what is recieved. Do post your observations as you try more and we can nail down the real issue ![]()
But, can you please send me the exact f4fpackager command that you used while packaging for which you got the inspect fragments that you attached? I would like to reproduce and get the same inspect fragments ouput (with errors) and see what's causing that.
Thank you !
North America
Europe, Middle East and Africa
Asia Pacific