Stream capture of UDP audio and video traffic from dump file
WCS can automatically capture and play stream from the specified file in Pcap format. The file must be formed with tcpdump or any other tool to collect IP packets. This feature is useful primarily for debugging in the development of applicationsю
File name must be set in audioPort-videoPort-name.pcap form, for example
pull_streams=pcap://31070-31072-test.pcap
where 31070 is audio packets port and 31072 is video packets port.
SDP file must be added to every pcap file. SDP file must be named similarly to pcap file
31070-31072-test.pcap.sdp
SDP file example:
v=0 o=Gateway-0.0.0.666 0 0 IN IP[local_ip_type] [local_ip] s=- c=IN IP[local_ip_type] [local_ip] t=0 0 m=audio 0 RTP/AVP 0 101 a=rtpmap:0 PCMU/8000 a=rtpmap:101 telephone-event/8000 a=sendrecv m=video 0 RTP/AVP 112 a=rtpmap:112 H264/90000 a=fmtp:112 profile-level-id=42e01f; packetization-mode=1 a=content:main a=rtcp-fb:* ccm fir a=rtcp-fb:* nack pli a=sendrecv
Dump file and SDP file must be placed to /usr/local/FlashphonerWebCallServer/media directory on server.
RTSP-interleaved stream capture from dump file
For debugging purpose, WCS includes the utility to capture RTSP stream from file obtained by tcpdump or any other IP packets dump collection tool. Then, the stream is published via RTSP, emulating IP camera. In its turn, WSC can capture RTSP stream from this "camera". The feature is useful when RTSP-source itself is not accessible, but there are dump files of stream from that source. The utility works with RTSP iterleaved session files only.
To launch utility the following parameters mus be set:
- a directory containing dump files on server
- a port to listen RTSP incoming connections
- a source port for the stream dumped
- a condition to handle dropped packets
Launch example:
java -Dcom.flashphoner.fms.AppHome=/usr/local/FlashphonerWebCallServer -cp /usr/local/FlashphonerWebCallServer/lib/tbs-flashphoner.jar:/usr/local/FlashphonerWebCallServer/lib/* com.flashphoner.tools.rtsp.RtspPcapServer /usr/local/FlashphonerWebCallServer/pcaps 3554 2554 true
Where
/usr/local/FlashphonerWebCallServer/pcaps - directory on server3554
- port on which IP camera will be emulated2554
- source port for dump file (real IP camera)true
- ignore packets dropped while collecting dump file.
If WCS is launched on this server, the second parameter port number should be out of ranges used by WCS. The stream that will be available on this port, will be named as the stream in the dump file.
The utility prints all information to stdout. Foe example, if there is one file log.pcap in /usr/local/FlashphonerWebCallServer/pcaps directory, the following will be prited to console:
04:35:20,721 INFO RtspPcapServer - Starting 04:35:22,244 INFO RtspPcapServer - Available sources: 04:35:22,245 INFO RtspPcapServer - Source{path=/usr/local/FlashphonerWebCallServer/pcaps/log.pcap, pcap=io.pkts.Pcap@5a39699c, stream=RTSPStream{config=8, data=22052, streamName='live1.sdp'}} 04:35:22,245 INFO RtspPcapServer - Starting PCAP RTSP server 04:35:22,407 INFO RtspPcapServer - Listening PCAP RTSP on address /0.0.0.0 port 554
In this case, stream can be captured from address
rtsp://hostname/live.sdp
where hostname is server name with utility running.
If the directory contains a number of dump files, the stream names should not be the same, only one of such streams will be captured.