如何使安卓的视频视图读取填充文件?



Android的VideoView是否可以读取MP4文件,但跳过前512个字节?

我们的客户不希望他的视频在不同的设备上轻松传输/复制。我们所做的是在MP4文件的开头随机添加512个字节,然后用不同的文件扩展名重命名文件,从而"模糊"MP4文件。

显然,上述方法并不能完全保护他的视频不被盗版。他很好,只为"非技术人员"提供足够的保护。

目前,在播放视频时,我们的Android应用程序会跳过前512个字节,将实际视频内容提取到一个新的临时文件中。这个临时文件将是VideoView播放的文件。

问题是,这需要很长时间,尤其是我们的视频每个都超过100MB+。这显然不是一个可以接受的解决方案。

我认为,如果我们能让VideoView跳过前512个字节,我们就都准备好了。有可能吗?如果没有,有什么更好的选择?

免责声明:我是添加512字节填充的服务器应用程序的web开发人员。我不是安卓系统的开发者。我代表我的Android开发同事发布这个问题。如果我们的做法完全不正确,请原谅我。请随意提出更好(希望如此)的简单方法

如果通过"跳过"您想跳到视频中的某个点,则可以使用VideoView#seekTo(int msec)。然而,这种方法只是在一定的持续时间内跳过开始进入视频。

如果你想在一开始就剪切视频或做一些其他修改,那么一个解决方案是在服务器中预处理视频,然后将结果流式传输到应用程序中。这样,你的应用程序就不必处理繁重的预处理,更重要的是避免提前下载整个视频文件。

能否将FileDescriptor获取到文件中,然后将其传递到MediaPlayerpublic void setDataSource(FileDescriptor fd, long offset, long length)方法中,偏移量为512

最新更新