如何从字节数组播放视频,并且不允许用户获取原始文件?

我的问题是我将加密的剪辑文件存储在客户端中。但视频播放器只支持视频格式文件。

所以我将字节数组转换为 mp4 文件。任何人都可以提供更好的解决方案来播放字节数组?

我目前尝试这样做的方法是:

  1. 将字节写入 .mp4 文件

  2. 通过视频播放器加载和播放 .mp4 文件

  3. 播放视频后删除临时文件

它似乎有效,但我不确定它是否安全。

这是我的代码:

void Start()

{

    byte[] data = EncryptManager.Instance.DecryptData(encryptedData);

    if (data != null){

            WriteByteArrayToFile("temp.mp4", data);

            videoPlayer.url = "temp.mp4";

            videoPlayer.source = VideoSource.Url;

     }

     StartCoroutine(ChekVideoLoading());

}


IEnumerator ChekVideoLoading()

{

    while (!videoPlayer.isPlaying)

    {

        yield return null;

    }

    yield return new WaitForSeconds(1f);

    File.Delete("temp.mp4");

}


public void WriteByteArrayToFile(string fileName, byte[] data)

{

    FileStream fileStream = new FileStream(fileName, FileMode.Create, FileAccess.Write);

    fileStream.Write(data, 0, data.Length);  

}  


慕森王
浏览 158回答 1
1回答

一只名叫tom的猫

我发现 AVPro 播放器提供OpenVideoFromBuffer让我直接播放二进制数据。但是这种方法只适用于windows平台。希望这些信息可以帮助某人。
打开App,查看更多内容
随时随地看视频慕课网APP