使用MP4V2开源库将AAC打包到MP4文件中

这几天一直在搞Darwin Streaming Server的点播功能,对MP4文件的点播是没有问题的,但是对音频(比如aac音频文件)该如何点播呢?

想到了一种转发思路:就是将aac文件打包到MP4文件中,然后在进行MP4文件的点播;

直接上代码:

int main(int argc, char *argv[])
{

FILE *fpAudio = NULL;
int len;
MP4TrackId  audio = MP4_INVALID_TRACK_ID;
uint8_t  buf[2] = {0x15, 0x88};
//创建 mp4 文件

file = MP4Create("test.mp4", 0);
if (file == MP4_INVALID_FILE_HANDLE)
{
printf("Open file failed!\n");
return 1;
}
// 设置时间片
MP4SetTimeScale(file, AUDIO_TIME_SCALE); 

// 添加 AAC track
audio = MP4AddAudioTrack(file,8000, 1930, MP4_MPEG4_AUDIO_TYPE);
if (audio == MP4_INVALID_TRACK_ID)
{
printf("Add audio track failed!\n");
return 1;
}
// 设置音频属性
MP4SetAudioProfileLevel(file, 0x02);
MP4SetTrackESConfiguration(file, audio, buf, 2);
fpAudio = fopen("input.aac", "rb");
if (fpAudio == NULL)
{
printf("File could not open!\n");
return 1;
}
buffer = (unsigned char *)malloc(4097);
memset(buffer,0,4097);

while((len = fread(buffer,1,4096,fpAudio)) > 0)
{

MP4WriteSample(file,audio,buffer,len,MP4_INVALID_DURATION,0,0,1);
}
fclose(fpAudio);
free(buffer);
MP4Close(file, 0);
}

这样就可以将aac文件打包到MP4文件中;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值