資源簡介
1、解析rtpdump文件獲取rtp包。
2、將rtp包解為hevc/h265裸流并存為265文件。
資源是一個完整的vs2012工程。
對應的CSDN博文http://blog.csdn.net/andyshengjl/article/details/79330610

代碼片段和文件信息
#include?
#include?
#include?“h265frame.h“
#include?“RtpDump.h“
#include?“rtpframe.h“
using?namespace?std;
#pragma?comment(lib?“shlwapi.lib“)
int?main(int?argc?char*?argv[])
{
H265frame?*pHevcframe?=?NULL;
RD_buffer_t?rdBuff;
char?szInFileName[256]?=?““;
char?szOutFileName[256]?=?““;
FILE?*pInFile?=?NULL;
FILE?*pOutFile?=?NULL;
if(argc<2){
cout?<“RD2Hevc?rtpdumpfile“?< return?-1;
}
strcpy(szInFileNameargv[1]);
if(strcmp(PathFindExtension(szInFileName)“.rtpdump“)!=0){
cout?<“input?file?error:[filename].rtpdump“?< return?-1;
}
strcpy(szOutFileNameszInFileName);
strcpy(szOutFileName+strlen(szOutFileName)-7“h265“);
pInFile?=?fopen(szInFileName?“rb+“);
if?(pInFile?==?NULL){
cout?<“open?input?file?error:“?< return?-1;
}
pOutFile?=?fopen(szOutFileName“wb“);
if(pOutFile?==?NULL){
fclose(pInFile);
cout?<“open?output?file?error:“?< return?-1;
}
if(RD_header(pInFileNULL1)<0){
fclose(pInFile);
fclose(pOutFile);
cout?<“rtpdump?file?error“?< return?-1;
}
unsigned?long?ulBeginTS?=?0;
unsigned?long?ulEndTS?=?0;
u_char?*pPayload?=?NULL;
int?iGoodframe?=?-1;
pHevcframe?=?new?H265frame();
while(RD_read(pInFile&rdBuff)>0){
RTPframe?hevcRtp((const?unsigned?char?*)rdBuff.p.datardBuff.p.hdr.length);
pPayload?=?hevcRtp.GetPayloadPtr();
cout?<“HEVC?SQN:“?< iGoodframe?=??pHevcframe->handleHevcframe(hevcRtp.GetSequenceNumber()hevcRtp.GetTimestamp()hevcRtp.GetPayloadPtr()hevcRtp.GetPayloadSize());
if(iGoodframe<0){
break;
}
if(iGoodframe?==?0){
continue;
}
if(ulBeginTS?==?0){
ulBeginTS?=?hevcRtp.GetTimestamp();
}
ulEndTS?=?hevcRtp.GetTimestamp();
fwrite(pHevcframe->m_buf1pHevcframe->m_buflenpOutFile);
}
cout?<“durations:?“?<(ulEndTS-ulBeginTS)/90000?<“s\n“;
delete?pHevcframe;
fclose(pInFile);
fclose(pOutFile);
return?0;
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????76800??2018-02-16?21:59??RD2Hevc\Debug\RD2Hevc.exe
?????文件???????7179??2018-02-14?22:33??RD2Hevc\h265fr
?????文件???????2946??2018-02-16?18:17??RD2Hevc\h265fr
?????文件???????2225??2018-02-16?18:10??RD2Hevc\RD2Hevc.cpp
?????文件????????880??2018-02-14?22:25??RD2Hevc\RD2Hevc.sln
????..A..H.?????31744??2018-02-16?21:59??RD2Hevc\RD2Hevc.v11.suo
?????文件???????4340??2018-02-14?22:50??RD2Hevc\RD2Hevc.vcxproj
?????文件???????1430??2018-02-14?22:45??RD2Hevc\RD2Hevc.vcxproj.filters
?????文件????????383??2018-02-14?23:38??RD2Hevc\RD2Hevc.vcxproj.user
?????文件???????3412??2018-02-14?23:42??RD2Hevc\RtpDump.cpp
?????文件???????3171??2018-02-14?22:48??RD2Hevc\RtpDump.h
?????文件???????2312??2018-02-14?19:38??RD2Hevc\rtpfr
?????目錄??????????0??2018-02-16?22:00??RD2Hevc\Debug
?????目錄??????????0??2018-02-16?21:59??RD2Hevc
-----------?---------??----------?-----??----
???????????????136822????????????????????14
評論
共有 條評論