使用的插件 Ffmpeg for Unity
Ffmpeg 是视频处理的类库,注意插件的使用要求。
Android / IOS 要求 ilcpp和.net 4.x编码
Ffmpeg 加密 视频的命令**
ffmpeg -i “input.mp4” -vcodec copy -acodec copy -encryption_scheme cenc-aes-ctr -encryption_key c7e16c4403654b85847037383f0c2db3 -encryption_kid a7e61c373e219033c21091fa607bf3b8 “encryption.mp4”
input.mp4 要加密的视频
encryption.mp4 加密后的视频
-encryption_scheme cenc-aes-ctr 指定加密方式
-encryption_key c7e16c4403654b85847037383f0c2db3 指定加密秘钥128位 c7e16c4403654b85847037383f0c2db3 一定要保存,解密视频,和播放视频会用到。
-encryption_kid a7e61c373e219033c21091fa607bf3b8 指定加密Id 暂时还不知道有什么作用
FFmpeg 解密视频的命令
ffmpeg -decryption_key c7e16c4403654b85847037383f0c2db3 -i “encryption.mp4” -y vcodec copy -acodec copy “output.mp4”
Android 端解密时需要 拷贝 视频编码 音频编码。否则会出现解密失败的情况
Ffmpeg 压缩视频的命令
ffmpeg -i "input.mp4" -y -f mp4 -vcodec h264 -t 1000 -s 1920x1080 -b:v 2000k -acodec copy "output.mp4"
-s 1920x1080 指定视频压缩后的分辨率 (会影响视频大小)值越大占用空间越大
-b:v 2000k 指定视频的数据比特率 (影响视频的大小和画质)值越大视屏越清晰占用空间越大
Ffmpeg 获得视频的第一帧 并转换成图片
ffmpeg -i "input.mp4" -y -f mjpeg -ss 00.001 -t 00.001 -s 1920x1080 "out.jpg"
-t 00.001 指定视频的时间
-s 1920x1080 输出图片的大小
Ffmpeg for Unity 使用时遇到的坑
FFmpegPlayCommand 播放视频时 安卓端视频播放过程应用卡死
FfplayCommand 播放视频时 加密的的视频 滑动条无效果
推荐将加密的视频解密后在播放,这样在多个平台都可以。
注意:Ffmpeg for Unity 解密完成后 不要立马播放视频 ,立即播放可能读不到视频。需要等1秒左右的时间在播放。怀疑时没有及时释放IO导致的bug
本文介绍了如何使用FfmpegforUnity对视频进行加密、解密和压缩操作。在Android和IOS平台上,需要特定的编码环境。加密命令涉及加密模式、密钥和ID;解密时需提供相同的密钥。视频压缩关注分辨率和数据比特率的设置。此外,文章指出在Android端播放加密视频可能导致应用卡死,建议先解密再播放,并提示解密后需等待片刻再播放以避免潜在的IO问题。
2236

被折叠的 条评论
为什么被折叠?



