a. startup time is very slow (this is a 5mb file, takes 11 seconds to start the stream.
VOD playback is started by keyframe, and HLS segments cut too. So you should provide a regular and relatively short keyframe interval in recording by three ways:
1. Add the following settings to
flashphoner.properties
file to provide regular keyframe sending every 2 seconds from browser while publishing a stream that is recorded:
Code:
periodic_fir_request=true
periodic_fir_request_interval=2000
2. Re-encode mp4 file to add keyframes every 2 seconds
3. Enable transcoding for HLS playback
Code:
hls_player_width=640
hls_player_height=360
and, additionally, enable FPS filter for smoother playback
Code:
video_filter_enable_fps=true
video_filter_fps=25
In this case, additional CPU resources will be required (1 CPU core per 4 streams 360p) and some tuning may be necessary. So we recommend to try first to ways before.
b. the quality is very bad (any movement in the scene is jumpy) - played the mp4 file on vlc player and it's smooth.
c. sending that stream to shaka-player - I can only hear the sound, but no video (error 4022 on the console)
The qulity issues also depend on source file keyframes and FPS, so they should be fixed as described above.
Also, this may be player channel bandwidth issues. Please check the channel between server and player using
iperf, TCP channel should be tested because HLS always uses TCP.