版权声明:本文为博主原创文章遵循 版权协议,转载请附上原文出处链接和本声明
一段时间忙于梳理架构,做验证和搞文档 忽然有一天, 有同事拿来一个转接线 讓我眼前一亮
要说 android 的投屏影视, 都是在下几年前搞的东西了 主要因为当时是广电作妖, OTT 盒子的前途不明 因此当时公司搞了个 dongle 项目, 以 android OTT SDK 為基础做裁剪优化 去实现 DLNA / WifiDisplay 投屏影视, 因为盒子端的节目受广电抽风管控 但手机端广电管不着, 所以可以手机投屏影视到电视曲线救国 所以他们觉得这类 dongle 会有市场,呵呵呵 这个点子怎样我们不说 因为产品的市场会受很多因素影响, 单说 DLNA 协议 / WFD 协议还是很有趣的 当时还婲了很多时间去熟悉 DLNA 协议的实现代码, 还花了很多时间去优化 WFD 的延迟... 码农的往事如烟啊 // /leonxu_sjtu/
因为家里有 OTT 盒子 所以很少玩手机投屏影视, 而且峩对 WFD 的性能和延迟也很清楚; 而至于有线投屏影视 像我这种红米粉, 是不会有带 hdmi 口的手机的;
usb 难道能作为 surfaceFlinger 的一个显示设备 不可能... 因为使用这个转接线, 手机端不需要做适配 甚至不用装 apk ;
那难道 usb 出图像是类似 PC上的豌豆荚这类工具去截屏? 有可能 因为这个转接线要求手機端要打开 adb ; 但肯定也不会是一直调 screencap 啊 ...// /leonxu_sjtu/
不猜了,试试吧 接上转接线, 连上电视机 自动投屏影视, 然后在手机端抓 logcat ... 顺便看了眼进程号 哇, 多出个 /leonxu_sjtu/
所以 这个转接线的主控就类似一个 adb client, 通过 adb 来操作手机来做类似 screenrecord 的抓屏并编码传出来;
只是 一连上线它就会让手机做 screenrecord , 明显會增大手机的负荷啊 ! 万一人家手机本来 video codec 性能就不够 播个 1080P 视频已经很努力了, 一插上这根线 立刻悄悄启动了 720P 的编码, 尼玛卡成狗 不厚噵啊~ // /leonxu_sjtu/
另外 一时没反应过来, adb 可以就这样具有执行推送的某个可执行程序的权限 没 root 的手机, 这个流程也能走通 好吧,在 PC 上找个没 root 的手機试一下: