资源简介
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++中头文件与源文件的作用详解
- C语言代码高亮html输出工具
- 猜数字游戏 c语言代码
- C语言课程设计
- 数字电位器C语言程序
- CCS FFT c语言算法
- 使用C语言编写的病房管理系统
- 通信过程中的RS编译码程序(c语言)
- 计算机二级C语言上机填空,改错,编
- 用回溯法解决八皇后问题C语言实现
- 简易教务管理系统c语言开发文档
- 操作系统课设 读写者问题 c语言实现
- 小波变换算法 c语言版
- C流程图生成器,用C语言代码 生成C语
- 3des加密算法C语言实现
- 简单的C语言点对点聊天程序
- 单片机c语言源程序(51定时器 八个按
- 个人日常财务管理系统(C语言)
- c语言电子商务系统
- 小甲鱼C语言课件 源代码
- 将图片转换为C语言数组的程序
- C语言实现的一个内存泄漏检测程序
- DES加密算法C语言实现
- LINUX下命令行界面的C语言细胞游戏
- 用单片机控制蜂鸣器播放旋律程序(
- 学校超市选址问题(数据结构C语言版
- 电子时钟 有C语言程序,PROTEUS仿真图
- 尚观培训linux许巍老师关于c语言的课
- 算符优先语法分析器(C语言编写)
- 基于C语言的密码锁程序
评论
共有 条评论