ffmpeg写mp4时不断打印:Error parsing ADTS frame header!
2016-01-28 08:38
2683 查看
当去掉这一句:
//avcodec_copy_context(out_stream->codec,oc); 就会导致这个问题发生!
执行:avcodec_copy_context(out_stream->codec,oc);后
av_dump_format(ofmt_ctx, 0, out_filename,1);
Output #0, mp4, to 'test.mp4':
Stream #0:0: Video: h264, yuv420p,1920x1080, q=2-31, 1200 kb/s, 25 tbn, 25 tbc
Stream #0:1:Audio: aac, 32000 Hz, mono, s16, 32 kb/s
经过修改,当我即使不执行这一句,也可以打印:
Output #0, mp4, to 'test.mp4':
Stream #0:0: Video: h264 (mpeg4), yuv420p,1920x1080, q=2-31, 1200 kb/s, 25 tbn, 25 tbc
Stream #0:1:Audio: aac, 32000 Hz, mono, s16, 32 kb/s
但一样会有这个问题打印出来。后来发现,
AVBitStreamFilterContext* aacbsfc = av_bitstream_filter_init("aac_adtstoasc");
这个针对audiostream的filter,如果用于video stream,就会发生这个现象。
修改一下就可以了。
#if USE_AACBSF
if(stream_index==1)
av_bitstream_filter_filter(aacbsfc,out_stream->codec, NULL, &pkt.data, &pkt.size, pkt.data, pkt.size,0);
#endif
//avcodec_copy_context(out_stream->codec,oc); 就会导致这个问题发生!
执行:avcodec_copy_context(out_stream->codec,oc);后
av_dump_format(ofmt_ctx, 0, out_filename,1);
Output #0, mp4, to 'test.mp4':
Stream #0:0: Video: h264, yuv420p,1920x1080, q=2-31, 1200 kb/s, 25 tbn, 25 tbc
Stream #0:1:Audio: aac, 32000 Hz, mono, s16, 32 kb/s
经过修改,当我即使不执行这一句,也可以打印:
Output #0, mp4, to 'test.mp4':
Stream #0:0: Video: h264 (mpeg4), yuv420p,1920x1080, q=2-31, 1200 kb/s, 25 tbn, 25 tbc
Stream #0:1:Audio: aac, 32000 Hz, mono, s16, 32 kb/s
但一样会有这个问题打印出来。后来发现,
AVBitStreamFilterContext* aacbsfc = av_bitstream_filter_init("aac_adtstoasc");
这个针对audiostream的filter,如果用于video stream,就会发生这个现象。
修改一下就可以了。
#if USE_AACBSF
if(stream_index==1)
av_bitstream_filter_filter(aacbsfc,out_stream->codec, NULL, &pkt.data, &pkt.size, pkt.data, pkt.size,0);
#endif
相关文章推荐
- HDOJ 1094 A+B for Input-Output Practice (VI)
- nyoj 523 亡命逃窜 【BFS】
- ubuntu安装和配置SVN
- 代码开发管理: 持续集成
- ERROR: Packet for query is too large (2034> 1024)
- 20. Valid Parentheses
- 数学之路(机器学习实践指南)-文本挖掘与NLP(2)
- IAR中ICF文件分析与应用
- 被解放的姜戈02 庄园疑云
- 从IT的角度思考BIM(三):敏捷开发
- 深入字节码 -- 使用 ASM 实现 AOP
- 淘宝店铺基础版全屏装修步骤及代码,已经经过测试
- asp.net服务器控件button先执行js再执行后台的方法
- Spring注解@Component、@Repository、@Service、@Controller区别
- Codeforces Round #310 (Div. 1) C. Case of Chocolate
- Jquery学习笔记一
- Jquery学习笔记一
- HDOJ 1094 A+B for Input-Output Practice (VII)
- 怎么写一个“完美”的单例模式
- 微软为什么直接推送Win10 RS1预览版14251版本?