Secure Multimedia Library (SML) is a C language API that enables the development of a secure multimedia streaming application, both suitable for the conventional client-server architecture or a proxy-cooperated architecture.
A Case of Multi-Key Secure Video Proxy: Theory, Design and Implementation
S. F. Yeung, John C. S. Lui, David K. Y. Yau
Proceeding of the ACM Multimedia Conference 2002
The package contains all the source code of the library and a few demo programs. However, the library is still in its development phase, make files and compilation instruction are not available yet. If you want to try to compile the files, you need to obtain the GNU Multiple Precision Library (GNU).
download the source code package
SML uses Encryption Configuration Parameters to control the encryption quality against the encryption efficiency. The following video and audio clips illustrate the visual and acoustical encryption quality when varying the ECP values.
Note: If you view the encrypted MPEG-1 video clips without using the decryption key, you may crash your media player or your system when you are using the Window O.S (yes, we call this a feature, not a bug!!!). In order to examine the visual quality of the encrypted MPEG-1 video clips without the decryption key AND not to crash your OS, please download the video clips to your local storage and use mplayer on Linux for the playback. Of course, with the decryption key, you can safely playback the multimedia file on Window or Linux system!!!!
Original Video Clips:
MPEG-1 Video | QuickTime Video | Frame dumps
Encrypted Video Clips:
N=1 | N=2 | N=5 | N=10 | |
P=60/1400 |
MPEG-1 (
frames |
movie ) QuickTime ( frames | movie ) |
MPEG-1 (
frames |
movie ) QuickTime ( frames | movie ) |
MPEG-1 (
frames |
movie ) QuickTime ( frames | movie ) |
MPEG-1 (
frames |
movie ) QuickTime ( frames | movie ) |
P=120/1400 |
MPEG-1 (
frames |
movie ) QuickTime ( frames | movie ) |
MPEG-1 (
frames |
movie ) QuickTime ( frames | movie ) |
MPEG-1 (
frames |
movie ) QuickTime ( frames | movie ) |
MPEG-1 (
frames |
movie ) QuickTime ( frames | movie ) |
P=180/1400 |
MPEG-1 (
frames |
movie ) QuickTime ( frames | movie) |
MPEG-1 (
frames |
movie ) QuickTime ( frames | movie) |
MPEG-1 (
frames |
movie ) QuickTime ( frames | movie) |
MPEG-1 (
frames |
movie ) QuickTime ( frames | movie) |
P=240/1400 |
MPEG-1 (
frames |
movie ) QuickTime ( frames | movie) |
MPEG-1 (
frames |
movie ) QuickTime ( frames | movie) |
MPEG-1 (
frames |
movie ) QuickTime ( frames | movie) |
MPEG-1 (
frames |
movie ) QuickTime ( frames | movie) |
P=300/1400 |
MPEG-1 (
frames |
movie ) QuickTime ( frames | movie) |
MPEG-1 (
frames |
movie ) QuickTime ( frames | movie) |
MPEG-1 (
frames |
movie ) QuickTime ( frames | movie) |
MPEG-1 (
frames |
movie ) QuickTime ( frames | movie) |
P=360/1400 |
MPEG-1 (
frames |
movie ) QuickTime ( frames | movie) |
MPEG-1 (
frames |
movie ) QuickTime ( frames | movie) |
MPEG-1 (
frames |
movie ) QuickTime ( frames | movie) |
MPEG-1 (
frames |
movie ) QuickTime ( frames | movie) |
Original Audio Clip:
Encrypted Audio Clips:
P = 120/1400 | P = 60/1400 | |
I = 1 | song_ID0_ECP1_120_1.mp3 | song_ID0_ECP1_60_1.mp3 |
I = 2 | song_ID0_ECP2_120_1.mp3 | song_ID0_ECP2_60_1.mp3 |
I = 5 | song_ID0_ECP5_120_1.mp3 | song_ID0_ECP5_60_1.mp3 |
I = 10 | song_ID0_ECP10_120_1.mp3 | song_ID0_ECP10_60_1.mp3 |