我是靠谱客的博主 欣喜火,最近开发中收集的这篇文章主要介绍Telegram视频压缩模块简单拆分,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

       新入职一家公司有一段时间了,自己负责的是基于Telegram的二次开发,应该也有童鞋用过这个软件,俄罗斯大佬们开发的一款即时通讯类软件,主打安全、高效、快速……在国外用的比较多。这个项目是开源的从c到java全部开源……有兴趣的童鞋可以去看看。
这个项目很大涉及到的东西很多,看看jni目录就知道了,很多底层模块,需要会NDK交叉编译,底层很多实现都是用jni实现的。项目没有很多第三方库,什么大礼包啊啥的,除了特殊必要的第三方服务依赖。控件全部手写,xml一个不用,然后打包apk体积就比较小……emm……所以看这个项目的源码也是很痛苦的,痛并快乐着! Telegram源码
      进入正题,趁着这两天没事把Telegram的视频压缩模块分离出来了,方便以后其他项目使用,它的视频压缩是用opengles,项目还集成了ffmpeg,但是它在视频压缩并没有用ffmpeg(可能有其他用途) 核心类:

控制器类MediaController:


通知管理类NotificationCenter:


Build.VERSION.SDK_INT小于18还需要用到libyuv这个库,我是直接从Telegram拿下来的。

直接上demo代码Github地址

运行效果:


在视频压缩他做了压缩队列处理,每点一下就把任务加入了这个队列,一个一个的执行。


视频压缩参数可以在这个类里面配:


       注意在使用demo需要把需要压缩的视频放置在根目录命名test,我是懒得写跳转相册业务逻辑了,方便演示用。实际开发自己指的路径就行了。

       实际是怎么处理视频压缩业务逻辑可以去demo里面看或者官方的Telegram源码去看,我这里只是简单拆分出来,在Telegram里面还有很多模块、控件可以拆出来单独使用,后面打算仔细看看这个核心的Tgnet网络模块,看能不能单独拆出来~~~~~


转载于:https://juejin.im/post/5cb58ddb518825324f68ca8c

最后

以上就是欣喜火为你收集整理的Telegram视频压缩模块简单拆分的全部内容,希望文章能够帮你解决Telegram视频压缩模块简单拆分所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(64)

评论列表共有 0 条评论

立即
投稿
返回
顶部