在使用FFMPEG的类库进行编程的过程中,可以直接输出解复用之后的的音频数据码流。只需要在每次调用av_read_frame()之后将得到的视频的AVPacket存为本地文件即可。
经试验,在分离MP3码流的时候,直接存储AVPacket即可。
在分离AAC码流的时候,直接存储AVPacket后的文件可能是不能播放的。
如果视音频复用格式是TS(MPEG2 Transport Stream),直接存储后的文件是可以播放的。
复用格式是FLV,MP4等则不行。
因为FLV,MP4这些属于“特殊容器”。经过仔细对比后发现,调用av_read_frame()后得到的AVPacket里面的内容是AAC纯数据,就是那种不包含ADTS文件头的AAC数据。因此如果想要得到可以播放的AAC文件,需要在每个AVPacket前面加上7字节ADTS文件头。具体的ADTS文件头的格式我还没有仔细研究,留在今后有时间在做研究了。
- 浏览: 316927 次
- 性别:
- 来自: 北京
-
文章分类
- 全部博客 (410)
- 我的开源项目 (14)
- FFMPEG (54)
- MPEG7/图像检索 (23)
- Live555 (8)
- OpenCV (9)
- 开源多媒体系统 (12)
- J2EE (12)
- RTMP (22)
- 视频质量评价 (47)
- 杂谈/非技术 (22)
- 音频编码 (11)
- 视频编码 (32)
- TinyJPEG (2)
- ffdshow (10)
- MediaInfo (8)
- ImageMagik (2)
- MPC-HC (9)
- XBMC (7)
- Mplayer (3)
- IPTV (5)
- OTT TV (4)
- 超高清/4K (4)
- 综合/IT与广电 (14)
- 网络 (21)
- DirectShow (11)
- 硬件 (5)
- 3D (2)
- 纯编程 (44)
- 开源项目 (13)
- Flash相关 (5)
- 广播电视工程 (4)
- HTML和Javascript (9)
最新评论
发表评论
-
100行代码实现最简单的基于FFMPEG+SDL的视频播放器
2013-03-08 23:57 1007简介 FFMPEG工程浩大,可以参考的书籍又不是很多,因此 ... -
图解FFMPEG打开媒体的函数avformat_open_input
2013-03-11 23:44 1747此前写了好几篇ffmpeg源代码分析文章,列表如下: ... -
最简单的基于FFMPEG+SDL的音频播放器
2013-08-29 17:11 1724FFMPEG工程浩大,可以参考的书籍又不是很多,因此很多刚学 ... -
FFMPEG中最关键的结构体之间的关系
2013-09-14 20:41 531FFMPEG中结构体很多。最关键的结构体可以分成以下几类: ... -
使用FFMPEG类库分离出多媒体文件中的H.264码流
2013-09-18 11:15 640在使用FFMPEG的类库进行编程的过程中,可以直接输出解复用 ... -
ffmpeg源码分析:transcode()函数
2013-09-20 17:34 694还是先看一下主函数吧:(省略了很多无关大雅的代码) ... -
ffmpeg源码分析:transcode_init()函数
2013-09-20 17:36 1062transcode_init()函数是在转换前做准备 ... -
使用FFmpeg类库实现YUV视频序列编码为视频
2013-09-22 01:36 890搞视频处理的朋友肯定比较熟悉YUV视频序列,很多测试库提供的 ... -
FFMPEG源码分析:avformat_open_input()(媒体打开函数)
2013-09-22 02:11 1226本文分析了FFMPEG中的 ... -
ffmpeg函数介绍
2013-09-24 16:01 1181本文对在使用ffmpeg进行音视频编解码时使用到的一些函数做 ... -
FFplay源代码分析:整体流程图
2013-09-24 16:22 457FFplay源代码的流程图如图所示,网上的,不记得从哪弄的了 ... -
ffmpeg中的sws_scale算法性能测试
2013-09-25 21:18 691经常用到ffmpeg中的sws_scale来进行图像缩放和格 ... -
ffmpeg处理RTMP流媒体的命令大全
2013-09-25 21:23 825最近浏览国外网站时候发现,翻译不准确的敬请谅解。1、将文件当 ... -
vc2005编译ffmpeg以及ffplay
2013-09-25 21:35 607ffmpeg编译过程: 1 http://ffmpeg.ze ... -
ffmpeg 源代码简单分析 : av_register_all()
2013-10-13 12:41 859此前写了好几篇ffmpeg源代码分析文章,列表如下: 图解 ... -
ffmpeg 源代码简单分析 : avcodec_register_all()
2013-10-13 13:34 1006此前写了好几篇ffmpeg源代码分析文章,列表如下: ... -
ffmpeg 源代码简单分析 : av_read_frame()
2013-10-13 15:58 1919此前写了好几篇ffmpe ... -
ffmpeg 源代码简单分析 : avcodec_decode_video2()
2013-10-13 16:07 1142此前写了好几篇ffmpeg源代码分析文章,列表如下: ... -
C语言的面向对象设计 —— 对 X264/FFMPEG 架构探讨
2013-10-14 23:49 648类似题目的文章已经不新鲜了,这里,我仅仅总结自己的一些代码经 ... -
FFMPEG 库移植到 VC 需要的步骤
2013-10-15 12:27 676在VC下使用FFMPEG编译好的库,不仅仅是把.h,.lib ...
相关推荐
很多播放器都使用了ffmpeg这个类库来编解码 使用LIB和DLL实现ffmpeg的相关功能函数
要在Android应用中使用FFmpeg库,需要在项目的build.gradle文件中配置NDK路径,并添加依赖项。然后,通过Java或Kotlin的JNI接口调用原生库中的函数,实现音视频处理功能。 6. **示例应用**: 使用FFmpeg库的常见...
FFmpeg是一个开源项目,它包含了用于处理多媒体数据的软件库,包括音频和视频的编码、解码、转换、流媒体等功能。这个“GebVideoFFMPEG-master”压缩包很可能包含了一个基于FFmpeg的视频处理项目的源代码。下面将...
本教程将详细解释如何使用FFmpeg读取内存中的PS(Program Stream)/TS(Transport Stream)流,并从中分离出视频和音频。 首先,了解PS和TS流的基本概念。PS主要用于DVD存储,是一种连续的数据流,包含了一个或多个...
在Java中使用FFmpeg,开发者通常需要引入像`ffmpeg-1.0.2.jar`这样的库文件,然后通过调用对应的API来执行FFmpeg的功能。这些API会封装FFmpeg的命令行操作,使得在Java环境中调用更为方便和安全。例如,你可以创建一...
总之,FFmpeg是处理多媒体文件的强大工具,无论是在个人项目还是专业开发中,它都能提供灵活且高效的解决方案。通过掌握FFmpeg的基本命令和调用方式,你可以轻松地从MP4视频中提取音频并转换为MP3,同时还可以利用其...
编译好的ffmpeg类库文件,32位版本,输出版本号为 ffmpeg version N-99305-gbc0e776 Copyright (c) 2000-2020 the FFmpeg developers built with 用于 x86 的 Microsoft (R) C/C++ 优化编译器 19.27.29112 版 包含...
在本文中,我们将深入探讨如何使用FFmpeg将视频和音频进行合并,以便创建一个完整的多媒体文件。 首先,理解FFmpeg的基本用法至关重要。FFmpeg支持命令行界面,通过输入特定的参数和选项,你可以对多媒体文件执行...
在本文中,我们将深入探讨如何使用C#编程语言结合FFmpeg库来实现一个RTSP(Real Time Streaming Protocol)流媒体播放器。RTSP是一种用于控制实时流传输的应用层协议,常用于在线视频直播和监控系统。C#是Microsoft...
综上所述,"ps流解析器,解析本地ps文件为es文件,可分离出音频和视频"这个工具是多媒体处理领域的一个重要组成部分,它能够帮助我们高效地处理和分发多媒体内容,特别是在需要对视频和音频进行独立操作或者适应不同...
这是在linux环境下编译好的FFmpeg类库和头文件,适用于Android的音视频开发。 在编译过程中,NDK和FFmpeg的版本需要对应起来,否则编译过程中可能失败。这里编译过程中采用的版本为`android-ndk-r15c-linux-x86_64....
因此特地分离出了一个简单音频编码器供学习之用。 该图像编码器实现了音频PCM采样数据编码为AAC码流。 尽管该音频编码器的代码十分简单,但是几乎包含了使用FFMPEG编码一个音频所有必备的API。十分适合FFmpeg的...
FFmpeg是一款强大的开源多媒体处理工具,能够处理多种格式的音频和视频,包括从RTSP流中提取和保存h264码流。下面将详细介绍如何利用FFmpeg完成这个任务。 首先,我们需要理解RTSP(Real-Time Streaming Protocol)...
### 使用FFmpeg截取H.264裸码流详解 #### 一、引言 在多媒体处理领域,FFmpeg是一款极为强大的工具包,能够帮助开发者实现音视频编解码、转码、录制、流媒体传输等多种功能。其中,从RTP流中截取H.264裸码流是一项...
当进行视频转音频操作时,FFMPEG首先读取视频文件中的音频流,然后使用合适的解码器解码音频数据,最后用编码器将解码后的音频数据编码为目标音频格式,如MP3、AAC或WAV。 C#结合FFMPEG: C#本身并不直接支持FFMPEG...
在这个项目中,Demuxer负责从TS文件中分离出不同的视频和音频流,而Muxer则可能用于重新组合这些流,以实现特定的混合效果。 4. **MixVideo(混屏)类**: 混屏是指将多路视频流合并到一个画面中,这通常涉及到视频...
使用ffmpeg.exe获取文件属性信息,ffmpeg是java开发的用于多媒体文件编辑的命令行工具,有多个版本,功能比较强大,C#中可以在进程外异步调用这个工具 using (System.Diagnostics.Process pro = new System....
2、对一个视频文件,提取基本信息(例如,封装格式,码流,视频编码方式,音频编码方式,分辨率,帧率,时长等等),并输出为txt文档。结果与MediaInfo的信息对比,并截图; 3、对该视频文件,提取视频信息,保存为...
在IT行业中,多媒体处理是一个重要的...通过熟悉FFmpeg的命令行语法和功能,你可以轻松实现各种多媒体文件的转换和处理。在压缩包"ffmpeg-h264ToMp4"中,可能包含了示例代码或教程,帮助你更好地理解和实践这个过程。