RFC Would GUI options to specify AES decryption details be acceptable?
Hi,
I know that there is HLS and DASH. Those formats are intended for live streaming and are limited beyond that scope.
Imagine you have files that are just encrypted but otherwise proper media files. Not in a format (like HLS) but just plain and simple encrypted. All that would be needed is to tell VLC how to decrypt such files.
FFMpeg has the "crypto" protocol [1] for exactly this purpose. With that protocol you just define your IV and your key and it plays encrypted media just fine. Your media file itself is just normally encrypted using a tool like openssl. An example command:
export AES_KEY=$(openssl rand -hex 16)
export AES_IV=$(openssl rand -hex 16)
openssl enc -aes-128-cbc -K $AES_KEY -iv $AES_IV -in bbb.webm -out bbb.enc
Playing the resulting file with ffplay crypto:<file> -decryption_key $AES_KEY -decryption_iv $AES_IV
would play it just fine.
What i'm asking is if it would be OK from an UI point of view to add those encryption options to the open media dialog? Within the current "Show more options" toggle you'd get something like a "Decrypt media" sub toggle. From there you'd then specify the IV and the key. The media in the urlbar would be routed through the ffmpeg crypto protocol. The user would never see this protocol in this dialog.
I would like this feature because these days it becomes increasingly more possible to use public networks to store - essentially - private data. That data is then stored in encrypted form. One could argue that you need to solve this at the filesystem layer with virtual folders for example. I would see that as an ideal and quite long term solution. It requires a tremendous effort to get that implemented on all platforms where VLC is active. Therefore specifying those encryption details in the VLC GUI is a much easier shorter term benefit.
I am specifically talking about VLC on the desktop (win/mac/linux) and ideally also VLC on Android.
Looking forward to your opinions!
Best regards, Mark Gaiser