- 1、本文档共13页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ffmpeg编码程序
static void audio_encode_example(const char *filename){ AVCodec *codec; AVCodecContext *c= NULL; int frame_size, i, j, out_size, outbuf_size, ret,len; FILE *f,*p; p = fopen(c:\\li.pcm,rb); if(!p) {printf(open file fail\n);} if(p) {printf(open file succeed\n);} short *buf; uint8_t *outbuf; printf(Audio encoding\n); /* find the MP2 encoder */ codec = avcodec_find_encoder(CODEC_ID_MP3); if (!codec) { fprintf(stderr, codec not found\n); exit(1); } c = avcodec_alloc_context3(codec); /* put sample parameters */ c-bit_rate = 64000; c-sample_rate = 22050; c-channels = 1; c-sample_fmt = AV_SAMPLE_FMT_S16; /* open it */ if (avcodec_open(c, codec) 0) { fprintf(stderr, could not open codec\n); exit(1); } /* the codec gives us the frame size, in samples */ frame_size = c-frame_size; int len1; fseek(p,0,SEEK_END); len = ftell(p); buf = (short *)malloc(len); rewind(p); len1= fread(buf, 1, 2646000, p); outbuf_size = 10000; outbuf = (uint8_t *)malloc(outbuf_size); f = fopen(filename, wb); if (!f) { fprintf(stderr, could not open %s\n, filename); exit(1); } if(f) { printf(open file %s succeed\n ,filename); } for(i=0;i200;i++) { /* encode the buf */ out_size = avcodec_encode_audio(c, outbuf, outbuf_size, buf); fwrite(outbuf, 1, out_size, f); } fclose(f); fclose(p); free(outbuf); free(samples); free(buf); avcodec_close(c); av_free(c);}int main(int argc, char **argv){ const char *filename; /* must be called before using avcodec lib */ avcodec_init(); /* register all the codecs */ avcodec_register_all(); if (argc = 1) { audio_encode_example(c:\\1.mp3);
文档评论(0)