个人日志

Google Chrome 86 更新了—已全面阻止非HTTPS混合内容

2020年10月,Google 即将发布正式更新的Chrome浏览器86新版本。此次更新除了扩展该工具的实用性之外,最重要的一点的是将全面阻止所有非HTTPS混合内容的下载。

chromesecuredownloads.jpg

早在今年2月,Google 在Chromium博客发文称,为了增强下载防护体验,Chrome浏览器将开始阻止非“安全超文本传输协议” 的混合内容下载(即安全页面上非HTTPS下载),进一步确保安全性,直至最终完全取消对 Chrome 中不安全下载的支持。…

        

使用FFMPEG生成HLS

使用FFmpeg生成HLS

 

HLS也就是HTTP Live Streaming,是苹果出的一个基于HTTP的流媒体通信协议。字面意思有个live,也就是直播相关的。其实HLS可以分为点播以及直播两种。后面具体说两者在处理上有什么区别。目前HLS在RFC上还只是草案,并且一直不断更新,发现ffmpeg对于HLS的实现,不同版本的实现对应rfc版本也不一样,最新版本的,对应的HLS RFC草案规范也比较新(追新并不一定好,有些设备对于新版本的规范支持还不是很完整,可能会有播放失败的问题,所以如果需要正常使用,选择一个稳定的版本即可)。rfc的草案现在到了16版本。由于项目比较敢,这规范其实我看的不多。

HLS对于音视频是有编码要求的,HLS要求视频必须是H264协议,H264是目前最流行也是最成熟的视频编解码方案了。而在音频上,则要求为MP3, HE-AAC或AC-3这三种格式。在转换成HLS流后,会生成多个的TS文件。如果是点播的话,则是对视频文件进行TS的切片处理,一般情况下,每个TS文件的播放时间为10秒。但这并不是固定的,切片的多少,这是会影响直播的延迟情况。这个后面会稍微做一些说明。

HLS会生成一个m3u8的播放文件。这个播放文件可以通过VLC等一些播放器直接播放。现在大部分手机也支持HLS了,所以手机也是可以进行对HLS的直播或点播进行观看。但是目前的桌面端浏览器尚未完全支持HTML5的HLS播放,大部分直播还是依赖flash player进行封装直播(据说国内的很多视频站有自己的播放技术)。这边主要讨论的并非是桌面端,主要还是移动端的支持。

现在简单说一下m3u8文件。以下是由ffmpeg生成的一个直播的m3u8文件:

    

《相对论 · 上》—— 过去,现在,未来是同时存在的吗?

If you pay attention, this episode is going to blow your mind.

—— Gabe Perez-Giz, PBS Spacetime

The distinction between past, present and future, is only an illusion, however persistent.

—— Albert Einstein

这是一篇有关《相对论》的文章,在这篇文章中,我想跟大家讨论两个非常有趣的话题,第一个就是上面的那句爱因斯坦亲口说过的话 —— 过去,现在,未来,是同时存在的。如果你觉得已经没有什么话题可以比它更加颠覆常识的话,那么看看第二个话题吧:牛顿认为,苹果从树上掉下来是因为苹果受到了地球的引力。而爱因斯坦则认为,不是苹果从树上掉下来撞到了地球,而是地球从下面升上去撞到了苹果。

有没有吓跑你?哈哈!如果你还在这儿的话,让我们开始吧!

十九世纪的最后一天,欧洲的科学家们欢聚一堂。会上,英国著名物理学家开尔文男爵发表了新年祝词,他在回顾物理学所取得的伟大成就时说:物理学的大厦已经落成,所剩的只是一些修饰工作,但是在经典物理学阳光灿烂的天空中,漂浮着两朵乌云。

第一朵是迈克耳逊

为什么程序员一定要会用Google和Stack Overflow?

作为程序员,用Google比用百度更节省时间,此话不假。

在法国工作也有4年了,加上之前的两个6个月的实习,勉强算“5年”工作经历吧…

虽说我离编程大牛还相距甚远,但是:

这些年编程的一个很深的感触就是:95%的问题都可以在Google和Stack Overflow找到答案。

真的能达到95%吗?达不到怎么办呢?

我觉得很多时候不是Google或Stack Overflow的问题,而是不少朋友不太懂得如何快速有效地搜索到有用的信息,可以参看下面这篇知乎的帖子:…

软件工程师头衔的那些事儿

职业软件工程师的世界里有着各种各样的头衔和等级。老板们用具有各种头衔代表各种不同技能的人搭配组建开发团队,在招聘员工时用它们来吸引相应级别的求职者,用它来描绘诱人的职业仕途,用它来制定薪酬方案。然而,很多公司的各种职位头衔并不一致,使得这套官衔制度不是很容易理解,尤其是对那些年轻的程序员而言。…