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

yuanzhenhai 2017-03-28 11:18:34

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。


请多指教, 不胜感激!
...全文
745 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuws20 2017-04-11
  • 打赏
  • 举报
回复
建议关关注一下采样率参数的设置。可能是采样率设置错误,或使用缺省的采样率。
敬告:该系列的课程在抓紧录制更新中,敬请大家关注。敬告: 该系列的课程涉及:FFmpeg,WebRTC,SRS,Nginx,Darwin,Live555,等。包括:音视频、流媒体、直播、Android、视频监控28181、等。  我将带领大家一起来学习:采集麦克风、PCM重采样、AAC或MP3音频编码存储、并直播。具体内容包括:1.FFmpeg采集麦克风并存储为PCM。2.PCM重采样原理及实战。3.采集麦克风并实时转码AAC或MP3并保存文件。4.采集麦克风并实时转码AAC并可以直播。 音视频与流媒体是一门很复杂的技术,涉及的概念、原理、理论非常多,很多初学者不学 基础理论,而是直接做项目,往往会看到c/c++的代码时一头雾水,不知道代码到底是什么意思,这是为什么呢? 因为没有学习音视频和流媒体的基础理论,就比如学习英语,不学习基本单词,而是天天听英语新闻,总也听不懂。所以呢,一定要认真学习基础理论,然后再学习播放器、转码器、非编、流媒体直播、视频监控、等等。 梅老师从事音视频与流媒体行业18年;曾在永新视博、中科大洋、百度、美国Harris广播事业部等公司就职,经验丰富;曾亲手主导广电直播全套项目,精通h.264/h.265/aac,曾亲自参与百度app上的网页播放器等实战产品。 目前全身心自主创业,主要聚焦音视频+流媒体行业,精通音视频加密、流媒体在线转码快编等热门产品。
AudioLab - 您唯一需要的音频编辑器应用程序 AudioLab是最先进,现代,快速,专业的音频编辑器,具有您想要的所有功能。 音频修剪(剪切/裁剪/复制/粘贴/添加静音/撤消/重做),音频混合(混合四音频,改变速度速度)/音高,具有所有DJ效果选项和滤波器),详细标签编辑,音频等功能合并,录音,音频格式转换器和更多功能......使用Instant Preview监控修改的每一步,使AudioLab与其他步骤不同 ➜想要一个音频切割器切割音乐的最佳部分并将其保存为铃声/闹钟/音乐文件/通知音/指定铃声到联系人? ➜想要像专业桌面混音那样混合音频? ➜想要录制高质量的音频? ➜厌倦了错误的专辑艺术,歌曲艺术和不准确的音频标签? 使用AudioLab音频编辑器,您可以完成所有这些以及更多...... ♪音频切割器/音频微调器 简单,现代且易于使用的用户界面可精确剪切音频的最佳部分(最长100毫秒)用于音乐文件,移动铃声,通知,警报或联系人音调的歌曲。 添加静音,删除部分音频,使用编辑堆栈复制粘贴音频的任何部分,轻松导航您完成编辑并帮助您轻松撤消或重做您的工作。 支持您可以想象的每种文件格式(mp3,wav,flac,m4a,aac,ogg等......) ♪音频混音 将您的音频与三种不同的音轨混合以创建混音。 可以混合相同或任何格式的歌曲。 添加很多效果,如Echo,Whoosh,Reverb,3d Audio Spatializer等等......为你的音频DJ提供类似的效果 你还可以改变音频(速度)和音频音高 ♪合并音频 合并两个或多个音频并使用合并音频创建单个音频。您可以合并不同格式的音频文件,而不会损失音频质量 ♪标签编辑器和元数据更换器 纠正错误的专辑/歌曲艺术和不准确的音频标签(编辑所有最知名的标签信息) ♪音频转换器和Mp3转换器 将任何音频文件从一种格式转换为另一种格式。从以下音频格式中选择 - MP3,WAV,AAC,MP4,FLAC,OGG,OPUS,具有不同的通道,采样和比特率 ♪音频录制/ 录音带有所需音源,声道,采样率,音频格式以及噪音抑制器,自动增益和撇去沉默等高级选项的录音 ♪分割音频和反向音频将 任何音频文件分成两部分,并使用即时预览反转任何音频文件 ♪文本到语音 AudioLab帮助您使用手机内置的文本到语音引擎将文本转换为语音 它还支持音高和速度更改选项 ♪设备编解码器信息 一个简单而方便的工具,可让您检测Android设备上可用的多媒体编码器和解码器(编解码器) ♪音频播放播放每个输出与美丽的音频播放器与均衡器,内部和外部歌词支持 ♪语音转换器 改变你的声音/音频,用你修改后的声音玩得开心 将氦气,醉酒,花栗鼠和许多其他有趣的效果应用于你的声音 ♪声音去除器/卡拉OK效果 从您的音频中删除人声并在卡拉OK之夜使用它 ♪视频到音频转换器 将视频转换为音频文件。提取任何视频的音频并保存。在“音频”中选择要转换的视频部分 AudioLab在LGPL的许可下使用FFmpeg并使用Superpowered SDK进行超级动力 AudioLab是功能最强大的音频编辑器,包含所有音频编辑功能。 它可用于创建最佳歌曲曲目,MP3切割器,铃声切割器,MP3转换器,MP3铃声,混音器,语音转换器,标签编辑器等等... 什么是新的: 语音转换器中 添加了15个新语音离线卡拉OK中添加了音乐效果和录制效果 添加了罗马尼亚语言添加了 许多新的音频效果 在编辑多个音频中一次混合或转换多个音频 现在您可以在设置中选择默认音频格式 现在您可以删除宽带,剪辑,冲动的噪音 现在修剪,合并您的录音录音音频 自动调音添加到录音音频(实验) 卡拉OK离线优化低耳机时使用耳机 这个程序没有广告

2,543

社区成员

发帖
与我相关
我的任务
社区描述
专题开发/技术/项目 多媒体/流媒体开发
社区管理员
  • 多媒体/流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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