Codec-on-Demand Based on User-Level Virtualization
IEICE transactions on information and systems
At work, at home, and in some public places, a desktop PC is usually available nowadays. Therefore, it is important for users to be able to play various videos on different PCs smoothly, but the diversity of codec types complicates the situation. Although some mainstream media players can try to download the needed codec automatically, this may fail for average users because installing the codec usually requires administrator privileges to complete, while the user may not be the owner of the
... We believe an ideal solution should work without users' intervention, and need no special privileges. This paper proposes such a user-friendly, programtransparent solution for Windows-based media players. It runs the media player in a user-mode virtualization environment, and then downloads the needed codec on-the-fly. Because of API (Application Programming Interface) interception, some resource-accessing API calls from the player will be redirected to the downloaded codec resources. Then from the viewpoint of the player, the necessary codec exists locally and it can handle the video smoothly, although neither system registry nor system folders was modified during this process. Besides convenience, the principle of least privilege is maintained and the host system is left clean. This paper completely analyzes the technical issues and presents such a prototype which can work with DirectShow-compatible players. Performance tests show that the overhead is negligible. Moreover, our solution conforms to the Software-As-A-Service (SaaS) mode, which is very promising in the Internet era. key words: codec, user-level virtualization, on demand * The latest version is WMP 11. However, it does not affect the credibility of our test because the new features of WMP 11 are focused on the flexibility in managing functions as mentioned at http://www.microsoft.com/windows/windowsvista/features/media -player-11.aspx. It still needs administrator privilege to install an on-demand codec.