Ffmpeg简介

简介: <div class="bct fc05 fc11 nbw-blog ztag"><p><a rel="nofollow" href="http://www.ffmpeg.com.cn/index.php/%E9%A6%96%E9%A1%B5">http://www.ffmpeg.com.cn/index.php/%E9%A6%96%E9%A1%B5</a></p> <p>FFmpeg i

http://www.ffmpeg.com.cn/index.php/%E9%A6%96%E9%A1%B5

FFmpeg is a complete solution to record, convert and stream audio and video. It includes libavcodec, the leading audio/video codec library. FFmpeg is developed under Linux, but it can compiled under most operating systems, including Windows.


获取ffmpeg源代码



组成结构

  • ffmpeg项目由以下几部分组成:
    • ffmpeg 视频文件转换命令行工具,也支持经过实时电视卡抓取和编码成视频文件.
    • ffserver 基于HTTP(RTSP正在开发中)用于实时广播的多媒体服务器.也支持时间平移
    • ffplay 用 SDL和FFmpeg库开发的一个简单的媒体播放器
    • libavcodec 一个包含了所有FFmpeg音视频编解码器的库.为了保证最优性能和高可复用性,大多数编解码器从头开发的.
    • libavformat 一个包含了所有的普通音视格式的解析器和产生器的库.

 FFMPEG功能

 ffmpeg与ffdshow的关系

看不少人对ffdshow和ffmpeg的关系有点搞不清楚,所以响应Leon老大的号召,发个帖子简单说明一下。

ffdshow is DirectShow and VFW codec for decoding/encoding many video and audio formats, including DivX and XviD movies using libavcodec, xvid and other opensourced libraries with a rich set of postprocessing filters.

上边是sf的ffdshow的简单说明。我得理解就是,ffdshow是对一些codec(ffmpeg, xvid, and other)的封装,封装成了DirectShow和VFW的标准组件。比如对于xvid来讲,ffdshow是可以选择具体使用那个codec的, ffmpeg(libavcodec) or xvid。

那么封装有没有额外的成本哪?有,但对大部分应用来讲,可以忽略不计。就如c++和c。

先说这么多,欢迎拍砖。

写得不错,目前群里面的兄弟都在研究ffmpeg,对ffdshow研究的少,因为ffdshow只是一件外衣,核心还是ffmpeg,估计等一段时间就会有些朋友转向ffdshow的。

我再补充几句吧,vfw和dshow里的CODEC分别是通过fourcc码和guid机制寻找的,可以在系统注册codec后调用,比自带编解码库形式更加统一,便于使用。此外,vfw和dshow是代表了两个微软不同时期的音视频处理封装库,里面包含了音视频驱动,音视频处理的一整套方案。

相关文章
|
编解码 Windows 内存技术
FFmpeg深入学习 1
FFmpeg深入学习
76 0
|
编解码 数据安全/隐私保护
FFmpeg深入学习 2
FFmpeg深入学习
203 0
|
4月前
|
编解码 Linux
FFmpeg开发笔记(二十五)Linux环境给FFmpeg集成libwebp
《FFmpeg开发实战》书中指导如何在Linux环境下为FFmpeg集成libwebp以支持WebP图片编解码。首先,从GitHub下载libwebp源码,解压后通过`libtoolize`,`autogen.sh`,`configure`,`make -j4`和`make install`步骤安装。接着,在FFmpeg源码目录中重新配置并添加`--enable-libwebp`选项,然后进行`make clean`,`make -j4`和`make install`以编译安装FFmpeg。最后,验证FFmpeg版本信息确认libwebp已启用。
80 1
FFmpeg开发笔记(二十五)Linux环境给FFmpeg集成libwebp
|
4月前
|
Linux 编解码 Python
FFmpeg开发笔记(二十四)Linux环境给FFmpeg集成AV1的编解码器
AV1是一种高效免费的视频编码标准,由AOM联盟制定,相比H.265压缩率提升约27%。各大流媒体平台倾向使用AV1。本文介绍了如何在Linux环境下为FFmpeg集成AV1编解码库libaom、libdav1d和libsvtav1。涉及下载源码、配置、编译和安装步骤,包括设置环境变量以启用这三个库。
195 3
FFmpeg开发笔记(二十四)Linux环境给FFmpeg集成AV1的编解码器
|
5月前
|
编解码 Linux
FFmpeg开发笔记(十二)Linux环境给FFmpeg集成libopus和libvpx
在《FFmpeg开发实战》一书中,介绍了如何在Linux环境下为FFmpeg集成libopus和libvpx,以支持WebM格式的Opus和VP8/VP9编码。首先,下载并安装libopus。接着,下载并安装libvpx。最后,在FFmpeg源码目录下,重新配置FFmpeg,启用libopus和libvpx,编译并安装。通过`ffmpeg -version`检查版本信息,确认libopus和libvpx已启用。
135 1
FFmpeg开发笔记(十二)Linux环境给FFmpeg集成libopus和libvpx
|
5月前
|
编解码 Linux
FFmpeg开发笔记(十)Linux环境给FFmpeg集成vorbis和amr
在Linux环境下,为FFmpeg添加对AAC、MP3、OGG和AMR音频格式的支持,需安装libogg、libvorbis和opencore-amr库。首先,从官方源下载各库的最新源码,如libogg-1.3.5、libvorbis-1.3.7和opencore-amr-0.1.6,然后解压并依次执行`./configure`、`make`和`make install`进行编译安装。接着,在FFmpeg源码目录中,使用`./configure`命令重新配置,并重新编译安装FFmpeg。最后,验证FFmpeg版本信息确认已启用ogg和amr支持。
106 0
FFmpeg开发笔记(十)Linux环境给FFmpeg集成vorbis和amr
|
5月前
|
存储 编解码 缓存
FFmpeg之旅:深入解析FFplay源码
FFmpeg之旅:深入解析FFplay源码
478 0
|
编解码 Linux 数据安全/隐私保护
深入浅出FFmpeg:一款强大的多媒体处理工具
深入浅出FFmpeg:一款强大的多媒体处理工具
157 0
|
编解码 Ubuntu 网络协议
FFmpeg学习笔记汇总
FFmpeg学习笔记汇总
|
编解码 文件存储 iOS开发
FFmpeg学习笔记汇总(下)
FFmpeg学习笔记汇总