`
kongweile
  • 浏览: 507017 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

ffmpeg对音频解码的一般步骤

 
阅读更多

以下是我自己写的小demo

 

#include <errno.h>
#include <android/log.h>
#include <libavutil/avutil.h>
#include <libavcodec/avcodec.h>
#include <libavformat/avformat.h>

AVFormatContext *fmt_ctx=NULL;
AVCodecContext *codec_ctx;
AVCodec *codec;
AVPacket packet;
AVFrame *frame;
int frame_ptr;

void mylog(const char * fmt, ...);

void Java_com_test_multi_MultiPlayerActivity_test(){
	avcodec_register_all();
	av_register_all();
    if(avformat_open_input(&fmt_ctx,"/sdcard/wma",NULL,NULL)!=0)
		{mylog("errno %d",errno);}
    if(avformat_find_stream_info(fmt_ctx,NULL)<0)
    	{mylog("errno %d",errno);}
    codec_ctx=fmt_ctx->streams[0]->codec;
    codec = avcodec_find_decoder(codec_ctx->codec_id);
    mylog("id=%d",codec->id);
    if (avcodec_open2(codec_ctx, codec,NULL) < 0)
    	{mylog("errno %d",errno);}
    while(av_read_frame(fmt_ctx,&packet)==0){
    	frame=avcodec_alloc_frame();
    	avcodec_decode_audio4(codec_ctx, frame, &frame_ptr,&packet);
    	mylog("frame_ptr %d",frame_ptr);
    	if(frame_ptr){
    		int data_size = av_samples_get_buffer_size(frame->linesize,codec_ctx->channels,frame->nb_samples,codec_ctx->sample_fmt, 0);
            mylog("data count %d",data_size);
            /*int i=0;
            for(;i<data_size;++i){
            	mylog("data %d",(frame->data[0])[i]);
            }*/
    	}
    	av_free_packet(&packet);
    }
    avformat_close_input(&fmt_ctx);
}

void mylog(const char* fmt,...){
	va_list arg_ptr;
	va_start(arg_ptr, fmt);
	__android_log_vprint(ANDROID_LOG_ERROR, "multi",fmt, arg_ptr);
}
分享到:
评论
1 楼 ahong520 2013-12-26  
编译都通不过

相关推荐

    如何用 FFmpeg 编写一个简单播放器详 细步骤介绍--FFmpeg中文版

    如何用FFmpeg编写一个简单播放器详细步骤介绍 FFMPEG 是一个很好的库,可以用来创建视频应用或者生成特定的工具。FFMPEG 几乎为你把所有的繁重工作都做了,比 如解码、编码、复用和解复用。这使得 多媒体应用程序变...

    LogoOverlay.rar

    通过ffmpeg AVFilter的使用,将png图片作为logo叠加到视频任意位置。代码中的步骤: 1、打开MP4文件,获取媒体信息,找到解码器; 2、创建、连接和配置movie和叠加相关滤镜; 3、创建SDL渲染窗口; 4、解码,获取到...

    FFmepg-Android

    一个视频播放器、流音频播放器和流音频解码器,输出 pcm 或直接写入 Android/AudioTrack(基于 ) 为 Android Studio 构建和修改。 使用过的资源 主干 ffmpeg ( ) / 17.02.2014 v1.3.4 libvorbis ( ) v1.3.1 ...

    AudioLab-Audio Editor Recorder Pro 0.99.apk

    音频修剪(剪切/裁剪/复制/粘贴/添加静音/撤消/重做),音频混合(混合四音频,改变速度(速度)/音高,具有所有DJ效果选项和滤波器),详细标签编辑,音频等功能合并,录音,音频格式转换器和更多功能.........

    Visual C++音频视频处理技术及工程实践(含源码2/2)

    1.2.1 音频数据的编解码 11 1.2.2 视频数据的编解码 13 1.2.3 音视频编码的相关标准 13 1.3 音视频处理平台的选择 15 1.3.1 个人多媒体计算机 15 1.3.2 嵌入式处理器ARM 16 1.3.3 数字媒体处理器DSP 16 1.4 ...

    Visual C++音频视频处理技术及工程实践地址

    1.2.1 音频数据的编解码 11 1.2.2 视频数据的编解码 13 1.2.3 音视频编码的相关标准 13 1.3 音视频处理平台的选择 15 1.3.1 个人多媒体计算机 15 1.3.2 嵌入式处理器ARM 16 1.3.3 数字媒体处理器DSP 16 1.4 ...

    Visual C++音频视频处理技术及工程实践(分卷0)

    1.2.1 音频数据的编解码 11 1.2.2 视频数据的编解码 13 1.2.3 音视频编码的相关标准 13 1.3 音视频处理平台的选择 15 1.3.1 个人多媒体计算机 15 1.3.2 嵌入式处理器ARM 16 1.3.3 数字媒体处理器DSP 16 1.4 音视频...

    Visual C++音频/视频处理技术及工程实践 (分卷1)

    1.2.1 音频数据的编解码 11 1.2.2 视频数据的编解码 13 1.2.3 音视频编码的相关标准 13 1.3 音视频处理平台的选择 15 1.3.1 个人多媒体计算机 15 1.3.2 嵌入式处理器ARM 16 1.3.3 数字媒体处理器DSP 16 1.4 音视频...

    Tutorial-Uploader

    Ffmpeg是一个“工具箱”,任何一种编程语言都可以通过命令行使用它来对音频,视频和字幕文件进行数十种操作,包括转换视频(编解码器,分辨率,比特率)以及提取与之相关的任何信息(元数据)文件。 要获取ffmpeg:...

    Visual C++音频视频处理技术及工程实践(分卷9)

    1.2.1 音频数据的编解码 11 1.2.2 视频数据的编解码 13 1.2.3 音视频编码的相关标准 13 1.3 音视频处理平台的选择 15 1.3.1 个人多媒体计算机 15 1.3.2 嵌入式处理器ARM 16 1.3.3 数字媒体处理器DSP 16 1.4 音视频...

    Visual C++音频视频处理技术及工程实践(分卷7)

    1.2.1 音频数据的编解码 11 1.2.2 视频数据的编解码 13 1.2.3 音视频编码的相关标准 13 1.3 音视频处理平台的选择 15 1.3.1 个人多媒体计算机 15 1.3.2 嵌入式处理器ARM 16 1.3.3 数字媒体处理器DSP 16 1.4 音视频...

    Visual C++音频视频处理技术及工程实践(分卷6)

    1.2.1 音频数据的编解码 11 1.2.2 视频数据的编解码 13 1.2.3 音视频编码的相关标准 13 1.3 音视频处理平台的选择 15 1.3.1 个人多媒体计算机 15 1.3.2 嵌入式处理器ARM 16 1.3.3 数字媒体处理器DSP 16 1.4 音视频...

    Visual C++ 音频/视频 处理技术及工程实践(分卷3)

    1.2.1 音频数据的编解码 11 1.2.2 视频数据的编解码 13 1.2.3 音视频编码的相关标准 13 1.3 音视频处理平台的选择 15 1.3.1 个人多媒体计算机 15 1.3.2 嵌入式处理器ARM 16 1.3.3 数字媒体处理器DSP 16 1.4 音视频...

    Visual C++音频/视频处理技术及工程实践(分卷2)

    1.2.1 音频数据的编解码 11 1.2.2 视频数据的编解码 13 1.2.3 音视频编码的相关标准 13 1.3 音视频处理平台的选择 15 1.3.1 个人多媒体计算机 15 1.3.2 嵌入式处理器ARM 16 1.3.3 数字媒体处理器DSP 16 1.4 音视频...

    PCM解码工具及操作说明.zip

    PCM音频裸数据播放器,内含PCM元数据以及对应的mp3文件,还有详细的使用说明,读者按照步骤操作即可!

Global site tag (gtag.js) - Google Analytics