Name is required.
Email address is required.
Invalid email address
Answer is required.
Exceeding max length of 5KB

JW Player does not want to play HLS stream that FFPlay and QuickTime play


Hi guys,
I segmented sintel movie trailer into segments using apple's mediafilesegmenter and verified it using mediastreamvalidator. Each segment has IDR frame inside. FFPLAY and QuickTime play it:
http://212.126.24.169/jwplayer_support/sintel_vonly/prog_index.m3u8
but JWPlayer plays it only to 27 second:
http://212.126.24.169/jwplayer_support/test_sintel_vonly.html

Afterwards I divided sintel into segments that start with IDR frame (in mediafilesegmenter I used -start-segments-with-iframe). Again verification was successful. It plays in ffplay and quick time:
http://212.126.24.169/jwplayer_support/sintel_vonly_iframes/prog_index.m3u8
and with JW Player is the same result:
http://212.126.24.169/jwplayer_support/test_sintel_vonly_iframes.html

Any ideas or suggestions why it is happening?
Thanks in advance.

10 Community Answers

slawek.olszewski

User  
0 rated :

My JW Player version is 6.8.4616.

Ethan Feldman

JW Player Support Agent  
0 rated :

It plays past 27 for me, but I do get this Flash debug error:

TypeError: Error #1009: Cannot access a property or method of a null object reference.
at com.longtailvideo.adaptive.streaming::FragmentLoader/_onTimer()
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at flash.utils::Timer/tick()

slawek.olszewski

User  
0 rated :

Thank you Ethan for your reply.

Could you tell 2 things more?

How did you debug it?
I tried to do it but I failed. I installed Flash Player Debug Plugin for Netspace Compatible Browsers and launched one of above .html in firefox. I didn't see similar looking logs neither in file that flash dubug writes nor in flash firebug browser plugin.

And secondly, may you tell me something more about error log you pasted? I see that _onTime() function derives from library of your company and as I know source code is not public so I can't debug it by myself.

Thank you,
Regards

Ethan Feldman

JW Player Support Agent  
0 rated :

Np

I would make sure that each of your segments are the same length.

slawek.olszewski

User  
0 rated :

The different length probably is not a problem. I created playlist containing segments with the same length:
http://212.126.24.169/test_sintel_apple_iframes_12s.html
Lenght of each segment is 12 s and player again stops playing in middle of time.

How about this logs? How to obtain them?

Best regards

Ethan Feldman

JW Player Support Agent  
0 rated :

Hm, I still get the same debug error here. How were these encoded?

slawek.olszewski

User  
0 rated :

Stream from the my previous post was coded directly from .pgn images available on sintel's server:
http://media.xiph.org/sintel/sintel_trailer-1080-png/
I used following two ffmpeg commands to create h264 and ts file and mediafilesegmenter to obtain ts chunks and m3u8 playlist:
1) ffmpeg -r 24 -i 1080/sintel_trailer_2k_%04d.png -g 90 -keyint_min 90 -r 29.97 -s 1920x1080 -vprofile high -pix_fmt yuv420p -vlevel 4.0 -sc_threshold 0 -b:v 8500k -minrate 8500k -maxrate 8500k output.h264
2) ffmeg -i output.h264 -vcodec copy sintel_apple.ts
3) mediafilesegmenter -t 12 start-segments-with-iframe -f sintel_apple_iframes_12s sintel_apple.ts

Below you can see detailed explanation of how h264 file was created:
-r 24 input framerate of png images
1080/sintel_trailer_2k_%04d.png -> folder with snapshots
-g 90 maximum gop size (Apple recommends 3 x framerate)
-keyint_min 90 minimum interval beetween IDR frames
-r 29.97 output framerate (Apple recommends 29.97 framerate for 1080p resolution)
-s 1920x1080 output size
-vprofile high turn on the high profile
-vlevel 4.0 level of H264
-pix_fmt yuv420p destination pixel format
-b:v 8500k setting bitrate
-minrate 8500k
-maxrate 8500k
-sc_threshold 0 turn off inserting I frame when scene is cut

Do you think it is correct?

Regards

Ethan Feldman

JW Player Support Agent  
0 rated :

Hm, looks alright. Let me confirm here first.

slawek.olszewski

User  
0 rated :

I have solution.
I replaced 1) and 2) from my previous post with:
ffmpeg -r 24 -i sintel_1080p/sintel_trailer_2k_%04d.png -i sintel_audio.aac -c:v libx264 -g 90 -keyint_min 90 -r 29.97 -s 1920x1080 -vprofile high -pix_fmt yuv420p -vlevel 4.0 -sc_threshold 0 -b:v 8500k -bufsize 8500k -minrate 8500k -maxrate 8500k -acodec copy -shortest sintel_apple_av.ts

Now I have the video + audio. Is is available here:
http://212.126.24.169/test_sintel_apple_av_ffmpeg_12s.html
It works for me in JW Player. In my opinion the problem was with the player - it plays HLS video only with audio.

regards

Ethan Feldman

JW Player Support Agent  
0 rated :

Ok, thanks for passing this along. I will let the team know. Glad you figured out a solution.

This question has received the maximum number of answers.