【编解码格式】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

相关文章

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 第一节:嵌入方程的类比与核心概念【尽可能通俗】 嵌入方程可以被看作是自然语言处理中的“翻译机”,它将文本中的单词或短语转换成计算机能够理解的数学形式,即向量。 正如翻译机将一种语言

flume系列之:查看flume系统日志、查看统计flume日志类型、查看flume日志

遍历指定目录下多个文件查找指定内容 服务器系统日志会记录flume相关日志 cat /var/log/messages |grep -i oom 查找系统日志中关于flume的指定日志 import osdef search_string_in_files(directory, search_string):count = 0

easyui同时验证账户格式和ajax是否存在

accountName: {validator: function (value, param) {if (!/^[a-zA-Z][a-zA-Z0-9_]{3,15}$/i.test(value)) {$.fn.validatebox.defaults.rules.accountName.message = '账户名称不合法(字母开头,允许4-16字节,允许字母数字下划线)';return fal

GPT系列之:GPT-1,GPT-2,GPT-3详细解读

一、GPT1 论文:Improving Language Understanding by Generative Pre-Training 链接:https://cdn.openai.com/research-covers/languageunsupervised/language_understanding_paper.pdf 启发点:生成loss和微调loss同时作用,让下游任务来适应预训

Java基础回顾系列-第七天-高级编程之IO

Java基础回顾系列-第七天-高级编程之IO 文件操作字节流与字符流OutputStream字节输出流FileOutputStream InputStream字节输入流FileInputStream Writer字符输出流FileWriter Reader字符输入流字节流与字符流的区别转换流InputStreamReaderOutputStreamWriter 文件复制 字符编码内存操作流(

Java基础回顾系列-第五天-高级编程之API类库

Java基础回顾系列-第五天-高级编程之API类库 Java基础类库StringBufferStringBuilderStringCharSequence接口AutoCloseable接口RuntimeSystemCleaner对象克隆 数字操作类Math数学计算类Random随机数生成类BigInteger/BigDecimal大数字操作类 日期操作类DateSimpleDateForma

Java基础回顾系列-第三天-Lambda表达式

Java基础回顾系列-第三天-Lambda表达式 Lambda表达式方法引用引用静态方法引用实例化对象的方法引用特定类型的方法引用构造方法 内建函数式接口Function基础接口DoubleToIntFunction 类型转换接口Consumer消费型函数式接口Supplier供给型函数式接口Predicate断言型函数式接口 Stream API 该篇博文需重点了解:内建函数式