查看详情

2019

转眼就是新的一年,很特殊,2020年,自己把它称为新的十年的起点。 回到十年前的那个冬天,读高三开始满满养成了每月的总结,如同现在一样。所以也能够翻看到那个时候临近年关时候内心的所想。那时候恰逢成都一诊和南充一诊结束,说句实话,应该算是考的非常差,非常低谷的时候。那个时候也只能寄托文字给予一点力量,那也是这么多年来难得写的非常低沉的文字: 人们常说有志者,一份耕耘,一份收获。实在是不够,2009年就要过了,我用这个成绩回家过春节,心情自然是难受的,但是如何在剩下的20十几天里将自己提升到新的水平,这是一项艰苦的工作。 无论如何,写下这一篇文章的忧愁,烦恼,悲伤都随着过去吧。只能写下三个词语来总结一下自己,苦难, xx, 醒悟。 大概这篇文章至今重复读过三四次,十年的跨度让一个人可以明白,很多事情真的没有眼前看的那么不堪,从小学到高中很少在春节前的考试出现大的失利,这次算是非常严重的一次。毕竟春节都图一喜庆,没有人希望回去有这样的心事徘徊。其实那个时候担心的压根不是考试,而是担心春节所处种种。其实十年后自己,这点还多多少少会有些影响。人往往做选择,多少会有些非主观因素,近期读《曾国藩》,“布局” 是门学问,值得未来十年的研读。 记得2010年的跨年,是和大学室友一起,自认为四川人点了个中辣的长沙火锅,真的是印象深刻到极致,一算那个时候已到长沙四个月了,但是折服的依旧是长沙的辣椒。回校路上, 详情 »

查看详情

聊聊 Web 视频播放的画中画模式

Chrome 在升级到 70 的时候开始对视频播放的画中画模式开始支持了,用户在浏览器 Web 页面可以通过 画中画的形式强当前画面停留在屏幕正上方,无论你在使用其他软件还是切到其他 Tab ,都可以看到当前画面。 最新的 caniuse 我们可以看到已经覆盖了很多了浏览器版本,包括 最新的 Safari 甚至移动 Android 的 Chrome 浏览器。 特征检测 我们可以通过 video 元素上的 requestPictureInPicture 的方法以及 document.pictureInPictureElement 来判断浏览器是否支持画中画模式。 if ('pictureInPictureEnabled' in document) { // do something } else { // not support } if (typeof videoEl.requestPictureInPicture === 'function') { // do something } else { // not support } API 调用 我们可以通过调用 requestPictureInPicture 来实现画中画播放模式。 someBtn. 详情 »

查看详情

【译】Web 视频播放前前后后

这应该是目前写的最为完整的关于 Web 视频播放的文章。从简单的 Video 元素到 MSE 直播的应用,作者给出了具体的代码,文章由浅入深,普及现代 Web 播放技术的前前后后。五星推荐阅读。 @Paul Berberian 原文地址: https://medium.com/canal-tech/how-video-streaming-works-on-the-web-an-introduction-7919739f7e1 注意:本文是JavaScript视频流的介绍,主要针对Web开发人员。这里的大部分示例都使用HTML和现代JavaScript(ES6)。如果您对它们还不够熟悉,那么您可能会发现很难继续学习,尤其是代码示例。 原生视频 API 从2000年代初期到后期,网络上的视频播放主要依靠Flash插件。 ** 警告用户安装Flash插件 ** 这是因为当时没有其他方法可以在浏览器上流式传输视频。作为用户,您可以选择安装Flash或Silverlight之类的第三方插件,还是根本无法播放任何视频。 为了填补这个空白,WHATWG 开始研究 HTML 标准的新版本,其中包括本地的视频和音频播放。苹果公司在其产品上禁用 Flash 后,这一趋势更加明显。而该标准后面成为现在的 HTML5 的标准。 因此,HTML5除其他新的标签外,将 < 详情 »

查看详情

微信小程序适配 iPhone 11/Pro

最新版本微信更新了 iphone 11 和 12 的型号返回,可以直接判断。 由于目前 iPhone 发售的新机型,iPhone X / iPhone 11 系列,都是刘海屏。因此在小程序设计中,我们经常需要考虑到底部的适配。 常规的我们是通过获取系统信息模块来获取的。 cont app = getApp(); wx.getSystemInfo({ success: function(res) { //model中包含着设备信息 console.log(res.model) const model = res.model; if (model.search('iPhone X') != -1){ app.globalData.isIpx = true; }else{ app.globalData.isIpx = false; } } }) 而 iPhone 11 系列由于微信还未及时更新型号,返回的 详情 »

查看详情

在 FFMPEG 使用 VMAF

《VMAF 视频质量评估工具概述》 中对 Netflix 开源的视频质量评估工具有一个简单的介绍。 如果我们需要了解一个视频在转码过程中怎样的编码配置会产出最好的结果,我们需要尽可能获得一个比较高的分数 (0-100)。 安装 如果你之前没有安装 FFmpeg ,你可以先安装 FFmpeg; brew install ffmpeg 最新的版本已经默认启用 libvmaf 所以,你这样直接安装就好。如果想要自己构建的话,继续阅读下文。 我们要启用 libvmaf, 我们先 clone vmaf 项目。 git clone https://github.com/Netflix/vmaf.git 然后进入 ./libvmaf 目录,我们要 build libvmaf 。 meson build --buildtype release ninja -vC build 我们需要配置 ffmepg; git clone https://github.com/ 详情 »

查看详情

Web 播放 AV1 概述

前言 AV1 是 Google 协同 Netflix, Amazon, Huawei等知名公司所建 AOMedia 联盟推出的一款开放,免费的视频编码格式。而它的直接竞争对手便是目前也非常火热的 HEVC。本文将详细介绍 AV1 的由来和特点,以及如何转码和播放。 发展历史 音视频编解码发展已经有三十余年时间,其实发展的方向也就是两条: 更好的压缩率 更多的播放场景 很早以前我们只能在电视或者 DVD 上看,而现在我们更多的在移动设备或者浏览器上看视频。众所周知,H.264 目前依旧是现在非常主流的编解码方式,它由运动图像专家组开发发布,然而从最早1999年到现在,播放的形式已经千变万化,比如 HDR, 8K ,360° 视频等。为了满足当前的形式发展,H.265 诞生了,在视频压缩上更进一步。然而,不好的事 H.265 需要支付昂贵的专利费用,这是很多厂商无法接受的。 因此一些公司开始尝试别的视频格式,其中 Google VP9, 它是谷歌内部用来代替 H.264 详情 »

查看详情

寒冬将至

下了班,出门飘起了雪。这是来北方见过的最早的一次。路上可见路人兴奋的脚印,一步一步,温度还没跌破 0 ,雪花落在地上,持续不了多久,脚印也就停留那么一小会,看着飘着雪花的城市,此时此刻,是否也会记起南方的那些冬日。 前一阵子,回了南方。云南的冬日依旧那么暖和,似乎这个地方,一年四季都那么暖洋洋。不同的纬度感受着不同的气候时节。每每从北方的冬日穿越道南方的夏日,都会感受道机场那股扑面而来的暖风,虽然热情了点,但还是很喜欢。天气预报说着当地 29 度的体感温度,远远还是比印象中夏日的 29 度凉快些,傍晚沿着公园漫步,走着走着就偶尔会有几个寒颤,有了酒,听着旁边乐队的《New Boy》,似乎 2000 年不是那么远。 已然不记得 2000 年那是几岁的模样,在川的冬日难得遇见大雪,尤其书中的鹅毛大雪,又或是中丘道长初识郭靖父母雪夜,又或是豹子头山神庙的长夜。半夜醒来,表哥叫我出去看这漫天的大雪,半眯着眼,睡眼惺忪看着这一望无际的白,此时此刻,心理觉得是这辈子见过最美的雪。冬日不喜欢早起,尤其寒假,尤其还没有作业的寒假。睡醒已是太阳高挂上空的时候,好在雪依旧在, 详情 »

查看详情

【译】VMAF 视频质量评估工具概述

原文地址: https://medium.com/netflix-techblog/vmaf-the-journey-continues-44b51ee9ed12 本文是 Netflix 关于自家的 VMAF(Video Multi-method Assessment Fusion) 的介绍,它可以很好的去评估一个视频的质量通过借助人类视觉模型以及机器学习,它目前已经开源,并且集成在诸如 ffmpeg 这些第三方工具上。 by Zhi Li, Christos Bampis, Julie Novak, Anne Aaron, Kyle Swanson, Anush Moorthy and Jan De Cock Netlfix 是如何评估一个视频的质量的? 哪种视频的编码方式更好? Codec A 或者 Codec B? 对于这个剧集,1000 kbps 是否比 HD 分辨率更好,或者 SD(标清) 更好? 当我在从事提升 详情 »

查看详情

QUIC 对视频播放的影响

Google/QUIC, Quick UDP Internet Connections 是一种实验性的网络传输协议,位于OSI模型的传输层。由Google开发,在2013年实现。QUIC使用UDP协议,它在两个端点间创建连线,且支持多路复用连线。 现代 TCP 是在 RFC 793 中定义的,进过数十年的的实验,实践出来。它在 1981 年发布。HTTP Working Group 在2013开始关注 HTTP/2 的工作,他们聚焦到如何优化 HTTP 在 TCP 的使用上。他们尽可能的消除队头阻塞, 提升对连接的利用。HTTP/2 支持了多路复用,从而高效的利用 TCP 连接。但是 队头阻塞的问题并没有完全解决,因为包传输是有序的,于是 QUIC 为了克服这个问题,将 数据流层移至传输层,它在 UDP 之上构建了一个类似 TCP 详情 »

查看详情

【转】每天写点东西的一个好方法

虽然今年来文字少了很多,但自己依然还是很喜欢堆一些文字。读书时期读到了这篇文章《为什么到今天还要坚持写博客 》 ,相信这些文字更多能够给自己带来回忆也罢,力量也罢。今年转的这篇文章更多的是告诉大家如何写这些内容。 The T.L.C. Method 我一直鼓励身边的人写点东西,这是一个记录很发达的时代,也是一个特别健忘的时代,我们常常记不得上周在干嘛,上个月在干嘛,很多时候要翻下朋友圈才记的一些事情,但我们每天经历的事情,产生的感悟其实又很多,我们有太多的信息需要摄入和接受,以至于很多时候我们忽视了去感受当下,去用文字让当时的念想凝固。 不过,很多时候,我们有这个记录的想法,而我们却常常不知道如何下笔。我最近看到一个还不错的方法,大家可以借鉴下: The T.L.C. Method,也就是: Thank Learn Connect Thank -感恩 想想你今天应该感谢谁?这里的一个建议就是尽量把感谢的人和事情具体的写出来。 我们在城市里生活,每天都要靠大陌生人为我们服务,这些人默默的为我们提供着各种各样的服务,我们习以为常了,但我们可以发自内心的去体会他们的服务,记录某个让你感动的瞬间,让我们不失去对周围人的关注之心。 当然还有你的同事,你的朋友和你的家人,他们也许每天都在给你默默的一些帮助和鼓励,只是很多时候我们都活着自己的的世界里。 Learn - 学到了什么 详情 »