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

  • 大小: 2.37MB
    文件類型: .rar
    金幣: 1
    下載: 0 次
    發(fā)布日期: 2023-10-13
  • 語言: 其他
  • 標簽: rtsp??rtp??h264??流媒體??

資源簡介

rtsp 流媒體服務(wù)器代碼,實現(xiàn)了rtsp輸出H264編碼的視頻流。VC可以編譯,代碼比較簡單,做RTSP服務(wù)器功能的可以參考使用。

資源截圖

代碼片段和文件信息

#include?“stdafx.h“
#include?“Rtp.h“

Rtp::Rtp(UINT?mtu)?:Udp(mtu)
{
m_SequenceNumber?=?0;
}

Rtp::~Rtp()
{
}

int?Rtp::Read(BYTE*?pBuffer?UINT16?bufferSize?INT8*?pPayloadType?UINT16*?pSequenceNumber?INT32*?pTimeStamp?INT32*?pSsrc?UINT?nTimeOut)
{
int?iRead;

UINT8?payloadType;
UINT16?sequenceNumber;
INT32?timeStamp;
INT32?ssrc;

m_RtpPacket.ExtendBuffer(bufferSize+RTP_HEADER_SIZE);
m_RtpPacket.ClearData();

iRead?=?Udp::Read(m_RtpPacket.m_pBuffer?m_RtpPacket.m_nBufferSize?nTimeOut);
if?(iRead? return?-1;

if?(!ParseRtpHeader(m_RtpPacket.m_pBuffer?&payloadType?&sequenceNumber?&timeStamp?&ssrc))
return?-1;

m_RtpPacket.m_nDataSize?=?iRead;

memcpy(pBuffer?m_RtpPacket.m_pBuffer?+?RTP_HEADER_SIZE?iRead?-?RTP_HEADER_SIZE);

if?(pPayloadType)
*pPayloadType?=?payloadType;
if?(pSequenceNumber)
*pSequenceNumber?=?sequenceNumber;
if?(pTimeStamp)
*pTimeStamp?=?timeStamp;
if?(pSsrc)
*pSsrc?=?ssrc;

return?iRead?-?RTP_HEADER_SIZE;
}

int?Rtp::Write(PBYTE?pBuffer?UINT16?bufferSize?INT8?payloadType?INT32?timeStamp?INT32?ssrc?BOOL?marker?UINT?nTimeOut)
{
int?iWrite;

CreateRtpPacket(pBuffer?bufferSize?payloadType?timeStamp?ssrc?marker);

iWrite?=?Udp::Write(m_RtpPacket.m_pBuffer?m_RtpPacket.m_nDataSize?nTimeOut);
if?(iWrite? return?-1;

return?iWrite?-?RTP_HEADER_SIZE;
}

void?Rtp::CreateRtpPacket(PBYTE?pData?UINT16?dataSize?UINT8?nPayloadType?INT32?timeStamp?INT32?nSSRC?BOOL?marker)
{
m_RtpPacket.ExtendBuffer(RTP_HEADER_SIZE?+?dataSize);
m_RtpPacket.ClearData();

m_RtpPacket.m_pBuffer[0]?=?0x80;
m_RtpPacket.m_pBuffer[1]?=?(marker?0x80:0x00)|nPayloadType;

m_RtpPacket.m_pBuffer[2]?=?(?m_SequenceNumber?>>?8?)&0xff;
m_RtpPacket.m_pBuffer[3]?=?m_SequenceNumber&0xff;

m_RtpPacket.m_pBuffer[4]?=?(BYTE)(?timeStamp?>>?24?)&0xff;
m_RtpPacket.m_pBuffer[5]?=?(BYTE)(?timeStamp?>>?16?)&0xff;
m_RtpPacket.m_pBuffer[6]?=?(BYTE)(?timeStamp?>>??8?)&0xff;
m_RtpPacket.m_pBuffer[7]?=?(BYTE)timeStamp&0xff;

m_RtpPacket.m_pBuffer[?8]?=?(?nSSRC?>>?24?)&0xff;
m_RtpPacket.m_pBuffer[?9]?=?(?nSSRC?>>?16?)&0xff;
m_RtpPacket.m_pBuffer[10]?=?(?nSSRC?>>??8?)&0xff;
m_RtpPacket.m_pBuffer[11]?=?nSSRC&0xff;

m_SequenceNumber++;

m_RtpPacket.m_nDataSize?=?RTP_HEADER_SIZE;

m_RtpPacket.AppendData(pData?dataSize);
}

BOOL?Rtp::ParseRtpHeader(PBYTE?pRtpHeader?UINT8*?pPayloadType?UINT16*?pSequenceNumber?INT32*?pTimeStamp?INT32*?pSsrc)
{
if?(pRtpHeader[0]?!=?0x80)
return?FALSE;

*pPayloadType =?pRtpHeader[1];?
*pSequenceNumber?=?((WORD)pRtpHeader[2])?< *pTimeStamp?=?(INT32)pRtpHeader[4]?< *pSsrc?=?(INT32)pRtpHeader[8]?<
return?TRUE;
}

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

?????文件?????798916??2010-06-12?16:51??Rtsp\Bin\oh?yeah.aac

?????文件????1523956??2010-06-12?16:35??Rtsp\Bin\oh?yeah.h264

?????文件??????71168??2010-06-23?22:24??Rtsp\Bin\RtspClientD.exe

?????文件?????224768??2010-06-23?23:03??Rtsp\Bin\RtspServiceD.exe

?????文件???????3831??2010-06-23?22:59??Rtsp\Include\cmd.h

?????文件???????2784??2010-06-12?14:00??Rtsp\Include\string_t.h

?????文件????????736??2009-04-09?16:20??Rtsp\Include\TLock.h

?????文件???????8607??2010-06-17?17:24??Rtsp\Include\VBuffer.h

?????文件???????2249??2008-05-26?12:20??Rtsp\Include\VBufferT.h

?????文件???????2925??2008-07-29?17:48??Rtsp\Network\Rtp.cpp

?????文件????????902??2008-07-29?17:48??Rtsp\Network\Rtp.h

?????文件???????3803??2008-11-12?12:20??Rtsp\Network\Socket.cpp

?????文件???????1174??2010-06-12?14:32??Rtsp\Network\Socket.h

?????文件???????3264??2008-06-20?18:28??Rtsp\Network\Tcp.cpp

?????文件???????1497??2008-04-11?12:05??Rtsp\Network\Tcp.h

?????文件???????4148??2008-07-29?17:48??Rtsp\Network\Udp.cpp

?????文件????????594??2008-07-29?17:48??Rtsp\Network\Udp.h

?????文件???????4508??2008-03-24?10:06??Rtsp\Rtsp\baseEncoder.h

?????文件???????2111??2010-06-12?13:42??Rtsp\Rtsp\Bitstream.cpp

?????文件???????1705??2008-03-13?18:03??Rtsp\Rtsp\Bitstream.h

?????文件???????4345??2010-05-05?12:12??Rtsp\Rtsp\MediaSession.cpp

?????文件???????1168??2010-05-05?11:58??Rtsp\Rtsp\MediaSession.h

?????文件???????2421??2008-08-12?14:13??Rtsp\Rtsp\MediaStream.cpp

?????文件???????1417??2008-08-12?12:21??Rtsp\Rtsp\MediaStream.h

?????文件???????2983??2010-05-05?12:02??Rtsp\Rtsp\MediaStreamAMR.cpp

?????文件????????600??2010-05-05?12:01??Rtsp\Rtsp\MediaStreamAMR.h

?????文件???????3553??2010-05-05?12:01??Rtsp\Rtsp\MediaStreamH263.cpp

?????文件????????576??2010-05-05?12:01??Rtsp\Rtsp\MediaStreamH263.h

?????文件???????5156??2010-05-05?12:00??Rtsp\Rtsp\MediaStreamH264.cpp

?????文件????????769??2010-05-05?12:00??Rtsp\Rtsp\MediaStreamH264.h

............此處省略57個文件信息

評論

共有 條評論