`

使用FFMPEG类库分离出多媒体文件中的音频码流

 
阅读更多

在使用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文件头的格式我还没有仔细研究,留在今后有时间在做研究了。

分享到:
评论

相关推荐

    VC中使用ffmpeg类库,可用

    很多播放器都使用了ffmpeg这个类库来编解码 使用LIB和DLL实现ffmpeg的相关功能函数

    Android平台的FFmpeg类库

    在Ubuntu下编译好的FFmpeg类适用于安卓平台,希望对大家能用

    VS2019编译的32位最新版ffmpeg类库文件

    编译好的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读取内存的PS/TS流,分离出视频和音频

    演示如何用FFmpeg读取内存的PS/TS流,分离出视频和音频,用VC2008编译的,支持读取TS文件或PS文件到内存,支持分离、解码

    Android端FFmpeg类库和头文件

    这是在linux环境下编译好的FFmpeg类库和头文件,适用于Android的音视频开发。 在编译过程中,NDK和FFmpeg的版本需要对应起来,否则编译过程中可能失败。这里编译过程中采用的版本为`android-ndk-r15c-linux-x86_64....

    最简单的基于FFMPEG的音频编码器

    因此特地分离出了一个简单音频编码器供学习之用。 该图像编码器实现了音频PCM采样数据编码为AAC码流。 尽管该音频编码器的代码十分简单,但是几乎包含了使用FFMPEG编码一个音频所有必备的API。十分适合FFmpeg的...

    操作多媒体的java包类库FFmpeg

    FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。这是java平台的类库包。

    找了很久的FFMPEG的类库

    很久才找到的,宝贝呀,供大家分享。

    使用ffmpeg.exe获取文件属性信息,视频音频时长

    使用ffmpeg.exe获取文件属性信息,ffmpeg是java开发的用于多媒体文件编辑的命令行工具,有多个版本,功能比较强大,C#中可以在进程外异步调用这个工具 using (System.Diagnostics.Process pro = new System....

    FFmpeg提取视音频文件

    2、对一个视频文件,提取基本信息(例如,封装格式,码流,视频编码方式,音频编码方式,分辨率,帧率,时长等等),并输出为txt文档。结果与MediaInfo的信息对比,并截图; 3、对该视频文件,提取视频信息,保存为...

    利用ffmpeg进行视音频信息提取

    2、对一个视频文件,提取基本信息(例如,封装格式,码流,视频编码方式,音频编码方式,分辨率,帧率,时长等等),并输出为txt文档。结果与MediaInfo的信息对比,并截图; 3、对该视频文件,提取视频信息,保存为...

    使用FFmpeg采集摄像头图像和麦克风音频

    使用FFmpeg API采集摄像头图像和麦克风音频,支持图像预览,把图像和音频编码后保存成文件,实现视音频同步机制。为更好理解代码,请阅读我博客上相关的一篇文章:...

    用FFmpeg API采集摄像头视频和麦克风音频

    如果能用FFmpeg实现采集、编码和录制(或推流),那整个实现方案就简化很多,正因为这个原因,我想尝试做一个FFmpeg采集摄像头视频和麦克风音频的程序。经过一个星期的努力,终于做出来了。我打算把开发的心得和经验...

    ffmpeg音频转文本

    ffmpeg

    C# 利用ffmpeg进行推流

    C# 利用ffmpeg进行推流,推流方式涉及:读取本地文件,以入读取指定内存数据;示例项目中使用开源项目 FFmpeg.AutoGen,其对ffmpeg的API做了封装,方便在C#代码中进行ffmpeg API的调用。

    C# FFmpeg保存rtsp视频流到本地文件

    C# 使用FFmpeg库保存rtsp视频流为本地文件,获取摄像头rtsp视频流地址可以参考我的另一个资源

    FFmpeg4Android:视频文件推流

    FFmpeg4Android:视频文件推流到nginx服务器(源码) RTMP推流器(Streamer)的在流媒体系统中的作用可以用下图表示。首先将视频数据以RTMP的形式发送到流媒体服务器端(Server,比如FMS,Red5,Wowza等),然后...

    基于ALSA-FFMPEG实现音频采集与推流功能

    通过alsa将麦克风设备采集回来的音频裸流数据,通过FFmpeg将裸流数据编码,再将封装好的音频流数据推送到nginx-rtmp服务器

    ffmpeg分离出来的音频流aac文件

    自己解封装分离出来的aac文件,可提供你们学习之用.生成源码ios版请访问:https://github.com/gleeeli/GleeeliFFMpeg4

Global site tag (gtag.js) - Google Analytics