截获视频网站 ts流 视频 网络嗅探 IPTV OTT 数据流 音视频数据 码流 ts 流

       忽然想把最近的技术总结一下。做ts流 IP数据流也有5年之久了。接触了大大小小的项目。例如网络嗅探 通过sniffer 获取IP包。ts 码流分析等。今天把二者结合起来可以应用到手机终端。或者工程仪表的ts数据保存。下面就把技术总结一下。

      网络嗅探 原理就是通过创建裸体套接字可以把当前网络环境下所有的 。在Android系统下创建raw socket 需要root权限(关于如何获得root权限 并且可以授予可执行二进制文件root权限 我会再后面博客总结)
       socket(PF_PACKET, SOCK_RAW, htons(ETH_P_ALL)); 这样就建立了raw socket。就可以获取当前网络下所有的IP包。
   剩下的难题就是筛选ts流啦。众所周知 ts流开始的同步字节为0x47 可以根据连续的0x47来摘选ts数据。
   在udp的传输下比较简单。因为udp的传输不会有重复包乱序包的现象。可以直接把udp 的data 内容保存下来即可。
   同样 rtp协议只需要把RTP头去掉 就是纯ts数据。
   但是tcp的传输就会麻烦。因为我们采用的是网络嗅探的方式。所以我们会把重复包和乱序包都捕获下来。这时我们就需要根据tcp序列号对TCP数据进行重排序。并去除重复包。
   采用Android APP 与C++单独程序进行通信。可以控制底层捕获c++ 程序。捕获ts数据。
   更多  截获 获取视频网站 ts流 视频 网络嗅探 IPTV OTT 数据流 音视频数据 码流 ts 流 技术讨论。欢迎留言讨论。C++程序可以跨平台。放到android系统 或Linux系统都可以。
   android 显示端控制代码截图如下
 

猜你喜欢

转载自www.cnblogs.com/homeofblacktec/p/9053127.html