直播项目技术备忘

YYT直播项目技术记录

  1. 如何做好全屏交互体验
  2. VideoView内存泄漏
  3. VideoView播放RTMP和HLS(m3u8)格式
  4. VideoView播放加密HLS(m3u8)格式
  5. VideoView播放离线HLS(m3u8)格式
  6. VideoView通过LocalServer播放本地离线HLS(m3u8)格式
  7. 每个视频都有自己的m3u8解密Key
  8. 视频安全防护
  9. 视频安全更改LocalServer的HostName为127.0.0.1
  10. 视频安全-解密操作封装到SO(JNI)层
  11. 视频安全-在SO内部对签名进行校验
  12. 视频安全更改JavaLocalServer(NanoHTTPD)改为NativeLocalServer(mongoose)
  13. 在更改为NativeLocalServer时,由于在编译NDK时使用的时’std=C99’标准和mongoose自身的一些问题,导致了4.0-4.4的手机出现兼容问题,无法运行。

    解决过程中所查文章:

    1. http://www.zhihu.com/question/20845153
    2. http://www.open-open.com/solution/view/1319209398468
    3. http://stackoverflow.com/questions/26104489/java-lang-unsatisfiedlinkerror-native-method-not-found
    4. http://seshadripera.blogspot.com/2013/04/javalangunsatisfiedlinkerror-native.html
    5. http://tools.android.com/tech-docs/new-build-system/gradle-experimental
    6. 等等,最后完美解决
  14. 在解决NativeLocalServer的4X兼容问题后发现5.1.1等手机出现’UnsatisfiedLinkError …file dex’的问题,最后发现是由于classpath 'com.android.tools.build:gradle-experimental:0.7.0-rc1' 这个插件所引起的,在0.7版编译后无法生成64位的so文件,所以使用Eclipse编译就可以了。

你可能感兴趣的:(视频,技术,解密,安全,内存泄露)