91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 168KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2021-06-07
  • 語言: 其他
  • 標簽: TS??demux??ES??PES??mux??

資源簡介

TS demux到ES流,然后ES到PES再到TS進行打包,童叟無欺。

資源截圖

代碼片段和文件信息

#include?

unsigned?char?Mbuf[10*188?*?1024];


//分離TS?
int?Tsdumx(char?*srcfilechar?*tsfileunsigned?short?pid)
{
unsigned?char?*p;
int?Tssize=0;
FILE?*fpd*fp;
unsigned?short?Pid;

fp?=?fopen(srcfile“rb“);
fpd?=?fopen(tsfile“wb“);
// if(fp==NULL?)printf(“*********************“);
// if(fpd?==?NULL)printf(“*********************“);
if(fp==NULL?||?fpd?==?NULL)
{return?-1;}

????do{
Tssize?=?fread(Mbuf?1?sizeof(Mbuf)?fp);
p?=?Mbuf;

while(?p?+?188?<=?Mbuf?+?Tssize?)//尋找TS包的起始點
{
if(?p?+?376? {
if(?*p?==?0x47?&&?*(p+188)?==?0x47?&&?*(p+376)?==?0x47?)
break;
}
else?if(?p?+?188? {
if(?*p?==?0x47?&&?*(p+188)?==?0x47?)
break;
}
else?if(?*p?==?0x47?)//ts為一個包長
break;
????p++;
}
while(?p? {
Pid?=?((p[1]?&?0x1f)<<8)?|?p[2];
if(?Pid?==?pid)
fwrite(p1188fpd);
p?+=?188;
}
}while(!?feof(?fp?));

fclose(fp?);
fclose(fpd?);
printf(“TS包已經分離完!\n“);
return?0;
}



//提取PES?
int?Ts2Pes(char?*tsfilechar?*pesfileunsigned?short?pid)
{
FILE?*fpd*fp;
int?start?=?0;
int?sizenumtotal;
int?count?=?0;
unsigned?char?*p*payload;
unsigned?short?Pid;
unsigned?char?Lcounter?=?0xff;
unsigned?char?Adapcontrol;
unsigned?char?counter;?//計數(shù)器

fp?=?fopen(?tsfile?“rb“);
fpd?=?fopen(?pesfile?“wb“);
if(fp?==?NULL?||?fpd?==?NULL?)
return?-1;
//初始化設置值大小
total?=?0;?
num?=?0;
size?=?0;

while(?!?feof(?fp?))
{
size?=?fread(Mbuf?1sizeof(Mbuf)?fp);
p?=?Mbuf;

do{
Pid?=?(((p[1]?&?0x1f)<<8)?|?p[2]);?//獲取pid
Adapcontrol?=?(p[3]>>4)&0x3?;??//判斷自適應區(qū)是否有可調整字段
counter?=?p[3]&0xf?;?//提取連續(xù)計數(shù)器
if(?Pid?==?pid)
{
payload?=?NULL;
switch(Adapcontrol)
{
case?0:?//保留?
case?2:
break;??//2為只有調整無負載
case?1:
payload?=?p?+?4;??//無調整字段
break;
case?3:
payload?=?p?+?5?+?p[4];??//調整字段后是凈荷
break;
}

if((p[1]?&?0x40)!=?0?)//取出有效荷載單元起始指示符,確定TSpes數(shù)據(jù)開始
{
start?=?1;
}

if(start?&&?payload?&&?fpd)//往fpd寫pes包數(shù)據(jù)
{
fwrite(payload?1p+188-payload?fpd);
}

if(?Lcounter?!=?0xff?&&?((Lcounter?+?1)&0xf)?!=?counter)//判斷數(shù)據(jù)是否丟失
{
??///////////// printf(“%ddata?lost\n“count);
count++;
}
Lcounter?=?counter?;?
}
p?+=?188;
total?+=?188;
}while(p }
fclose(?fp?);
fclose(?fpd?);
printf(?“PES包分離完!\n“?);
return?0;
}



//提取ES
int?pes2es(?char?*pesfile?char?*esfile?)
{
FILE?*fpd?*fp;
unsigned?char?*p?*payload?*tmp;
int?size?num?rdsize;
unsigned?int?last?=?0;
__int64?total?=?0?wrsize?=?0;
unsigned?int?Lenght;
unsigned?char?PES_extension_flag;
unsigned?char?PES_header_data_Lenghtgth;
????unsigned?char?PTS_DTS_flags;
int?k=0;

fp?=?fopen(?pesfile?“rb“?);??
fpd?=?fopen(?esfile?“wb“?);

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件??????41984??2011-03-24?19:05??iframe\Debug\IFram.bsc

?????文件?????176212??2011-03-25?08:48??iframe\Debug\IFram.exe

?????文件?????180392??2011-03-25?08:48??iframe\Debug\IFram.ilk

?????文件??????20998??2011-03-25?08:48??iframe\Debug\IFram.obj

?????文件?????175484??2011-03-24?19:19??iframe\Debug\IFram.pch

?????文件?????353280??2011-03-25?08:48??iframe\Debug\IFram.pdb

?????文件??????????0??2011-03-24?19:05??iframe\Debug\IFram.sbr

?????文件??????33792??2011-03-25?08:48??iframe\Debug\vc60.idb

?????文件??????53248??2011-03-25?08:48??iframe\Debug\vc60.pdb

?????文件??????14246??2011-03-25?08:46??iframe\IFram.c

?????文件???????3387??2011-03-24?19:23??iframe\IFram.dsp

?????文件????????535??2011-03-24?21:13??iframe\IFram.dsw

?????文件??????41984??2011-03-25?08:58??iframe\IFram.ncb

?????文件??????53760??2011-03-25?08:58??iframe\IFram.opt

?????文件???????1541??2011-03-25?08:48??iframe\IFram.plg

?????目錄??????????0??2011-03-25?08:48??iframe\Debug

?????目錄??????????0??2011-03-25?09:02??iframe

-----------?---------??----------?-----??----

??????????????1150843????????????????????17


評論

共有 條評論