Search code examples
videostreaminghtml5-videojwplayerbuffering

jwplayer skips video while buffering


Jwplayer skips video streaming while it is buffering. I noticed this problem since a week before only. But there is no change in code. Player version is 5.5.1641. The problem seems to be with large video files only (more than 150mb for 2.35 seconds). It doesn't skip at the same buffer time, like, it skips the video at random time. Sometimes, 2 seconds, sometimes, 5, sometimes, 20 etc. I'm guessing this could be because of packet loss in video streams downloading. But I'm not sure. Can anyone plz help me on this ?

            jwplayer($(this).attr('id')).setup({
                flashplayer: 'http://localhost/project1/public/upload/player.swf',
                file: 'http://localhost/project1/public/upload/' + $(this).html(),
                height:480,
                plugins: {
                    hd: { file: "http://localhost/project1/public/upload/" + $(this).html(), fullscreen: true }
                },
                width: 800,
                dock:false,
                controlbar:'none',
                provider: 'http',
                'http.startparam':'starttime',
                icons:false
            });

Solution

  • It seems the problem is with video file itself. Becoz web browsers are not capable like vlc player etc, we should encode video in lower quality. Also, desktop players can play broken videos where we browsers cannot.

    Here is the ffmpeg encoding settings I used. Hope it can be of any help for others.

    ffmpeg -i source_video.flv -vcodec libx264 -f mp4 -threads 2 -cropleft 0 -croptop 0 -cropright 0 -cropbottom 0 -s 1024x560 -aspect 1.823 -pass 2 -b 229274368 -bf 3 -cmp 0 -dia_size 2 -preme 0 -mbcmp 0 -mbd 2 -me_method 6 -precmp 0 -qmax 51 -qmin 10 -g 300 -subcmp 0 -subq 5 -acodec libfaac -ab 144000 -vol 256 -ac 2 -flags aic+mv4+mv0 -refs 3 -deblockalpha 0 -deblockbeta 0 -level 41 -trellis 1 -coder 1  -y  encoded_video.mp4