【编解码格式】DivX系列、XviD

2023-10-22 02:04

本文主要是介绍【编解码格式】DivX系列、XviD,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

DivX

DivX是DivX公司(前身是DivX Networks公司)的著名品牌,一种MPEG-4技术视频编解码器。该公司2007年秋以2200万美元收购德国Main Concept。

DivX将encore2的代码继续发展成DivX 4.0,于2001年7月推出。至于曾有份参与OpenDivX的开发人员,则用encore2的代码开发相同核心的开放源码版本。DivX公司则继续发展DivX编解码器,于2002年3月推出DivX 5.0。

于2010年10月,DivX公司被Sonic Solutions收购。并于2011年2月,因Sonic Solutions被Rovi公司收购而成为旗下企业。

DivX 6通过添加称为“DivX媒体格式”(DMF)[1](带有.divx副档名)的可选媒体封装格式,扩展了DivX在编解码器和播放器中的范围。

  • 2009年1月6日,DivX7发布,其中增加的H.264视讯,AAC格式音讯和Matroska容器支援,大大改善了原来的格式限制[2]。
  • 2013年9月5日,DivX 10.0发布,其中提供了DivX HEVC Plug-in,成为第一家为HEVC提供免费的影片播放器和影片转换器的软体厂商,启用后即可拨放或将其他格式影片转换为HEVC影片。[3]

XviD

Xvid(旧称为XviD)是一个开放原始码的MPEG-4影像编解码器,是由一群原OpenDivX开发者在OpenDivX于2001年7月停止开发后自行开发的。

Xvid支持量化(Quantization)、范围控制的运动侦测(Motion Search)、码率曲线分配(Curve)、动态关键帧距(I-frame interval)、心理视觉亮度修正、演职员表选项、外部自定义控制、运动向量加速(Hinted ME)编码、画面优化解码等众多编码技术,对用户来说功能十分强大。

Xvid的主要竞争对手是DivX。但Xvid是开放原始码的,而DivX则只有免费(不是自由)的版本和商用版本。

在以往,个人电脑只能使用微软开发的MPEG-4 Codec,即MS MPEG4 V1、MS MPEG4 V2、MS MPEG4 V3的系列编码核心,不过只能使用在ASF文件,文件格式是封闭的,因此有些黑客将其改写为著名的MPEG4 Codec DivX 3.11。

但问题是,DivX 3.11的基础技术是非法盗用微软的,无法进行更广泛的产品化及生产硬件播放机。因此,一些精通影像编码的工程师(包括原DivX 3.11的开发者)成立了一家名为DivX Networks Inc.的公司,简称DXN。他们主导了完全符合ISO MPEG4标准的Open DivX CODEC的开发,并吸引了许多软件高手参与。这时,主要的编程工作是由DXN来做,但很多技术上的难题却是由开放原始码社群帮忙解决。

但因为整个计划并不是根据GPL开发的,而是LGPL,因此在Open DivX即将成形时,DXN借此漏洞将其闭源,结果使众多开放原始码社群的义工感到被出卖。也是因为这个原因,整个0day组织永远的拒绝了DXN公司的DivX格式。

而原OpenDivX计划的义工最后决定在最后一个Open DivX版本的基础上,编写XviD(将DivX反过来写)以继续原Open DivX的目的。

大约1年后,Xvid计划的开发者重写了所有代码,并依照GPL发布(而不再是LGPL,所以谁要是想用它做成产品而不开放原始码是非法的)。但因为某些国家如美国,日本有软件专利法,使得其在该地区可能出现法律纠纷。因此,在过去Xvid官方网站只提供原始码下载,用户只可由第三方网站下载编译的可执行文件。

参考

1、DivX - 维基百科,自由的百科全书

2、DIVX - 抖音百科

3、Xvid - 维基百科,自由的百科全书

这篇关于【编解码格式】DivX系列、XviD的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/258393

相关文章

Python中Windows和macOS文件路径格式不一致的解决方法

《Python中Windows和macOS文件路径格式不一致的解决方法》在Python中,Windows和macOS的文件路径字符串格式不一致主要体现在路径分隔符上,这种差异可能导致跨平台代码在处理文... 目录方法 1:使用 os.path 模块方法 2:使用 pathlib 模块(推荐)方法 3:统一使

Java中使用注解校验手机号格式的详细指南

《Java中使用注解校验手机号格式的详细指南》在现代的Web应用开发中,数据校验是一个非常重要的环节,本文将详细介绍如何在Java中使用注解对手机号格式进行校验,感兴趣的小伙伴可以了解下... 目录1. 引言2. 数据校验的重要性3. Java中的数据校验框架4. 使用注解校验手机号格式4.1 @NotBl

Python批量调整Word文档中的字体、段落间距及格式

《Python批量调整Word文档中的字体、段落间距及格式》这篇文章主要为大家详细介绍了如何使用Python的docx库来批量处理Word文档,包括设置首行缩进、字体、字号、行间距、段落对齐方式等,需... 目录关键代码一级标题设置  正文设置完整代码运行结果最近关于批处理格式的问题我查了很多资料,但是都没

基于Python开发PDF转Doc格式小程序

《基于Python开发PDF转Doc格式小程序》这篇文章主要为大家详细介绍了如何基于Python开发PDF转Doc格式小程序,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 用python实现PDF转Doc格式小程序以下是一个使用Python实现PDF转DOC格式的GUI程序,采用T

Python如何实现读取csv文件时忽略文件的编码格式

《Python如何实现读取csv文件时忽略文件的编码格式》我们再日常读取csv文件的时候经常会发现csv文件的格式有多种,所以这篇文章为大家介绍了Python如何实现读取csv文件时忽略文件的编码格式... 目录1、背景介绍2、库的安装3、核心代码4、完整代码1、背景介绍我们再日常读取csv文件的时候经常

使用C++将处理后的信号保存为PNG和TIFF格式

《使用C++将处理后的信号保存为PNG和TIFF格式》在信号处理领域,我们常常需要将处理结果以图像的形式保存下来,方便后续分析和展示,C++提供了多种库来处理图像数据,本文将介绍如何使用stb_ima... 目录1. PNG格式保存使用stb_imagephp_write库1.1 安装和包含库1.2 代码解

IDEA如何将String类型转json格式

《IDEA如何将String类型转json格式》在Java中,字符串字面量中的转义字符会被自动转换,但通过网络获取的字符串可能不会自动转换,为了解决IDEA无法识别JSON字符串的问题,可以在本地对字... 目录问题描述问题原因解决方案总结问题描述最近做项目需要使用Ai生成json,可生成String类型

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

科研绘图系列:R语言扩展物种堆积图(Extended Stacked Barplot)

介绍 R语言的扩展物种堆积图是一种数据可视化工具,它不仅展示了物种的堆积结果,还整合了不同样本分组之间的差异性分析结果。这种图形表示方法能够直观地比较不同物种在各个分组中的显著性差异,为研究者提供了一种有效的数据解读方式。 加载R包 knitr::opts_chunk$set(warning = F, message = F)library(tidyverse)library(phyl

【生成模型系列(初级)】嵌入(Embedding)方程——自然语言处理的数学灵魂【通俗理解】

【通俗理解】嵌入(Embedding)方程——自然语言处理的数学灵魂 关键词提炼 #嵌入方程 #自然语言处理 #词向量 #机器学习 #神经网络 #向量空间模型 #Siri #Google翻译 #AlexNet 第一节:嵌入方程的类比与核心概念【尽可能通俗】 嵌入方程可以被看作是自然语言处理中的“翻译机”,它将文本中的单词或短语转换成计算机能够理解的数学形式,即向量。 正如翻译机将一种语言