資源簡介
H264_AAC_TS_MUX_本地文件_1

代碼片段和文件信息
#include?“Audio.h“
unsigned?int?decode_audio_done?=?0;
int?Detach_Head_Aac(ADTS_HEADER?*?adtsheaderunsigned?char?*Adts_Headr_Buf)
{
unsigned?int?readsize?=?0;
readsize?=?ReadFile(pAudio_Aac_File?Adts_Headr_BufADTS_HEADER_LENGTH);
if?(readsize?0)
{
printf(“ReadFile?:?pAudio_Aac_File?ERROR\n“);
return?getchar();
}
if?(readsize?==?0)
{
return?readsize;
}
if?((Adts_Headr_Buf[0]?==?0xFF)&&((Adts_Headr_Buf[1]?&?0xF0)?==?0xF0))????//syncword?12個1
{
adtsheader->syncword?=?(Adts_Headr_Buf[0]?<4?)??|?(Adts_Headr_Buf[1]??>>?4);
adtsheader->id?=?((unsigned?int)?Adts_Headr_Buf[1]?&?0x08)?>>?3;
adtsheader->layer?=?((unsigned?int)?Adts_Headr_Buf[1]?&?0x06)?>>?1;
adtsheader->protection_absent?=?(unsigned?int)?Adts_Headr_Buf[1]?&?0x01;
adtsheader->profile?=?((unsigned?int)?Adts_Headr_Buf[2]?&?0xc0)?>>?6;
adtsheader->sf_index?=?((unsigned?int)?Adts_Headr_Buf[2]?&?0x3c)?>>?2;
adtsheader->private_bit?=?((unsigned?int)?Adts_Headr_Buf[2]?&?0x02)?>>?1;
adtsheader->channel_configuration?=?((((unsigned?int)?Adts_Headr_Buf[2]?&?0x01)?<2)?|?(((unsigned?int)?Adts_Headr_Buf[3]?&?0xc0)?>>?6));
adtsheader->original?=?((unsigned?int)?Adts_Headr_Buf[3]?&?0x20)?>>?5;
adtsheader->home?=?((unsigned?int)?Adts_Headr_Buf[3]?&?0x10)?>>?4;
adtsheader->copyright_identification_bit?=?((unsigned?int)?Adts_Headr_Buf[3]?&?0x08)?>>?3;
adtsheader->copyright_identification_start?=?(unsigned?int)?Adts_Headr_Buf[3]?&?0x04?>>?2;
adtsheader->aac_frame_length?=?(((((unsigned?int)?Adts_Headr_Buf[3])?&?0x03)?<11)?|?(((unsigned?int)?Adts_Headr_Buf[4]?&?0xFF)?<3)|?((unsigned?int)?Adts_Headr_Buf[5]?&?0xE0)?>>?5)?;
adtsheader->adts_buffer_fullness?=?(((unsigned?int)?Adts_Headr_Buf[5]?&?0x1f)?<6?|?((unsigned?int)?Adts_Headr_Buf[6]?&?0xfc)?>>?2);
adtsheader->no_raw_data_blocks_in_frame?=?((unsigned?int)?Adts_Headr_Buf[6]?&?0x03);
}
else?
{
printf(“ADTS_HEADER?:?BUF?ERROR\n“);
getchar();
}
return?readsize;
}
int?Read_One_Aac_frame(unsigned?char?*?buf)
{
ADTS_HEADER??adts_header?;
unsigned?int?readsize?=?0;
//讀取ADTS頭
if?(!Detach_Head_Aac(&adts_headerbuf))
{
decode_audio_done?=?1;
return?0;
}
//將data填入bufz中
readsize?=?ReadFile(pAudio_Aac_File?buf?+?ADTS_HEADER_LENGTH?adts_header.aac_frame_length?-?ADTS_HEADER_LENGTH);
if?(readsize?!=?adts_header.aac_frame_length?-?ADTS_HEADER_LENGTH)
{
printf(“READ?ADTS_DATA?:?BUF?LENGTH?ERROR\n“);
return?-1;
}
return?adts_header.aac_frame_length;
}
int?AAC2PES(TsPes?*?tsaacpesunsigned?long?Adudiopts)
{
unsigned?int?aacpes_pos?=?0;
unsigned?int?OneframeLen_AAC?=?0;
//讀取出一幀數據
OneframeLen_AAC?=?Read_One_Aac_frame(tsaacpes->Es);
aacpes_pos?+=?OneframeLen_AAC?;
tsaacpes->packet_start_code_prefix?=?0x000001;
tsaacpes->stream_id?=?TS_AAC_STREAM_ID;????????????????????????????????//E0~EF表示是視頻的C0~DF是音頻H264--?E0
tsaacpes->PES_packet_length?=?0?;?//?OneframeLen_AAC?+?8?;?????????????//一幀數據的長度?不包含?PES包頭
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????635223??2013-06-17?09:54??H264_AAC_TS_MUX_本地文件_1\MPEG2_TS_H264_AAC_Mux\AAC_STREAM\22.aac
?????文件??????66560??2013-06-18?18:06??H264_AAC_TS_MUX_本地文件_1\MPEG2_TS_H264_AAC_Mux\Debug\MPEG2_TS_H264_AAC_Mux.exe
?????文件?????366964??2013-06-18?18:06??H264_AAC_TS_MUX_本地文件_1\MPEG2_TS_H264_AAC_Mux\Debug\MPEG2_TS_H264_AAC_Mux.ilk
?????文件?????478208??2013-06-18?18:06??H264_AAC_TS_MUX_本地文件_1\MPEG2_TS_H264_AAC_Mux\Debug\MPEG2_TS_H264_AAC_Mux.pdb
?????文件????7637390??2013-06-17?09:54??H264_AAC_TS_MUX_本地文件_1\MPEG2_TS_H264_AAC_Mux\H264_STREAM\22.264
?????文件???????5073??2013-06-18?17:33??H264_AAC_TS_MUX_本地文件_1\MPEG2_TS_H264_AAC_Mux\MPEG2_TS_H264_AAC_Mux\Audio.cpp
?????文件???????1883??2013-06-18?10:59??H264_AAC_TS_MUX_本地文件_1\MPEG2_TS_H264_AAC_Mux\MPEG2_TS_H264_AAC_Mux\Audio.h
?????文件???????3889??2013-06-17?13:57??H264_AAC_TS_MUX_本地文件_1\MPEG2_TS_H264_AAC_Mux\MPEG2_TS_H264_AAC_Mux\crc.h
?????文件??????12564??2013-06-18?18:06??H264_AAC_TS_MUX_本地文件_1\MPEG2_TS_H264_AAC_Mux\MPEG2_TS_H264_AAC_Mux\Debug\Audio.obj
?????文件??????16774??2013-06-18?18:06??H264_AAC_TS_MUX_本地文件_1\MPEG2_TS_H264_AAC_Mux\MPEG2_TS_H264_AAC_Mux\Debug\BuildLog.htm
?????文件???????9447??2013-06-18?18:06??H264_AAC_TS_MUX_本地文件_1\MPEG2_TS_H264_AAC_Mux\MPEG2_TS_H264_AAC_Mux\Debug\FileIo.obj
?????文件??????10386??2013-06-18?18:06??H264_AAC_TS_MUX_本地文件_1\MPEG2_TS_H264_AAC_Mux\MPEG2_TS_H264_AAC_Mux\Debug\Main.obj
?????文件????????663??2013-06-18?18:06??H264_AAC_TS_MUX_本地文件_1\MPEG2_TS_H264_AAC_Mux\MPEG2_TS_H264_AAC_Mux\Debug\MPEG2_TS_H264_AAC_Mux.exe.em
?????文件????????728??2013-06-18?18:06??H264_AAC_TS_MUX_本地文件_1\MPEG2_TS_H264_AAC_Mux\MPEG2_TS_H264_AAC_Mux\Debug\MPEG2_TS_H264_AAC_Mux.exe.em
?????文件????????621??2013-06-18?18:06??H264_AAC_TS_MUX_本地文件_1\MPEG2_TS_H264_AAC_Mux\MPEG2_TS_H264_AAC_Mux\Debug\MPEG2_TS_H264_AAC_Mux.exe.intermediate.manifest
?????文件?????????67??2013-06-18?18:06??H264_AAC_TS_MUX_本地文件_1\MPEG2_TS_H264_AAC_Mux\MPEG2_TS_H264_AAC_Mux\Debug\mt.dep
?????文件??????27360??2013-06-18?18:06??H264_AAC_TS_MUX_本地文件_1\MPEG2_TS_H264_AAC_Mux\MPEG2_TS_H264_AAC_Mux\Debug\Mux.obj
?????文件???????8912??2013-06-18?18:06??H264_AAC_TS_MUX_本地文件_1\MPEG2_TS_H264_AAC_Mux\MPEG2_TS_H264_AAC_Mux\Debug\Mybs.obj
?????文件???????4375??2013-06-18?18:06??H264_AAC_TS_MUX_本地文件_1\MPEG2_TS_H264_AAC_Mux\MPEG2_TS_H264_AAC_Mux\Debug\Mycrc_32.obj
?????文件??????15984??2013-06-18?18:06??H264_AAC_TS_MUX_本地文件_1\MPEG2_TS_H264_AAC_Mux\MPEG2_TS_H264_AAC_Mux\Debug\Ts.obj
?????文件?????109568??2013-06-18?18:06??H264_AAC_TS_MUX_本地文件_1\MPEG2_TS_H264_AAC_Mux\MPEG2_TS_H264_AAC_Mux\Debug\vc90.idb
?????文件??????69632??2013-06-18?18:06??H264_AAC_TS_MUX_本地文件_1\MPEG2_TS_H264_AAC_Mux\MPEG2_TS_H264_AAC_Mux\Debug\vc90.pdb
?????文件??????21864??2013-06-18?18:06??H264_AAC_TS_MUX_本地文件_1\MPEG2_TS_H264_AAC_Mux\MPEG2_TS_H264_AAC_Mux\Debug\Video.obj
?????文件????????812??2013-06-17?10:01??H264_AAC_TS_MUX_本地文件_1\MPEG2_TS_H264_AAC_Mux\MPEG2_TS_H264_AAC_Mux\FileIo.cpp
?????文件????????662??2013-06-17?14:18??H264_AAC_TS_MUX_本地文件_1\MPEG2_TS_H264_AAC_Mux\MPEG2_TS_H264_AAC_Mux\FileIo.h
?????文件????????142??2013-05-14?15:04??H264_AAC_TS_MUX_本地文件_1\MPEG2_TS_H264_AAC_Mux\MPEG2_TS_H264_AAC_Mux\Information.h
?????文件????????855??2013-06-18?11:14??H264_AAC_TS_MUX_本地文件_1\MPEG2_TS_H264_AAC_Mux\MPEG2_TS_H264_AAC_Mux\Main.cpp
?????文件???????4920??2013-06-17?14:11??H264_AAC_TS_MUX_本地文件_1\MPEG2_TS_H264_AAC_Mux\MPEG2_TS_H264_AAC_Mux\MPEG2_TS_H264_AAC_Mux.vcproj
?????文件???????1411??2013-06-18?18:07??H264_AAC_TS_MUX_本地文件_1\MPEG2_TS_H264_AAC_Mux\MPEG2_TS_H264_AAC_Mux\MPEG2_TS_H264_AAC_Mux.vcproj.chjj-PC.chjj.user
?????文件??????20760??2013-06-18?18:07??H264_AAC_TS_MUX_本地文件_1\MPEG2_TS_H264_AAC_Mux\MPEG2_TS_H264_AAC_Mux\Mux.cpp
............此處省略23個文件信息
評論
共有 條評論