『音视频技术开发周刊』由LiveVideoStack团队出品,专注在音视频技术领域,纵览相关技术领域的干货和新闻投稿,每周一期。
策划 / LiveVideoStack
架构
Hulu 视频QoS优化策略 QoS直接关系到用户体验,如何提升QoS就成为视频平台技术实力的体现。本文来自Hulu全球高级研发经理、视频编解码与传输领域资深专家傅徳良在LiveVideoStackCon 2017上的分享。尽管Hulu提供服务的网络环境与国内大相径庭,但其相关QoS保障策略依然值得借鉴。 微博短视频服务优化实践 本文来自新浪微博视频转码平台技术负责人李成亚在LiveVideoStackCon 2017上的分享,由LiveVideoStack整理成文。李成亚分享了微博短视频如何提升用户体验、降低成本的思路与实践,包括提升短视频发布速度,降低长视频转码时间,通过新的Codec减少带宽成本等。 熊猫TV直播H5播放器架构探索 本文来自熊猫TV音视频技术专家姜雨晴在LiveVideoStackCon 2017上的分享,并有LiveVideoStack整理成文。当下,打造一款播放器已经有比较好的开源实现,但熊猫TV为什么还要自研一款H5播放器呢?为了保证业务持续扩展能力,需要对播放器做解耦。同时,在播放器上线初期还遇到了音画不同步、故障定位、客户端性能不足等问题。 Dubbo源码分析 -- 远程通信 Netty Dubbo 做为 RPC 框架,需要进行跨 JVM 通信,要保证高性、稳定的进行远程通信。Dubbo 底层通信选择了 Netty 这个 NIO 框架做为默认的网络通信框架并且通过自定义协议进行通信。 中国电信发布全球首份5G技术白皮书 2018年6月26日,中国电信在2018上海世界移动大会(MWCS)上发布了《中国电信5G技术白皮书》,这也是全球MNO运营商首次发布全面阐述5G技术观点和总体策略的白皮书。 音频开源代码中重采样算法的评估与选择 在音频软件实现中经常会遇到两个模块采样率不一致的情况,比如语音通话时采集到的PCM信号是16k Hz的,但编码时codec是AMR-NB(AMR-NB是8k Hz采样),这时就需要把16k Hz采样的PCM值转换成8k Hz采样的PCM值(这叫降采样或者下采样),然后再去做AMR-NB编码。本文介绍如何评估开源代码里的重采样实现以及选择最适合的实现。
音频/视频技术
Google 实时流拥塞控制算法GCC x1wan GCC是google实时流拥塞控制算法的简称,已经在WebRTC中实现,应用于Chrome,后面将应用到Hangouts(视频聊天产品)中,主要用于视频流的拥塞控制。 FFmpeg中的scale和crop参数 FlyingPenguin FFmpeg中的libavfilter提供了一整套的基于filter的机制。filter本身是一个插件的形式,可以快速的组装需要的效果。本文简单介绍了通过filter实现视频的水平镜像效果。 iOS中获取音频流并提取pcm CNon 本文简要介绍了两种不同的原始音频流获取方式 AVCaptureSession、AudioUnit,以及如何从AudioUnit获取的原始数据中提取pcm。 用getDisplayMedia实现在Chrome中共享屏幕 Chrome网上商店已决定停止允许Chrome扩展程序的内联安装。这对WebRTC应用程序有相当大的影响,因为Chrome中的屏幕共享目前还需要扩展程序。getDisplayMedia能来解决这个问题吗?本文来自appear.in的WebRTC工程师Philipp Hancke,LiveVideoStack对文章进行了摘译。
编解码
基于镜头的编码 基于镜头的编码比基于主题的编码带来更高的编码效率,由于对内容感知的粒度更加细,这种改变的结果显而易见。然而,更细粒度的编码也会带来更高的负责度,比如在AWS环境中,在基础设施服务失效的情况下,如何最大限度的保留已编码的成果,从而减少重复编码工作。本文来自Netflix的科技博客,LiveVideoStack对原文进行了摘译。 视频编码步入更压缩高性能时代 目前,针对海量多媒体数据的压缩和处理,特别是VR和HDR视频数据,开发并提出新的高性能codec及处理方案是多媒体通信应用行业共同面临的难题。MPEG已经开始着手更新一代视频编解码标准VVC的制定,视频压缩性能有望进一步大幅提高。在此背景下,本文简要梳理一下当前针对大规模多媒体数据的高效压缩技术。 用 JavaScript 编写 MPEG1 解码器 柒缘生活吧 本文主要介绍了用JavaScript编写MPEG1解码器的开发过程中的一系列问题:JSMpeg中实现音频流传输的逻辑组件构成及流程,MPEG内部的YUV格式转换等。 UIImage图片解码的性能优化 吴家十三少 用 UIImage 或 CGImageSource 的那几个方法创建图片时,图片数据并不会立刻解码。图片设置到 UIImageView 或者 CALayer.contents 中去,并且 CALayer 被提交到 GPU 前,CGImage 中的数据才会得到解码。本文主要介绍了图片解码时产生的性能问题及优化。 Android音视频系列:H264视频编码介绍 本文从配置编码参数、输入要编码的图像帧、编码数据生成等方面介绍了使用X264开源库编码的H264视频编码技术。
AI智能
简单初始化,训练10000层CNN 如何快速简单地训练神经网络?谷歌大脑研究人员研究了CNN的可训练性,提出了一种简单的初始化策略,不需要使用残差连接或批标准化,就能训练10000层的原始CNN。作者表示,他们的这项工作清除了在训练任意深度的原始卷积网络时存在的所有主要的障碍。 步态识别的深度学习:综述 步态是人在行走过程中姿态的变化.不同于人脸、指纹、虹膜等, 步态是唯一可在远距离非受控状态下获得的生物特征.步态识别指利用步态信息对人的身份进行识别的技术,当前关于步态识别方面的研究综述主要围绕在相关手工特征建模和传统机器学习(非深度学习)的识别算法上. 卷积神经网络的压缩和加速 本文介绍了比较常见的4种卷积神经网络压缩和加速方法,其中网络裁枝与低秩估计的方法从矩阵乘法角度,着眼于减少标量乘法和加法个数来实现模型压缩和加速的;而模型量化则是着眼于参数本身,直接减少每个参数的存储空间,提升每次标量乘法和加法的速度,从而实现模型的压缩和加速;模型蒸馏方法却是从宏观结构入手,直接构造了结构简单,参数少的小网络,将难点转移成对小网络的训练上。 场景文本检测—CTPN算法介绍 对于复杂环境中的字符的识别,主要包括文字检测和文字识别两个步骤,这里介绍的CTPN(Detecting Text in Natural Image with Connectionist Text Proposal Network)方法就是在场景中提取文字的一个效果较好的算法,能将自然环境中的文本信息位置加以检测。
图像
腾讯优图CVPR 2018论文:图片去模糊及快速肖像处理等多项技术解读 在慢速曝光或快速运动拍摄照片时,图像模糊常常困扰着照片拍摄者。腾讯优图实验室的新算法,可以处理非特定场景中的图片模糊。算法基于一种被称为「动态模糊」的模糊模型假设。 使用 MATLAB 图像处理算法,视频实时加持蓝天背景 本文将以色度键控效果为例,介绍在嵌入式硬件上部署 MATLAB 图像处理算法的简单工作流。我们将使用 MATLAB Coder™ 通过算法生成C代码,然后使用在硬件上运行的实用程序在 Raspberry Pi 板卡上进行算法原型验证。最后,我们将算法移植至 NVIDIA Jetson Tx1 平台以保证实时性能。