ffmpeg编码AAC, 直接保存aac文件,播放速度变快了

yuanzhenhai 2017-03-28 11:15:09

nret = avcodec_encode_audio2(codec_ctx, &pkt, frame, &got_output);
if (nret < 0)
{
fprintf(stderr, "Error encoding audio frame\n");
exit(1);
}

if (got_output)
{
fwrite(pkt.data, 1, pkt.size, file_aac);
//printf("(%d)pkt.size = %d\n", count++, pkt.size);
nret = av_write_frame(pFormatCtx, &pkt);
if (nret < 0)
{
fprintf(stderr, "av_write_frame (%s)\n", strerror(AVUNERROR(nret)));
//exit(1);
}

av_free_packet(&pkt);
}


fwrite直接保存aac文件,播放速度变快了,VLC提示 emulated sync word (no sync on following frame);
av_write_frame保存的文件,播放正常;
用BCompare对比两个文件,发现fwrite的aac文件有些地方多了一个字节, 大小是0x0D。


请多指教, 不胜感激!

...全文
1603 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

2,275

社区成员

发帖
与我相关
我的任务
社区描述
多媒体/设计/Flash/Silverlight 开发 Flash流媒体开发
社区管理员
  • Flash流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧