赞
踩
在一次处理视频转换的时候使用了copy模式,然后在avformat_write_header函数处报错:Could not find tag for codec rawvideo in stream #0
1.首先avformat_write_header调用如下
ret = avformat_write_header(of->ctx, &of->opts);
if (ret < 0) {
av_log(NULL, AV_LOG_ERROR,
"Could not write header for output file #%d "
"(incorrect codec parameters ?): %s\n",
file_index, av_err2str(ret));
return ret;
}
2.从错误的字面意思上看,应该是tag与codec类型不一致导致了这个报错,调试发现tag是mpeg4,codec是rawvideo(其实这里已经可以分析出原因了,但是当时没意识到)
3.做了一个测试,修改了tag
of->ctx->streams[0]->codecpar->codec_tag = 0x31637661;
of->ctx->streams[0]->codecpar->codec_id = AV_CODEC_ID_H264;of->ctx->streams[1]-
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。