我只是有一个关于如何使用的问题ffmpeg/libavcodec/libstagfright.cpp
:我尝试avcodec_open2(st->codec, codec)
使用ffmpeg设置codec->id
为CODEC_ID_H264,codec->name
as libstagefright_h264
,这意味着我将打开AVCodec ff_libstagefright_h264_decoder
.
但是什么时候Stagefright_init->OMXCodec::Create->configureCodec-> initOutputFormat(meta)
,这个过程就退出了!这是一个bazinga!
我知道元是元数据,它的数据来自codec->extradata
,在这里,它意味着sps和pps,我是对的吗?
如何libstagefright
在ffmpeg中成功使用?有人能举个例子吗?
它适用于ICS4.0.3,Moto XT910,FFmpeg 0.7
我使用额外数据来存储 MediaFileName,然后从代码中获取元数据:
DataSource::RegisterDefaultSniffers();
sp<MediaSource> source ;
source = createSource((char*)MeidaFileName);
if(source==NULL){
return -1 ;
}
meta = source->getFormat();
if(!meta->findData(kKeyAVCC, &type, &data, &data_size))
{
return -1 ;
}
meta->setCString(kKeyMIMEType, MEDIA_MIMETYPE_VIDEO_AVC);
Run Code Online (Sandbox Code Playgroud)
那么就可以了OMX::create
(Android 2.3和ICS有一些区别)
归档时间: |
|
查看次数: |
7947 次 |
最近记录: |