近日,开源编解码库项目FFmpeg迎来20周年生日。

2000.12.20-2020.12.20

可能很多人对于FFmpeg不是特别了解,那么以下几个名字是否大家或多或少都用过呢?

暴风影音、PotPlayer、KMPlayer、WinxDvd

这些播放器是不是让大家想起年轻时候看小电影的情景呢?

FFmpeg是一个和视频处理相关的开源项目,包含了丰富的多媒体解码库,这些大家常用的熟识的播放器,有良好的功能体验,是源自几乎每款都使用了FFmpeg的源代码,所以,大家明白了吧,我们能看到那么多好看的小电影,其实最该感谢的就是FFmpeg。

FFmpeg不仅被大量免费软件使用,同时使用的,还有很多大型公司,例如YouTube、iTunes等。

20年的风风雨雨,FFmpeg一路走来也是经历过不少挫折,在2011年 FFmpeg 就因为核心成员意见不一导致分裂,差点最终导致整个项目消亡殆尽。最终的结果就是,项目创始人法布里斯贝拉选择了离开FFmpeg,但是随后他与其他一起出走的开发者创建另一知名开源编解码库项目Libav。

FFmpeg和 Libav ,就像南慕容和北乔峰一样,是当下所有主流播放器必备的编解码库,并且这些编解码库全部开源可免费使用无需额外付费。

不过,虽然说是免费使用,但FFmpeg是基于LGPL/GPL开源的,这意味着如果某软件使用了FFmpeg的代码,那么这个软件涉及这些代码的部分,也必须开源,并且需要在使用其项目源代码和编解码库时注明来源。但是有些软件呢连这个都不想去遵守。于是FFmpeg诞生了另一个让众多圈内人士耳熟能详的内容:

耻辱柱

FFmpeg会将发现的那些不遵守开源协议的软件公诸于世,虽然没有物质上的惩罚,但是耻辱柱更多的是一种精神层面的降维打击,提醒着大家要奉公守法!

很不幸,我们熟知的暴风影音等软件也在耻辱柱内。

最后,我们一起来看下耻辱柱的内容吧

* alive, issue tracker entry
* Alloksoft, issue tracker entry
* AMR Player, issue tracker entry
* Aplus Video Converter, issue tracker entry
* Applian Replay Converter, issue tracker entry
* AVCWare, issue tracker entry
* AVS Video Converter, issue tracker entry
* Aya Media Techologies, issue tracker entry
* Baofeng Storm, issue tracker entry
* CinemaForge, issue tracker entry
* Conceiva Mezzmo, issue tracker entry
* Doremi Asset Manager, issue tracker entry
* DownloadHelper ConvertHelper, issue tracker entry
* DVDFab, issue tracker entry
* DVDxDV, issue tracker entry
* EffectMatrix Software, issue tracker entry
* Eztoo, issue tracker entry
* Format Factory, issue tracker entry
* FreeTime Soft, issue tracker entry
* GeoVid, issue tracker entry
* GetFLV, issue tracker entry
* GOM Player, issue tracker entry
* H264Encoder.com, issue tracker entry
* iSkysoft, issue tracker entry
* The KMPlayer, issue tracker entry
* Koyote Software, issue tracker entry
* Livestation, issue tracker entry
* MasterSoft Inc., issue tracker entry
* MediaCoder, issue tracker entry
* Moyea, issue tracker entry
* MP4Converter, issue tracker entry
* Netgem, issue tracker entry
* Opell Video Converter Pro, issue tracker entry
* PowerPoint DVD Converter, issue tracker entry
* PresenterSoft, issue tracker entry
* Red Kawa, issue tracker entry
* Rhozet Carbon Coder, issue tracker entry
* Senstic Air TV, issue tracker entry
* ShenZhen Hawell, issue tracker entry
* SkypeCap, issue tracker entry
* Soft Service, Ltd. FlashCam, issue tracker entry
* Video Convert Master, issue tracker entry
* ViO mobile video converter, issue tracker entry
* WisMencoder, issue tracker entry
* Xilisoft Video Converter, issue tracker entry
* XMedia Recode, issue tracker entry
* ZoIPer, issue tracker entry

有没有你平时常用的播放器上榜了呢?

欢迎关注我的公众号:程序猿DD,获得独家整理的免费学习资源助力你的Java学习之路!另每周赠书不停哦~

开源编解码项目FFmpeg迎来20周年生日 凭一己之力养活全球无数播放器!的更多相关文章

  1. EasyDarwin开源音频解码项目EasyAudioDecoder:基于ffmpeg的安卓音频(AAC、G726)解码库(第一部分,ffmpeg-android的编译)

    ffmpeg是一套开源的,完整的流媒体解决方案.基于它可以很轻松构建一些强大的应用程序.对于流媒体这个行业,ffmpeg就像圣经一样的存在.为了表达敬意,在这里把ffmpeg官网的一段简介搬过来,ff ...

  2. EasyDarwin开源音频解码项目EasyAudioDecoder:EasyPlayer Android音频解码库(第二部分,封装解码器接口)

    上一节我们讲了如何基于ffmpeg-Android工程编译安卓上的支持音频的ffmpeg静态库:http://blog.csdn.net/xiejiashu/article/details/52524 ...

  3. FFmpeg的使用——PHP转换视频、截取视频以及JW Player播放器控制

    转载:http://blog.csdn.net/zm2714/article/details/7916440 给朋友做的一个项目中,涉及到上传视频.转换视频.自动截取已上传视频内容中的一帧做为缩略图片 ...

  4. 视频编解码---x264用于编码,ffmpeg用于解码

    项目要用到视频编解码,最近半个月都在搞,说实话真是走了很多弯路,浪费了很多时间.将自己的最终成果记录于此,期望会给其他人提供些许帮助. 参考教程: http://ffmpeg.org/trac/ffm ...

  5. [总结]FFMPEG视音频编解码零基础学习方法--转

    ffmpeg编解码学习   目录(?)[-] ffmpeg程序的使用ffmpegexeffplayexeffprobeexe 1 ffmpegexe 2 ffplayexe 3 ffprobeexe ...

  6. FFMPEG视音频编解码零基础学习方法-b

    感谢大神分享,虽然现在还看不懂,留着大家一起看啦 PS:有不少人不清楚“FFmpeg”应该怎么读.它读作“ef ef em peg” 0. 背景知识 本章主要介绍一下FFMPEG都用在了哪里(在这里仅 ...

  7. [总结]FFMPEG视音频编解码零基础学习方法

    在CSDN上的这一段日子,接触到了很多同行业的人,尤其是使用FFMPEG进行视音频编解码的人,有的已经是有多年经验的“大神”,有的是刚开始学习的初学者.在和大家探讨的过程中,我忽然发现了一个问题:在“ ...

  8. 【转】[总结]FFMPEG视音频编解码零基础学习方法

    在CSDN上的这一段日子,接触到了很多同行业的人,尤其是使用FFMPEG进行视音频编解码的人,有的已经是有多年经验的“大神”,有的是刚开始学习的初学者.在和大家探讨的过程中,我忽然发现了一个问题:在“ ...

  9. [转载] FFMPEG视音频编解码零基础学习方法

    在CSDN上的这一段日子,接触到了很多同行业的人,尤其是使用FFMPEG进行视音频编解码的人,有的已经是有多年经验的“大神”,有的是刚开始学习的初学者.在和大家探讨的过程中,我忽然发现了一个问题:在“ ...

随机推荐

  1. 等待多线程完成的CountDownLatch(带示例)

    开始磨刀霍霍向多线程了,这期是 CountDownLatch 的一个小示例. 定义:CountDownLatch 允许一个或多个线程等待其他线程完成操作. 应用需求举例:假设有4个线程,A.B.C.D ...

  2. 强大的拉姆表达式转Sql 类库 - SqlSugar 隐藏功能之Lambda

    使用场景 1.Lambda to sql 一直是ORM中最难的功能之一,如果有现成的解析库那么自已写一个ORM难度将大大降低 2.通过Lambda作为KEY进行缓存操作,特别是仓储模式想要拿到表达式进 ...

  3. moviepy音视频开发:使用credits1给视频加片头片尾字幕

    ☞ ░ 前往老猿Python博文目录 ░ 一.概述 在<moviepy音视频剪辑:视频基类VideoClip子类DataVideoClip.UpdatedVideoClip.ImageClip. ...

  4. 第三十二章、使用splitDockWidget和tabifyDockWidget嵌套布局QDockWidget的PyQt人机对话案例

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 一.引言 在第<第三十一章.containers容器类部件QDo ...

  5. 为什么Python中称__lt__、__gt__等为“富比较”方法

    Python中基类object提供了一系列可以用于实现同类对象进行"比较"的方法,可以用于同类对象的不同实例进行比较,包括__lt__.__gt__.__le__.__ge__._ ...

  6. PyQt(Python+Qt)学习随笔:QListWidget的sortingEnabled属性

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 QListWidget的sortingEnabled属性用于控制列表部件中的项是否可以排序,如果为T ...

  7. PyQt(Python+Qt)学习随笔:toolButton的popupMode属性

    属性介绍 toolButton的popupMode属性为设有菜单集或Action列表的toolButton指定菜单弹出模式,类型为枚举类型ToolButtonPopupMode,有如下三种模式: 1. ...

  8. Docker环境复现利用Redis未授权访问漏洞 >> 批量扫描检测利用

    关于Redis Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库 ...

  9. 20分钟带你掌握JavaScript Promise和 Async/Await

    转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 原文出处:https://www.freecodecamp.org/news/learn-promise-a ...

  10. SpringBoot+Redis相关配置文件

    springboot整合redis配置类 package com.yalong.config; import com.fasterxml.jackson.annotation.JsonAutoDete ...