登录
  • 欢迎访问Sharezer Blog

Webrt中H264编码相关问题

编译WebRTC后,默认是没有把H264编码编进来的。WebRTC中H264编码采用的是openh264,解码默认采用的是ffmpeg,移动版本android,ios默认采用的是系统的h264硬件编码,如果你的手机支持H264硬件编码的话,WebRTC就会默认支持H264。 1.如何在桌面版本中开启H264编码 使用gn生成ninja文件时,加入以下两个选项就可以生成 ffmpeg_branding="Chrome" rtc_use_h264=true,比如我要编译Linux版本,使用以下命令 gn gen out/linux --args='target_os="linux" target_……继续阅读 »

Android查看自己的应用签名及三方APK签名信息

一、查看自己的应用签名: 首先在Terminal控制台中,输入:keytool -list -keystore -v -keystore + jks文件的绝对路径, keytool -list -keystore -v -keystore C:\Users\Administrator\Desktop\test.jks .输入密钥库命令:(这里输入的就是你设置的密码,千万别说你忘记了) 然后就可以查看指纹证书了 二、查看三方的APK签名信息: 用winrar或7-zip等压缩工具打开待查看的apk,将其中META-INF文件夹解压出来,得到其中的CERT.RSA文件(例子:CER……继续阅读 »

Android 单例模式最好的写法

一般来说,通常写法是这样的: public class Singleton { private static Singleton instance; private Singleton (){} public static Singleton getInstance() { if (instance == null) { instance = new Singleton(); } return instance; } } 这种写法线程不安全,所以有的是加线程锁,加了之后是这样的: pub……继续阅读 »

I420Frame转YuvImage

private YuvImage i420ToYuvImage(ByteBuffer[] yuvPlanes, int[] yuvStrides, int width, int height) { if (yuvStrides[0] != width) { return fastI420ToYuvImage(yuvPlanes, yuvStrides, width, height); } if (yuvStrides[1] != width / 2) { return fastI420ToYuvImage(yuvPlanes, yuvSt……继续阅读 »

通过adb获取task id

/** * 通过包名获取task id,不存在为-1 * * @param packageName * @return */ public int getTaskId(String packageName) { String result = execRootCmd("dumpsys activity | grep " + packageName); int start = result.indexOf("TaskRecord{"); if(start > 0){ int end = result……继续阅读 »

Android 判断某个应用是否处于前台显示状态

/** * 返回当前的应用是否处于前台显示状态 * * @param packageName * @return */ public boolean isTopActivity(String packageName) { String result = execRootCmd("dumpsys activity | grep \"mResumedActivity\""); int start = result.indexOf("u0") + 3; int end = result.indexOf("/"); Log.d(TAG, "s: " + sta……继续阅读 »