Android的VideoView是否可以读取MP4文件但跳过前512个字节?
我们的客户不希望他的视频在不同设备上轻松传输/复制。我们所做的是通过在文件开头添加随机512字节来“混淆”MP4文件,然后使用不同的文件扩展名重命名文件。
显然,上述方法并不能完全保护他的视频免遭盗版。他对“非技术人员”的保护得很好。
目前,在播放视频时,我们的Android应用程序会跳过前512个字节,将实际视频内容提取到新的临时文件中。此临时文件将是VideoView播放的文件。
问题是这需要很长时间,特别是我们的视频每个超过100MB +。这显然不是一个可以接受的解决方案。
我认为,如果我们可以让VideoView跳过前512个字节,那么我们都已经设置好了。可能吗?如果没有,有哪些更好的选择?
免责声明:我是添加512字节填充的服务器应用程序的Web开发人员。我不是Android开发人员。我代表我的Android dev同事发布了这个问题。如果我们的方法完全是noob,请原谅我。随意提出更好(并且希望)简单的方法。
答案 0 :(得分:0)
如果通过"跳过"如果您想跳转到视频中的某个点,则可以使用VideoView#seekTo(int msec)
。然而,这种方法只是在一定时间内跳过视频。
如果您想要的是在开始时剪切视频或进行其他一些修改,那么一种解决方案是在服务器中预处理它并将流结果导入应用程序。这样您的应用就不必处理繁重的预处理,更重要的是避免提前下载整个视频文件。
答案 1 :(得分:0)
能否将FileDescriptor
添加到文件中,然后以偏移量MediaPlayer
传递到public void setDataSource(FileDescriptor fd, long offset, long length)
的{{1}}方法中?