Can't Playback - 503 Errors
nick.doyle Nov 27, 2011 5:05 PMThis is my first time trying HTTP Dynamic Streaming end-to-end and it's not working.
I packaged the content, but it looks like either the package is wrong (manifest or index) - or the Apache module is failing to give the required fragments.
I successfully packaged media with:
./f4fpackager --input-file=/var/www/html/video/tintin-orig/tintin-crop.mp4 --output-path=/var/www/html/video/hds/tintin --segment-duration=10
This gave me the following files in output directory:
4.0K tintin-crop.f4m
15M tintin-cropSeg1.f4f
4.0K tintin-cropSeg1.f4x
12M tintin-cropSeg2.f4f
4.0K tintin-cropSeg2.f4x
80K tintin-cropSeg3.f4f
4.0K tintin-cropSeg3.f4x
(as an aside - I was surprised to see one f4x per segment; was expecting just one ... that's gonne be a whole lot more files in our system ...)
I have installed Apache module and modified conf as follows:
LoadModule f4fhttp_module /usr/lib64/httpd/modules/mod_f4fhttp.so
...
<Location /hds>
HttpStreamingEnabled true
HttpStreamingContentPath /var/www/html/video/hds
</Location>
Restart server, and module seems to be fine (see later, I can get some fragments from it)
I then load the Strobe demo, telling it src = tintin-crop.f4m
Using Chrome dev tools I can see requests:
tintin-cropSeg1-Frag1 - HTTP 200 OK
tintin-cropSeg1-Frag2 - HTTP 200 OK
tintin-cropSeg1-Frag3 - HTTP 503 Service Unavailable
Trying to retrieve any other fragments except those first two (e.g. tintin-cropSeg2-Frag1) yields the 503
Looking at the files I got output from the packager, I would expect to have Frag1 (at least) available in Seg1-3
Trying to use f4fpackager to get information:
--sample-dump (with same input) shows 7 fragments for the expected duration (31 sec)
Using --inspect-index to try to get info:
(FYI the doc on --inspect-index is potentially misleading; it says "inspects the bootstrap box in an f4f file" when it's actually looking at the f4x?)
$ f4fpackager --input-file=./tintin-cropSeg1.f4x --inspect-index
afra:
long ids: true
long offsets: true
entries:
global entries:
time = 0, segment = 1, fragment = 1, afra-offset = 74896, offset-from-afra = 0
time = 5213, segment = 1, fragment = 2, afra-offset = 3462448, offset-from-afra = 0
$ f4fpackager --input-file=./tintin-cropSeg2.f4x --inspect-index
afra:
long ids: true
long offsets: true
entries:
global entries:
time = 0, segment = 1, fragment = 1, afra-offset = 74896, offset-from-afra = 0
time = 5213, segment = 1, fragment = 2, afra-offset = 3462448, offset-from-afra = 0
time = 8842, segment = 1, fragment = 3, afra-offset = 6224551, offset-from-afra = 0
time = 12000, segment = 1, fragment = 4, afra-offset = 18446744073709551615, offset-from-afra = 0
time = 18059, segment = 2, fragment = 5, afra-offset = 74896, offset-from-afra = 0
time = 22772, segment = 2, fragment = 6, afra-offset = 4718680, offset-from-afra = 0
time = 24691, segment = 2, fragment = 7, afra-offset = 5755430, offset-from-afra = 0
$ f4fpackager --input-file=./tintin-cropSeg3.f4x --inspect-index
afra:
long ids: true
long offsets: true
entries:
global entries:
time = 0, segment = 1, fragment = 1, afra-offset = 74896, offset-from-afra = 0
time = 5213, segment = 1, fragment = 2, afra-offset = 3462448, offset-from-afra = 0
time = 8842, segment = 1, fragment = 3, afra-offset = 6224551, offset-from-afra = 0
time = 12000, segment = 1, fragment = 4, afra-offset = 18446744073709551615, offset-from-afra = 0
time = 18059, segment = 2, fragment = 5, afra-offset = 74896, offset-from-afra = 0
time = 22772, segment = 2, fragment = 6, afra-offset = 4718680, offset-from-afra = 0
time = 24691, segment = 2, fragment = 7, afra-offset = 5755430, offset-from-afra = 0
Which doesn't really make sense to me; from --sample-dump I would expect 7 fragments, split across mutiple segments (and, reinforced by the file names, my understanding is there is one segment per file right?) - in this case 3 segments, so something like
seg1-frag1
seg1-frag2
seg1-frag3
seg2-frag1
seg2-frag2
seg2-frag3
seg3-frag1
?
I guess I don't understand the relationships between f4vs, segments and fragments .... hopefully someone more familiar with this can see where the problem is.
Anyway that's where I'm stuck.
Can't dig into the Apache module because source is not available
(speaking of which has anybody tried OpenHTTPStreamer? https://github.com/inventos/OpenHttpStreamer)
and now am reliant on Adobe support.
Hello Adobe support please can you help me.

