资源简介
Linux下C语言FLV文件拆解成h264视频流和aac文件 大神的程序,我只是加了个Makefile移植到Linux下。
代码片段和文件信息
#include “Aac.h“
int AllocStruct_Aac_Tag(Audio_Tag ** audiotag)
{
Audio_Tag * audiotag_t = * audiotag;
if ((audiotag_t = (Audio_Tag *)calloc(1sizeof(Audio_Tag))) == NULL)
{
printf (“Error: Allocate Meory To AllocStruct_Aac_Tag Buffer Failed “);
return getchar();
}
if ((audiotag_t->Data = (unsigned char * )calloc(ONE_AUDIO_frame_SIZEsizeof(unsigned char))) == NULL)
{
printf (“Error: Allocate Meory To audiotag_t->Data Buffer Failed “);
return getchar();
}
* audiotag = audiotag_t;
return 1;
}
int FreeStruct_Aac_Tag(Audio_Tag * audiotag)
{
if (audiotag)
{
if (audiotag->Data)
{
free(audiotag->Data);
audiotag->Data = NULL;
}
free(audiotag);
audiotag = NULL;
}
return 1;
}
int ReadStruct_Aac_Tag(unsigned char * Buf unsigned int length Audio_Tag * tag)
{
int Aac_Tag_pos = 0;
tag->Type = Buf[0];
tag->DataSize =
Buf[1] << 16 |
Buf[2] << 8 |
Buf[3];
tag->Timestamp =
Buf[4] << 16 |
Buf[5] << 8 |
Buf[6];
tag->TimestampExtended = Buf[7];
tag->StreamID =
Buf[8] << 16 |
Buf[9] << 8 |
Buf[10];
Aac_Tag_pos += 11;
tag->SoundFormat =
Buf[Aac_Tag_pos] >> 4;
tag->SoundRate =
(Buf[Aac_Tag_pos] >> 2) & 0x03;
tag->SoundSize =
(Buf[Aac_Tag_pos] >> 1) & 0x01;
tag->SoundType =
Buf[Aac_Tag_pos] & 0x01;
Aac_Tag_pos ++;
if (tag->SoundFormat == 0x0A) //AACAUDIODATA
{
tag->AACPacketType =
Buf[Aac_Tag_pos];
Aac_Tag_pos ++;
}
memcpy(tag->DataBuf + Aac_Tag_poslength - Aac_Tag_pos );
return length - Aac_Tag_pos;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-11-08 15:27 Flv_to_h264_AAC_Demux\
文件 1468 2013-05-27 11:07 Flv_to_h264_AAC_Demux\Flv.cpp
文件 122 2017-11-08 15:01 Flv_to_h264_AAC_Demux\Information.h
目录 0 2017-11-08 15:26 Flv_to_h264_AAC_Demux\FLV_STREAM\
文件 5009612 2013-05-24 10:13 Flv_to_h264_AAC_Demux\FLV_STREAM\test.flv
文件 423 2017-11-08 15:18 Flv_to_h264_AAC_Demux\Makefile
文件 2436 2013-05-27 15:52 Flv_to_h264_AAC_Demux\Aac.h
文件 3400 2013-05-27 16:48 Flv_to_h264_AAC_Demux\H264.h
文件 1713 2013-05-27 14:33 Flv_to_h264_AAC_Demux\Flv.h
目录 0 2017-11-08 15:29 Flv_to_h264_AAC_Demux\H264_STREAM\
文件 4370512 2017-11-08 15:27 Flv_to_h264_AAC_Demux\H264_STREAM\test.264
目录 0 2017-11-08 15:27 Flv_to_h264_AAC_Demux\AAC_STREAM\
文件 587692 2017-11-08 15:27 Flv_to_h264_AAC_Demux\AAC_STREAM\test.aac
文件 38024 2017-11-08 15:27 Flv_to_h264_AAC_Demux\convertflv
目录 0 2017-11-08 15:30 Flv_to_h264_AAC_Demux\si\
文件 20842 2017-11-08 15:30 Flv_to_h264_AAC_Demux\si\flv.WK3
文件 20480 2017-11-08 15:30 Flv_to_h264_AAC_Demux\si\flv.IAB
文件 4096 2017-11-08 15:30 Flv_to_h264_AAC_Demux\si\flv.IMB
文件 368 2017-11-08 15:30 Flv_to_h264_AAC_Demux\si\flv.IMD
文件 528 2017-11-08 15:30 Flv_to_h264_AAC_Demux\si\flv.IAD
文件 776 2017-11-08 15:27 Flv_to_h264_AAC_Demux\si\flv.PO
文件 60 2017-11-08 15:27 Flv_to_h264_AAC_Demux\si\flv.PFI
文件 5192 2017-11-08 15:27 Flv_to_h264_AAC_Demux\si\flv.PR
文件 30872 2017-11-08 15:27 Flv_to_h264_AAC_Demux\si\flv.PRI
文件 30440 2017-11-08 15:27 Flv_to_h264_AAC_Demux\si\flv.PS
文件 863 2017-11-08 15:27 Flv_to_h264_AAC_Demux\Main.cpp
文件 825 2017-11-08 15:21 Flv_to_h264_AAC_Demux\FileIo.cpp
文件 11447 2017-11-08 15:11 Flv_to_h264_AAC_Demux\Demux.cpp
文件 6110 2013-05-29 11:22 Flv_to_h264_AAC_Demux\sc
文件 4878 2013-05-27 17:00 Flv_to_h264_AAC_Demux\H264.cpp
文件 2430 2013-05-29 11:20 Flv_to_h264_AAC_Demux\sc
............此处省略3个文件信息
- 上一篇:蓝桥杯C语言历年真题及相关资料
- 下一篇:cmake-3.12.2.tar..gz
相关资源
- 蓝桥杯C语言历年真题及相关资料
- 6个C语言实现的常用软PLC功能块函数
- ADC电压采集程序
- 天津城建大学C语言题库
- C语言与MATLAB接口 编程与 李传军编着
- C语言基础培训ppt
- resample函数的C语言实现
- 数据结构与算法分析--C语言描述(M
- 算法精解:C语言描述(含源代码)
- 数据结构 C语言 严蔚敏(有书签)
- 用c语言实现的遗传算法单目标优化
- linux系统下的fit客户端filezilla以及安装
- 严蔚敏数据结构(最全资料)
- 《数据结构》清华大学C语言版内部课
- c语言编写的hmm的程序
- 常用算法程序集(C语言描述) 第三版
- cpp-Craft使用现代OpenGL用C语言编写的一
- 停车场管理系统C语言报告
- 基于OpenSSL的RSA加解密的C语言实现
- 蓝桥杯c语言历年试题大全
- QT实现的聊天界面,好友列表,支持文
- C语言操作netcdf的安装文件
- svr-c语言和matlab代码.zip
- 用C语言实现谱减法
- 条形码识别系统c语言版
- STM32 电子密码锁设计,LCD12864显示C语
- c语言复习专用
- 谭浩强C语言程序设计第三版中文版
- C语言开发简单的学生成绩管理系统
- C语言实现了crontab表达式执行时间
评论
共有 条评论