- 博客(20)
- 收藏
- 关注
原创 视频帧率与显示刷新率
固定帧率视频固定帧率视频每帧的时长是固定长度的。可变帧率视频可变帧率的视频,每帧的视频时长不一定相同。59.94、29.97、24.97659.94 = 60/100129.97 = 30/100123.976 = 24/1001这几个帧率的历史来源:https://zhuanlan.zhihu.com/p/66319869手机如何播放24fps的视频视频帧率和屏幕刷新率不匹配时,会使用Pull_Down技术,24-60的匹配就是3:2 Pull_Down。电视如何播放24fps
2021-04-28 23:54:19 2216
原创 Monkey自动化测试
之前听说过自动化测试的概念,也听过像Appium、Selenium、Monkey、DeviceTest这样的自动化测试框架,但是由于自己代码能力比较差,一直也没有对这些东东做过解读。最近看了一本腾讯的书《腾讯Android自动化测试实战》,看到了其中关于Monkey的自动化测试章节,感觉Monkey测试应该是最容易入门和实操的了,当然有一些进阶的内容就比较高深了。一、Monkey整体结构Monkey的整体概念非常简单,就是使用ADB命令启动Android系统中自带的一个Monkey工具,这个工具.
2020-08-25 22:56:29 559
原创 Android 的录音分享特性
一、Android Q之前的录音功能在之前的Android版本中,录音是不能并发的,这里涉及一个概念——音频焦点。在录音场景下,申请的音频焦点为:Gain Transient Exclusive,也就是短暂且排他的焦点,这就决定了同时只能有一个应用在录音。详情请参见我的另一篇博客。二、Android Q的录音分享特性2.1 AudioRecord和MediaRecord在AudioRecord和MediaRecord API中,都有一个 isPrivacySensitive的属性,这个属
2020-08-20 20:38:45 1029
原创 色彩空间转换与色差计算算法
网上有很多这样的颜色转换、计算的工具,这里记录的脚本式的方法比较适合一些需要自定义的脚本或者工具的场景。一、色彩空间转换1.1 XYZ与sRGB//X, Y and Z input refer to a D65/2° standard illuminant.//sR, sG and sB (standard RGB) output range = 0 ÷ 255var_X = X / 100var_Y = Y / 100var_Z = Z / 100var_R = var_X * 3.
2020-07-09 20:30:36 6904
原创 Apple的一些设计规则
1、iOS 如何确定自动加入哪个无线网络当您的 iOS 设备评估服务集标识符 (SSID) 并确定要自动加入哪个网络时,它将尝试按以下顺序连接网络:您的“首选”网络您最近加入的专用网络某个专用网络某个公共网络公共网络专为在酒店、机场或咖啡店等公共场所进行的普通访问而设计。此外,Hotspot 2.0、Passpoint、EAP-SIM 或由某些蜂窝网络运营商和有线电视服务商提供的 Wi-Fi 连接等也属于公共网络。专用网络是指任何其他网络,包括在家庭和办公室中设置的网络以及 iOS 设备
2020-06-30 23:02:48 328
原创 安卓音频 AudioFlinger
一、AudioFlinger个人对AudioFlinger的认知主要来源于链接中的参考资料,这些资料我都认真阅读、反复对应超过10遍以上,以及对Google官网资料、以及一些源码的阅读,这里也建议去阅读原创文章。因为安卓音频系统是个非常复杂的系统,在Audio Attributes、Audio Manager、Audio Policy、Audio Foucs、Thread、Stream、Strategy、OutPut这些概念里有各种交叉,需要对比映照。1.1 Dump AudioFlinger信息
2020-06-30 20:14:56 214
原创 iOS14:AirPods Auto Switching
一、AirPods Auto Switching先看几张发布会截图。AirPods现在可以在设备间无缝切换,无需手动操作。比如:你刚玩播客,拿起iPad打算看个电视节目,AirPods会神奇的切换过去;之后你在Mac上开视频会议,AirPods会再一次自动切换过去;如果有一通电话打进来,AirPods的音频会切换回手机。二、支持的AirPods// Apple官网注释Works with AirPods Pro, AirPods (2nd generation), P
2020-06-28 23:30:56 1592
原创 ProRes 白皮书
一、色度采样Color images require three channels of information. In computer graphics, a pixel’s color is typically defined by R, G, and B values. In traditional digital video, a pixel is represented by Y’, CB, and CR values, where Y’ is the “luma” or grayscale
2020-06-28 22:46:34 1259
原创 音频属性 AudioAttributes
Audio Attributes是个非常重要的概念,现在好像是取代了之前对音频流的作用。之前很多函数都会使用Audio Stream作为一个参数,现在都使用了Audio Attributes来替代,因为Audio Attributes能够描述更多的信息,现在Audio Stream仅仅用来标识音量,比如下面的Audio Track,就废弃了streamType参数,改为了AudioAttributes attributes作为参数。https://developer.android.google..
2020-06-17 20:26:12 13190 2
原创 Python学习记录:OpenCV
使用Python对图片进行DCT和IDCT变换原图如下。import numpy as npimport cv2//以灰度模式打开y = cv2.imread('jieping.jpeg',0)y1 = y.astype(np.float32)Y = cv2.dct(y1)cv2.imshow("Dct",Y)y2 = cv2.idct(Y)cv2.imshow("iDCT",y2.astype(np.uint8))cv2.waitKey(0)cv2.destroyAllWin
2020-06-16 20:38:21 455
原创 音频策略 AudioPolicy
AudioPolicy是什么手机本身有听筒和扬声器作为音频输出,手机本身可能有底部(双)Mic、顶部Mic、背部Mic作为音频输入。手机可能连接有线耳机、多个蓝牙耳机、多个WiFi音频外设,或者车载设备、VR设备、投屏设备等。AudioPolicy提供了一个音频输入、输出管理的中心,当然它还有一些其他的作用。分析AudioPolicy的方法最直接的方法还是去看Google的官网文档,在Android Developer和Androidxref上都能看到相应的文档。本文使用Log的方法来
2020-06-15 22:51:55 4750
原创 ADB查看Audio Log
ADB安装![Mac可以使用brew cask install android-platform-tools命令来安装ADB,但是Homebrew也有一些坑,需要自己查一查资料解决一下。安装完成后可以使用adb version命令查看一下是否安装成功。调试设备安卓手机在版本号上连续点击7次,就能开启开发者模式,在里面可以开启USB调试权限。把安卓手机用数据线连接到电脑后,就可以进行ADB调试。#使用adb devices命令,可以查看连接的设备。查看audio事件的log使用adb
2020-06-11 09:04:56 1776
原创 音频参数与FFMpeg转码音频
音频的本质音频就是一段连续的波。在AU里查看一首音乐,就是这样的界面。主界面上分成了两个部分,分别是左右声道;绿色条的高度就是声音的强度,可以理解为音量大小,最大为0dB。把波形放大查看,这绿绿的曲线,是不是很像股票,哈哈哈。查看音频属性还是使用MediaInfo查看音频的属性,然后对照着说。采样率在真实的物理世界中,声音是连续的。而在电子世界中,数据都是离散的,不管是声音,还是拍照、录像。当采样的频率很大,大到人的眼睛和耳朵都分辨不出来,那么人就认为是连续的。i
2020-06-08 22:45:32 2392
原创 音频焦点 AudioFocus与Audio Log分析
什么是AudioFocus手机里可能有很多App,比如:QQ音乐、网易音乐、斗鱼、爱奇艺、B站……,这些App都能发声,如果这些App都在同时播放声音,那用户就啥也听不到了。为了管理多个App都想发声的场景,安卓引入”焦点“的机制。这个”焦点“特别像Windows系统的窗口机制,只有一个前台窗口在工作,切换到其他窗口时,需要首先用鼠标点击激活一下。AudioFocus有很多常见的使用场景,比如:听音乐时突然出现一段导航声音,音乐音量降低了,导航声音结束后,音乐音量又恢复了;听音乐时突然来了
2020-06-05 23:19:46 2421
原创 FFMpeg学习记录:X264编码器
查看FFMpeg支持的H264编码器很多人对于H264有一种误解,以为使用H264编码出来的视频是一样的。实际上,H264是一个标准,基于H264标准的编码器有很多,比如:X264、Inter 264编码器、AMD 264编码器等。使用下面的命令,可以查看FFMpeg支持的H264编码器。ffmpeg -h encoder=h264在获取的结果中,可以看到很多种不同的编码器。下面以最常用的X264编码器,说一下视频编码的一些参数。使用FFMpeg查看X264编码器的参数使用下
2020-06-03 23:26:03 1245
原创 媒体文件信息查看工具 MediaInfo
MediaInfo工具简介MediaInfo是一个查看媒体文件信息的软件,主要的使用场景应该是查看图片、音乐和视频文件的媒体信息。Mac平台可以直接在App Store下载路径,当然也可以直接百度。使用方法软件的初始界面是这样的使用方法非常简单,把目标文件直接拖到这个界面里就可以了。也可以在侧面的菜单里直接打开整个文件夹。Windows平台下,可以直接把多个文件的信息直接导出成txt或者csv这样的文件,Mac平台下没有导出功能了。支持查看的媒体信息封装信息封装信息
2020-06-03 20:08:25 3083
原创 FFMpeg学习记录:FFProbe
查询音频文件信息查询音频文件格式的命令为://这个input.mp3是指代目标音频文件,也可以是其他格式,比如:aac、ogg、opus、m4affprobe -show_format input.mp3可以看到,查询的结果中,包含:FFMpeg各种库的版本音频文件的基础信息,有:文件格式、创建时间、音频时长、声道数、采样率等音频文件的格式信息,有:文件大小、比特率、tag信息等查询视频文件信息查询视频格式的命令与音频一致//这个input.mp4是指代目标视频文件,也可以
2020-05-28 22:39:48 833
原创 FFMpeg学习记录:安装和配置
使用FFProbe查看媒体文件信息你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;增加了
2020-05-27 20:03:15 327
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人