ffmepg学习

为了统一管理muxer的方便,每个的muxer都封装进一个数据结构AVOutputFormat

即用AVOutputFormat这个结构体来管理muxer,到时候把这一系列的结构体放入一个链表,要找一个muxer就方便了。

 

在源代码中搜AVOutputFormat,即可找到mp4相关的编码器源文件。movenc.c/h

AVOutputFormat ff_mp4_muxer = {

    .name              = "mp4",

    .long_name         = NULL_IF_CONFIG_SMALL("MP4 (MPEG-4 Part 14)"),

    .mime_type         = "application/mp4",

    .extensions        = "mp4",

    .priv_data_size    = sizeof(MOVMuxContext),

    .audio_codec       = AV_CODEC_ID_AAC,

    .video_codec       = CONFIG_LIBX264_ENCODER ?

                         AV_CODEC_ID_H264 : AV_CODEC_ID_MPEG4,

    .write_header      = mov_write_header,

    .write_packet      = mov_write_packet,

    .write_trailer     = mov_write_trailer,

    .flags             = AVFMT_GLOBALHEADER | AVFMT_ALLOW_FLUSH,

    .codec_tag         = (const AVCodecTag* const []){ ff_mp4_obj_type, 0 },

    .priv_class        = &mp4_muxer_class,

};

以上转自http://blog.csdn.net/ctroll/article/details/8169396

这里边的video_codec是我想说的,如果配置了x264库,那么视频编码器为h264,否则为mprg-4

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值