一个小工具,将TS流文件发送到以太网络上。
支持使用UDP或者RTP协议。
根据TS流的PCR值跟踪时间同步发送。
我用的GetTickCount进行发送时间同步,线程按照10毫秒进行轮回,按照Win32系统普通线程切换时间,应该可以保证到10毫秒左右的同步精度。
demo中根据以太网通常的MTU值直接按7个TS包进行封装:
SetGetTsPacketDataCB(GetTsPacketData, NULL, TS_PACKET_SIZE_MIN*7);
如果是其他网络类型,需要根据网络的MTU值调整TS包数量。
最新更新:
2010-02-02
SourceTsFile.cpp 第156行
if ( (pcr - current_pcr) / PCR_BASS > 100 || (pcr - current_pcr) < 0)
改为
if ( (pcr - current_pcr) / PCR_BASS > 200 || (pcr - current_pcr) < 0)
修改说明:这里PCR重置时间可能设置过短,会导致发送某些PCR波动过大的TS流时频繁重置时间,可以延长到200毫秒左右。
感谢 不屈的灵魂 提出此问题。
2009-12-29
更新内容:修正组播绑定IP问题
源码下载地址: http://download.youkuaiyun.com/source/1945176