live555+VS2013编译

1.下载

官网
live555 2018.4.25版本

2.修改win32config文件

删除或注释此行

!include    <ntwin32.mak>

修改TOOLS32,指向你的VC安装目录

TOOLS32 =       C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC

修改LINK这行

LINK =          link /OUT:

修改LINK_OPTS_0这行

LINK_OPTS_0 =       $(linkdebug) Ws2_32.lib

修改rc32这行,到你WDK的rc.exe所在

rc32 = "C:\Program Files (x86)\Windows Kits\8.1\bin\x86\rc"

默认编译结果是MT的,如果希望以MD形式编译,需要在COMPILE_OPTS 后追加 /MD

COMPILE_OPTS =      $(INCLUDES) $(cdebug) $(cflags) $(cvarsdll) -I. -I"$(TOOLS32)\include" /MD

3.以“VS2013 x86 本机工具命令提示”形式开启命令行

genWindowsMakefiles.cmd
cd liveMedia
nmake /B -f liveMedia.mak
cd ../groupsock
nmake /B -f groupsock.mak
cd ../UsageEnvironment
nmake /B -f UsageEnvironment.mak
cd ../BasicUsageEnvironment
nmake /B -f BasicUsageEnvironment.mak
cd ../testProgs
nmake /B -f testProgs.mak
cd ../mediaServer
nmake /B -f mediaServer.mak

4.关于live555 RTSPClient的注意点

相关DEMO官方的例子应该很不错了。
试用了RTSP over TCP的形式,发现在MediaSink 的回调中,不是按RTP包回调,而是按NAL回调,即RTP Sequence是不连续的;
测试环境的编码模式是SingleNAL,以I帧为例,得到回调三次,分别是SPS PPS 主NAL。
即每次回调后,在头上追加H264 NAL头 00 00 00 01,再根据Marker位进行分帧即可。

    static const char nalHead[4] = { 0x00,0x00,0x00,0x01 };
    memcpy(m_pFrameBuffer + m_nFrameAlign, nalHead, 4);
    m_nFrameAlign += 4;
    memcpy(m_pFrameBuffer + m_nFrameAlign, m_pRecvBuffer, nalSize);
    m_nFrameAlign += nalSize;

    if(rtpSource->curPacketMarkerBit())
    {
        m_pParser->AddStream(m_pFrameBuffer, m_nFrameAlign);
        m_pFrameBuffer = new char[4096 * 1024];
        m_nFrameAlign = 0;
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值