投屏技术科普:手机视频投屏到电视
上周末在家想用电视看电影,手机投屏折腾了快二十分钟。先是搜不到设备,搜到了又连不上,好不容易连上了,画面延迟大得离谱,音画不同步。说实话,投屏这事看着简单,用起来各种坑。后来我静下心来研究了一下各种投屏方案,发现其实搞懂了原理之后,投屏还是很方便的。
三种主流投屏协议的区别
目前投屏主要就三种技术:苹果的AirPlay、安卓阵营的Miracast、以及通用的DLNA。AirPlay是体验最好的,苹果设备之间无缝连接,延迟低画质好,基本上就是点一下的事。但前提是你得全套苹果设备,电视也得支持AirPlay,不然就白搭。
Miracast理论上安卓手机都能用,但实际体验真的参差不齐。我之前用小米手机投到海信电视上,画面延迟能到一秒多,看动作片基本上没法看。后来换了一台华为手机,延迟就小了很多。这东西跟厂商的优化关系很大,同样的协议,不同品牌的体验能差出好几条街。之前掘金上有篇技术文章分析过Miracast的底层实现原理,讲得挺透彻的,搞技术的朋友可以看看。
DLNA是最通用的方案,几乎所有智能电视都支持,但功能也最局限——主要是媒体文件的推送,不支持屏幕镜像。如果你只是想投个视频文件到电视上,DLNA完全够用,画质和延迟都还不错。
视频App自带投屏——不是真正的投屏
其实吧,大多数人用的"投屏",根本就不是上面说的那些协议,而是视频App自带的投屏功能。比如腾讯视频、爱奇艺点那个TV小图标,电视上就自动播放了。这种方式本质上是通过App的服务器中转,手机只是个遥控器,视频流是从服务器直接推到电视上的。
有个朋友之前一直不理解,为什么投屏之后关了手机视频还在播。其实就是这个原理——手机只是个指挥部,真正的播放端是电视。所以这种投屏方式对网络要求比较高,毕竟电视得独立从互联网拉流,如果你家WiFi信号不好,照样卡。不过好处是,你跟手机的操作互不影响,投屏之后可以继续刷微信、打电话,完全不受干扰。
投屏常见问题及解决
最常见的坑就是"搜不到设备"。手机和电视明明在同一个WiFi下,但就是搜不到。这种情况90%是因为路由器开了AP隔离,把每个设备隔离开了。去路由器后台把这个功能关掉,通常就能解决。还有一个问题是投屏花屏或者黑屏,这通常是视频编码格式不兼容导致的。有些老电视只支持H.264,遇到H.265编码的视频就黑屏。
另外,如果你是用解析工具看视频,投屏的时候有个小技巧:先把解析出来的视频链接复制到支持投屏的播放器里,比如VLC或者MX Player,然后用播放器自带的投屏功能,效果比直接用网页投屏好得多。博客园上有位博主分享过一套完整的投屏配置方案,从路由器到播放器全链路优化,挺实用的。
投屏工具怎么选
市面上投屏App一大堆,但免费又好用的真没几个。我自己现在用的是乐播投屏,覆盖比较全,安卓苹果都能用,而且对老电视的兼容性做得不错。不过免费版有广告,介意的话可以花几十块买个会员。如果你只是偶尔投屏看个剧,视频App自带的投屏功能就够用了,没必要额外装工具。
投屏这事说复杂也复杂,说简单也简单,关键还是看你的设备环境和需求。搞清楚了协议的区别,选对了工具,其实也就是点几下的事。