خیلی ها دوستان دارند برنامه های شبیه به فیلیمو بنویسند ولی یکی از مهمترین چیز در این نرم افزار ها رمزگذاری(encryption) کردن فیلم ها هستش جوری که شما بتونید یک فیلمی رو رمزگذاری(encryption) کنید تا کسی که فیلم را دانلود کرده نتواند فیلم را منتشر کند و فقط از طریق یک پلیر اختصاصی بشه فیلم را پخش کرد خب مسلما این کار #امنیت برنامه ما را بالا میبره ولی چطوری میتونیم این کار رو بکنیم ?
برای این کار میتونیم از ffmpeg استفاده کنیم که پکیج اون برای فلاتر - اندروید - ios و حتی ویندوز و لینکوس هم موجود هستش به وسیله این lib میتوانیم خیلی راحت فیلم های خودمون رو رمزگذاری(encrypt) کنیم / رمزگشایی(decrypt) کنیم
نحویه encryption/decryption ویدئو رو در اینجا قرار میدم
ffmpeg -i in-put-video -vcodec copy -acodec copy -encryption_scheme cenc-aes-ctr -encryption_key "32 bit key" -encryption_kid "32 bit key" out-put-video_encrypted
in-put-video => ویدئو ورودی
32 bit key => یک کد 32 بیتی یونیک برای کد گذاری
out-put-video_encrypted => خروجی ویدئو کد شده
نمونه کد
ffmpeg -i in-put-video.mp4 -vcodec copy -acodec copy -encryption_scheme cenc-aes-ctr -encryption_key 76a6c65c5ea762046bd749a2e632ccbb -encryption_kid a7e61c373e219033c21091fa607bf3b8 out-put-video_encrypted.mp4
نحویه دیکد کردن هم به صورت زیر می باشد
ffmpeg -decryption_key "32 bit key" -i in-put-encrypted-video out-put-decrypted-video
"32 bit key" => همون کد 32 بیتی که برای کد گذاری استفاده شده
in-put-encrypted-video => ویدئوی که کد شده
out-put-decrypted-video => خروجی دیکد شده
برای پخش ویدئو های کد شده میتوانید از کد زیر استفاده کنید
ffplay -decryption_key 76a6c65c5ea762046bd749a2e632ccbb -i ElephantsDream_encrypted.mp4
برای پخش فایل کد گذاری شده به وسیله استیرم میتونید از کد زیر استفاده کنید
ffmpeg -f dshow -decryption_key 76a6c65c5ea762046bd749a2e632ccbb -i MyEncrypted-Video -preset ultrafast -vcodec libx264 -tune zerolatency -b 900k -f mpegts My-Stream-URI
امید وارم مفید باشه و بتونید از این آموزش استفاده کنید.
?کپی و انتشار آموزش فقط با ذکر منبع مجاز می باشد.