热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ffmpeg【百度百科】

FFmpeg是一个开源免费跨平台的视频和音频流方案,属于自由软件,采用LGPL或GPL许可证(依据你选择的组件)。它提供了录

      FFmpeg是一个开源免费跨平台的视频和音频流方案,属于自由软件,采用LGPL或GPL许可证(依据你选择的组件)。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多codec都是从头开发的。

 


名词含义

FFmpeg在Linux平台下开发,但它同样也可以在其它
操作系统环境中编译运行,包括Windows、Mac OS X等。

FFmpeg's Logo


这个项目最早由Fabrice Bellard发起,现在由Michael Niedermayer维护。许多FFmpeg的开发人员都来自MPlayer项目,而且当前FFmpeg也是放在MPlayer项目组的服务器上。项目的名称来自MPEG
视频编码标准,前面的"FF“代表"Fast Forward“,

编辑本段项目组成


libavformat :用于各种音视频封装格式的生成和解析,包括获取解码所需信息以生成解码上下文结构  和读取音视频帧等功能;  
libavcodec :用于各种类型声音/图像编解码;  
libavutil :包含一些公共的工具函数;  
libswscale :用于视频场景比例缩放、色彩映射转换;  
libpostproc:用于后期效果处理;  
ffmpeg :该项目提供的一个工具,可用于格式转换、解码或电视卡即时编码等;  
ffsever :一个 HTTP 多媒体即时广播串流服务器;  
ffplay :是一个简单的播放器,使用ffmpeg 库解析和解码,通过SDL显示;

编辑本段支持的格式和协议


支持的编码

源自FFmpeg项目组的两个视频编码:  Snow  FFV1  FFmpeg实现的其它音频视频编码:  
ITU-T video standards: H.261,[5] H.262 (aka 
MPEG-2 Video), H.263[5], H.263v2 and H.264/MPEG-4 AVC[5]  
ITU-T vocoder standards: G.711 µ-law, G.711 A-law, G.722.2 (aka AMR-WB. supports via OpenCORE) and G.726  
ISO/IEC MPEG video standards: MPEG-1 Video, MPEG-2 Video (aka H.262), 
MPEG-4 Visual and H.264/MPEG-4 AVC  
ISO/IEC MPEG audio standards: MP2, MP3, AAC and MPEG-4 ALS  
ISO/IEC/ITU-T JPEG image standards: JPEG and JPEG-LS  
SMPTE video standards: VC-1 (aka WMV3), VC-3 (aka AVID DNxHD) and DPX image  
DVD Forum standards related audio codecs: MLP and AC-3  
3GPP vocoder standards: AMR-NB, AMR-WB (aka G.722.2. supports via OpenCORE)  
Windows Media Player related video codecs: Microsoft RLE, Microsoft Video 1, Cinepak, Indeo 2, 3 and 5[5], Motion JPEG, Microsoft MPEG-4 v1, v2 and v3, WMV1, WMV2 and WMV3  
Windows Media Player related audio codecs: WMA1, WMA2, WMA Pro and WMA Voice  
Real Player related video codecs: Real Video 1, 2, 3 and 4  
Real Player related audio codecs: Real Audio 1, 2, 3, 4, 5, 6, 7, 8 and 9  
QuickTime related video codecs: Cinepak, Motion JPEG and Sorenson 3 Codec  
QuickTime related audio codecs: QDesign Music Codec 2 and ALAC  
Adobe Flash Player related video codecs: Sorenson 3 Codec, VP6 and Flash Screen Video  
Xiph-Org: Theora, Speex (via libspeex), Vorbis and FLAC  
Sony: ATRAC1 and ATRAC3[5]  
NTT: TwinVQ  
On2: Duck TrueMotion 1, Duck TrueMotion 2, VP3, VP5[5] and VP6[5]  
RAD Game Tools: Smacker video and Bink video  Truespeech  TXD[6]

支持的格式

ASF  AVI  BFI[7]  IFF[8]  RL2[9]  FLV  MXF, Material eXchange Format, SMPTE 377M  Matroska  Maxis XA[10]  MSN Webcam stream[11]  MPEG transport stream  TXD[6]  OMA[12]  GXF, General eXchange Format, SMPTE 360M

支持的协议

HTTP  RTP  RTSP  RealMedia RTSP/RDT  TCP  UDP  Gopher  RTMP  RTMPT, RTMPE, RTMPTE, RTMPS (via librtmp)  SDP  MMS over TCP

FFmpeg被许多开源项目采用,比如ffmpeg2theora, VLC, MPlayer, HandBrake, Blender, Google Chrome等。还有DirectShow/VFW的ffdshow (external project)和QuickTime的Perian (external project)也采用了FFmpeg。

FFmpeg耻辱柱(Hall Of Shame):

由于FFmpeg是在LGPL/GPL协议下发布的(如果使用了其中一些使用GPL协议发布的模块则必须使用GPL协议),任何人都可以自由使用,但必须严格遵守LGPL/GPL协议。目前有很多播放软件都使用了FFmpeg的代码,但它们并没有遵守LGPL/GPL协议,没有公开任何
源代码。我们应该对这种侵权行为表示耻辱。  2009年加入FFmpeg耻辱柱的播放软件:
暴风影音、QQ影音、KMP都在其列。  2009年2月,
韩国名软KMPlayer被FFmpeg开源项目发现使用了它们的代码和二进制文件,但是没有按照规定/惯例开放相应说明/源码。因此被人举报,进入了FFmpeg官网上的耻辱黑名单。  2009年5月,网友cehoyos下载了暴风影音
软件,解压之后发现其安装程序内包含了大量的开源和私有解码器:avcodec,avformat,avutil,x264,xvid,bass,wmvdmod等,之后暴风影音被正式加入到FFmpeg耻辱名单。  2009年11月,网友roo_zhou向FFmpeg举报,指出QQ影音的credit只给出了修改的FFmpeg源码下载,声称是LGPL许可证。但实际是修改过的ffdshow,采用的是GPL许可证,之后QQ影音被正式加入到FFmpeg耻辱名单之列。



推荐阅读
  • DNN Community 和 Professional 版本的主要差异
    本文详细解析了 DotNetNuke (DNN) 的两种主要版本:Community 和 Professional。通过对比两者的功能和附加组件,帮助用户选择最适合其需求的版本。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • Explore how Matterverse is redefining the metaverse experience, creating immersive and meaningful virtual environments that foster genuine connections and economic opportunities. ... [详细]
  • Explore a common issue encountered when implementing an OAuth 1.0a API, specifically the inability to encode null objects and how to resolve it. ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 本文基于刘洪波老师的《英文词根词缀精讲》,深入探讨了多个重要词根词缀的起源及其相关词汇,帮助读者更好地理解和记忆英语单词。 ... [详细]
  • 在Linux系统中配置并启动ActiveMQ
    本文详细介绍了如何在Linux环境中安装和配置ActiveMQ,包括端口开放及防火墙设置。通过本文,您可以掌握完整的ActiveMQ部署流程,确保其在网络环境中正常运行。 ... [详细]
  • 360SRC安全应急响应:从漏洞提交到修复的全过程
    本文详细介绍了360SRC平台处理一起关键安全事件的过程,涵盖从漏洞提交、验证、排查到最终修复的各个环节。通过这一案例,展示了360在安全应急响应方面的专业能力和严谨态度。 ... [详细]
  • ImmutableX Poised to Pioneer Web3 Gaming Revolution
    ImmutableX is set to spearhead the evolution of Web3 gaming, with its innovative technologies and strategic partnerships driving significant advancements in the industry. ... [详细]
  • 解读MySQL查询执行计划的详细指南
    本文旨在帮助开发者和数据库管理员深入了解如何解读MySQL查询执行计划。通过详细的解析,您将掌握优化查询性能的关键技巧,了解各种访问类型和额外信息的含义。 ... [详细]
  • 扫描线三巨头 hdu1928hdu 1255  hdu 1542 [POJ 1151]
    学习链接:http:blog.csdn.netlwt36articledetails48908031学习扫描线主要学习的是一种扫描的思想,后期可以求解很 ... [详细]
  • 本文详细介绍了macOS系统的核心组件,包括如何管理其安全特性——系统完整性保护(SIP),并探讨了不同版本的更新亮点。对于使用macOS系统的用户来说,了解这些信息有助于更好地管理和优化系统性能。 ... [详细]
  • Google最新推出的嵌入AI技术的便携式相机Clips现已上架,旨在通过人工智能技术自动捕捉用户生活中值得纪念的时刻,帮助人们减少照片数量过多的问题。 ... [详细]
  • 在现代网络环境中,两台计算机之间的文件传输需求日益增长。传统的FTP和SSH方式虽然有效,但其配置复杂、步骤繁琐,难以满足快速且安全的传输需求。本文将介绍一种基于Go语言开发的新一代文件传输工具——Croc,它不仅简化了操作流程,还提供了强大的加密和跨平台支持。 ... [详细]
  • MongoDB集群配置:副本集与分片详解
    本文详细介绍了如何在MongoDB中配置副本集(Replica Sets)和分片(Sharding),并提供了具体的步骤和命令,帮助读者理解并实现高可用性和水平扩展的MongoDB集群。 ... [详细]
author-avatar
手机用户2602916737
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有