資源簡介
Linux下C語言FLV文件拆解成h264視頻流和aac文件 大神的程序,我只是加了個(gè)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;
}
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????目錄???????????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個(gè)文件信息
評論
共有 條評論