codecs专题

一文读懂Web Codecs API:浏览器背后的媒体魔术师

引言 ​在早期的Web 网页中,视频播放通常要依靠 Flash 和 Silverlight 等插件来完成,浏览器是不支持直接播放视频的。 随着网络技术的发展,视频这种媒体方式的需求变得普遍,HTML5中,出现了一个新的元素Video,使得我们可以不借助插件播放视频。 当然,它并不支持所有的格式,而且不同的浏览器厂商支持的格式也有所不同,为什么会出现只支持部分格式? ​ ​在 Web 中,能实

微信小程序播放编码为 video/mp4;codecs=vp8 opus 的视频没有声音

最近在做浏览器录屏功能,主要是录屏加上麦克风生成mp4视频,最终生成的是编码为 video/mp4;codecs=vp8 opus 的视频,音频编码因为是 opus 是无法在小程序正常播放的,这样就导致了视频没有声音。后来就在服务端做了一层转换,将音频的 opus 转为了 AAC 编码,这样在小程序端就可以正常播放了。转换是通过 FFmpeg 转换的,但是转换的时候因为视频编码为 vp8,转换为

Python3 codecs库基本使用

编码与解码: 用到的库codecs 例子: >>>raw_string = codecs.encode("我能吞下玻璃而不伤害身体", "gb2312")>>> raw_string>>>b'\xce\xd2\xc4\xdc\xcd\xcc\xcf\xc2\xb2\xa3\xc1\xa7\xb6\xf8\xb2\xbb\xc9\xcb\xba\xa6\xc9\xed\xcc\xe5'>>>

【Codecs系列】双帧参考特性

Date: 2017/9/9      所谓的双帧参考,就是普通的P帧有两个参考帧,一个长期参考(IDR帧)和一个短期参考(P帧)。这种帧的参考结构可以充分利用视频的时域相关性,提高视频压缩效率。      优点:为运动对象遮挡住的背景区域找到更好的参考块,提高预测精度,但同时也增加了系统复杂度。      SmartP的帧结构中采用了双帧参考,长期参考的GOP帧结构。

【Codecs系列】CABAC熵编码详解

Date: 2018.5.9 转载自:https://blog.csdn.net/listener51/article/details/60970635 目录 1. 信息熵的概念 2. 定长编码 3. 变长编码 3.1 哈夫曼编码 3.2 算术编码  3.2.1 传统编码方法 3.2.2 算术编码 3.2.3 二进制算术编码 4. CABAC编码 4.1 上下文变量的初

【Codecs】JPEG原理详解

###Date: 2018.4.22 =========================================================== JPEG 是 Joint Photographic Experts Group 的缩写,即 ISO 和 IEC 联合图像专家组,负责静态图像压缩标准的制定,这个专家组开发的算法就被称为 JPEG 算法,并且已经成为了大家

【Codecs系列】VLC开源播放器以及源码编译

Date: 2018.5.31 文章目录 1、参考:2、VLC简介3、VLC源码编译:3.1 Windows平台编译3.2 Linux平台编译 1、参考: http://xhc66.iteye.com/blog/797291 2、VLC简介 VLC 是一款自由、开源的跨平台多媒体播放器及框架,可播放大多数多媒体文件,以及 DVD、音频 CD、VCD 及各类流媒体协议

【Codecs系列】xAVS2编解码器编译、运行以及编码效率测试

Date: 2018/6/23 目录 1、参考 2、AVS2相关代码下载地址 3、xAVS2编解码器的编译和运行 2018.9.24   </

【Codecs系列】H264码流SPS解析实现

Date: 2018.9.10 #include <stdio.h>#include <stdlib.h>#include <stddef.h>#include <cstring>#include <iostream>#include <string.h>

【Codecs系列】mpeg1、mpeg2和mpeg4标准对比分析和总结

Date: 2018.11.2 mpeg1、mpeg2和mpeg4标准对比 0、参考 (1). MPEG2、MPEG4、H264的差异和简介 (2). MPEG-2标准总结文档 (3). mpeg1、mpeg2与mpeg4码流结构区别分析 (4). MPEG-2与MPEG-1和H.261、H.264标准技术(工具集)区别分析 (5). JPEG、MPEG-1、MPEG-2和MPEG-4编

【Codecs系列】音视频编解码开源项目大汇总

DATE: 2018.12.30 文章目录 1、参考2、前言3、常用的音视频开源项目3.1、huffyuv3.2、Lame3.3、 ffmpeg3.4、webrtc3.5、live5553.6、x2643.7、Xvid3.8、x2653.9 OpenHEVC3.10、libvpx3.11、AV13.12、libmpeg2

【Codecs系列】AMBA CV22芯片编码流程

DATE: 2019-9-1 AMBA CV22编码流程: 建立netlink通信:目的是开启idsp,vdsp及其与arm之间的通信;打开IAV和ucode设备;系统初始化:IAV进入IDLE状态,进行Buffer,canvas和stream配置,IAV进入Preview状态。设置编码参数:在启动编码配置静态编码参数(编码器类型设置,码率控制参数初始化,GOP初始化),编码启动之后设置动

【Codecs系列】颜色空间转换CSConvert:YUV420P转YUV422P

DATE: 2019.9.1 YUV420P转YUV422P #include <stdio.h>#include <stdlib.h>#include <string.h>int main(int argc, char** argv){

【Codecs系列】JPEG/BMP2YUV

DATE: 2019-8-11 说明: 将JPEG图片转换成YUV,实际上就是JPEG解码过程。 记录一下,后面需要时再进行详细整理。 参考: https://github.com/Piao3Yeh/BMP2YUV https://github.com/icefreedom/jpeg2yuv

【Codecs系列】芯片PPA问题

PPA在芯片定义时的考虑 https://blog.csdn.net/aresxue/article/details/104947310

【Codecs系列】视频质量评价指标:VMAF

DATE: 2020.8.21 文章目录 Netflix: VMAF 视频质量评价工具简介 https://blog.csdn.net/yue_huang/article/details/79503884

【Codecs系列】H.264参考帧队列管理机制:初始化、重排序和标记

DATE: 2021.1.10 文章目录 1、参考2、参考帧列表和DPB3、参考帧列表RPL初始化3.1、P帧排序3.2、B帧排序 4、参考帧列表重排序 Reordering4.1、为什么要重排序?4.2、重排序过程 5、参考帧列表标记过程 Marking5.1、为什么要标记?5.2、标记过程 1、参考 H.264多参考帧管理</

【Codecs系列】视频会议中的AV1编解码器

https://blog.webex.com/engineering/the-av1-video-codec-comes-to-webex/

【Codecs系列】libpng库的安装和使用

DATE: 2020.12.6 文章目录 1、官网下载和介绍2、libpng安装3、使用方法 1、官网下载和介绍 libpng官网 最新Release版本: libpng-1.6.37 PNG (Portable Network Graphics):可便携网络图片 2、libpng安装 libpng的安装之前需要先安装zlib,网址如下: http://ww

【Codecs系列】硬件编码器编码参数分析

DATE: 2020.11.19 文章目录 1、参考2、编码参数2.1、静态属性参数2.2、动态属性参数2.3、重要功能2.4、应用场景 1、参考 【Codecs系列】硬件编码器主要特性参数汇总 2、编码参数     编码通道属性分为动态属性和静态属性两种。其中,动态属性的属性值在通道创建时配置,在通道销毁之前可以被修改;静态属性的属性值在通道创建时配置,在通道

【Codecs系列】H.266开源编解码器:vvenc和vvdec介绍

DATE: 2021.8.11 文章目录 前言1、VVenC介绍2、VVenc和VVdec开源地址3、VVenC编译和运行命令3.1、编译方法3.2、运行命令行 4、VVenC如何使用Lowdelay P配置编码? 前言 VVC(Versatile Video Coding)是由MPEG和ITU-T共同开发的最新一代视频编码标准,相比于HEVC(High Efficien

【Codecs系列】YUV处理工具系列汇总

DATE: 2019-7-13 本文目录 0、前言1、YUV水平拼接2、YUV文件拼接3、YUV裁剪4、YUV分割(帧率扩倍)5、YUV文件比较(一致性验证)6、FFMPEG命令行YUV处理7、github开源地址 0、前言 本文包括了YUV处理的一些实用小工具,比如YUV图像水平拼接,YUV文件拼接,YUV裁剪,分割,YUV文件比较等。 1、YUV水平拼接 【Code

【Codecs系列】颜色空间转换CSConvert系列汇总

DATE: 2019-7-9 文章目录 1、颜色空间转换CSconvert系列功能汇总2、开源地址 1、颜色空间转换CSconvert系列功能汇总 【Codecs】颜色空间转换CSconvert:I420转NV12 【Codecs】颜色空间转换CSconvert:YUV420转YUV444 【Codecs】颜色空间转换CSconvert:YUV420PtoRGB24

【Codecs系列】MPEG-2标准总结文档

Date: 2018.10.24 文章目录 0、前言1、MPEG-2简介2、档次和级别 (Profile && Level)3、码流的分层结构3.1、Video Sequence 视频序列3.2、Group of Pictures(GOP) 图像组3.3、逐行序列和隔行序列3.4、Picture 图像3.5、Slice 条带(块组)3.6、Macroblock 宏块3.7、Block

with open() as和codecs.open()

基础读文件 传统读取文件的方法是先使用Python内置的open函数打开文件,然后标示符’r’表示读,这样,我们就成功地打开了一个文件,获得到一个f文件句柄 f = open('test.txt','r') 如果文件打开成功,接下来,调用read()方法可以一次读取文件的全部内容 f.read() # 'hello world' Python把内容读到内存,用一个str字符串表示