西瓜播放器 HTML5 video video.js 播放器 HTML5播放器 mp4 hls hls.js flv flv.js dash dash.js 无缝切换

About

Someone may ask that video players such as video.js, mediaElement.js are already very powerful. Why are we still struggling to develop new players? We will talk about it from the following aspects.

Background

Most of the Bytedance video services are short videos. In the early days, we made secondary development based on video.js. Later, we found that many features do not meet our requirements, such as the cost of custom UI, seamless video switching, and video traffic savings. Taking into account the current on-demand is still mostly mp4, we made a bold assumption: load the video, parse the video and convert the format of the video on the player, enable dynamic support for mp4 that does not support segmented playback, so there is no need to convert the source video format, the server also has no other overhead. With this momentum, we completed this development task at the end of 2017 and tested stability and economic benefits in early 2018.

In this context, we once parsed videos such as hls, flv, etc., so that we no longer simply rely on third-party video libraries. Only by mastering the underlying technologies can we have the possibility of optimization. In the context of continuously conquering the analysis of hls and flv, we have enhanced the product experience, such as interactive effects, approach animation. Until recently, we wanted to improve the documentation and open source the player's source code to give more video practitioners a reference. We will communicate and learn together and make progress together.

Expectation

Starting from the video, deploying multimedia, and constantly challenging one technical problem after another.

Communication & Feedback

We have opened QQ Group. Welcome to use our player. We will definitely encounter various problems, and we will discuss and maintain it together in the group and work together to serve more people.