The new model still uses a set of quick initial H264 ABR encodings to ensure that all uploaded videos are encoded at good quality as soon as possible. The challenge is to support content creators of all sizes, not just those with the largest audiences, while also acknowledging the reality that having a large audience also likely means more views and longer watch times. However, any video can go viral even if the uploader has a small following. The vlogger can upload their video at the same time, but Disney’s video is likely to get more watch time. Compare the Facebook page of a big company like Disney with that of a vlogger that might have 200 followers. Since different codecs and recipes have different computing requirements, visual quality, and compression performance trade-offs, it is impossible to fully optimize the end user experience by a coarse-grained set of rules.Īnd, perhaps most important, Facebook’s video consumption pattern is extremely skewed, meaning Facebook videos are uploaded by people and pages that have a wide spectrum in terms of their number of friends or followers. As new video codecs became available, it meant expanding the number of rules that needed to be maintained and tweaked. Encoding tasks could be assigned a priority based on a number of factors, including whether a video is a licensed music video, whether the video is for a product, and how many friends or followers the video’s owner has.īut there were disadvantages to this approach. It did so by following a list of simple, hard-coded rules. The video encoding system’s job is then to assign the right priority to each task. It accepts encoding job requests that have a priority value attached to them and puts them into a priority queue where higher-priority encoding tasks are processed first. Facebook has a specialized encoding compute pool and dispatcher. The question of how to order jobs in a way that maximizes the overall experience for everyone has already been top of mind. Different transcoding technologies (using different codec types or codec parameters) have different trade-offs between compression efficiency, visual quality, and how much computing power is needed. Once the encodings are made, Facebook’s video encoding system tries to further improve the viewing experience by using more advanced codecs, such as VP9, or more expensive “recipes” (a video industry term for fine-tuning transcoding parameters), such as H264 very slow profile, to compress the video file as much as possible. Traditionally, once a video is uploaded to Facebook, the process to enable ABR kicks in and the original video is quickly re-encoded into multiple resolutions (e.g., 360p, 480p, 720p, 1080p). There are several factors that have to be taken into consideration so that we can provide the best video experience for people on Facebook while also ensuring that content creators still have their content encoded fairly on the platform. By predicting which videos will be highly watched and encoding them first, we can reduce buffering, improve overall visual quality, and allow people on Facebook who may be limited by their data plans to watch more videos.īut this task isn’t as straightforward as allowing content from the most popular uploaders or those with the most friends or followers to jump to the front of the line. Today, Facebook deals with its high demand for encoding high-quality video content by combining a benefit-cost model with a machine learning (ML) model that lets us prioritize advanced encoding for highly watched videos. Which means there needs to be a way to prioritize which videos need to be encoded using more advanced codecs. From a pure computing perspective, applying the most advanced codecs to every video uploaded to Facebook would be prohibitively inefficient. But while more advanced codecs like VP9 provide better compression performance over older codecs, like H264, they also consume more computing power. To help with this, we employ a variety of codecs as well as adaptive bitrate streaming ( ABR ), which improves the viewing experience and reduces buffering by choosing the best quality based on a viewer’s network bandwidth. But the sheer volume of video content on Facebook also means finding ways to do this that are efficient and don’t consume a ton of computing power and resources. Making sure every video is delivered at the best quality - with the highest resolution and as little buffering as possible - means optimizing not only when and how our video codecs compress and decompress videos for viewing, but also which codecs are used for which videos. People upload hundreds of millions of videos to Facebook every day.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |